Поделиться через


Использование управляемых свойств

Можно управлять, какие компоненты управляемых решений могут быть настроены с помощью управляемых свойств. По умолчанию все пользовательские компоненты решения являются настраиваемыми. Каждый компонент решения имеет свойство Можно настроить (IsCustomizable). Пока это свойство имеет значение true, можно указать больше свойств, специфичных для типа компонента решения. Если вы установите для свойства IsCustomizable.Value значение false, после того как решение будет установлено как управляемое решение, компонент решения не будет доступен для настройки.

Управляемые свойства гарантируют, что только решение от того же издателя сможет изменить компонент. Управляемые свойства будут влиять только на управляемые компоненты и не приведут к этому в средах разработки, где компонент все еще неуправляемый. Использование управляемого свойства IsCustomized предназначено для того, чтобы гарантировать, что никакой другой уровень решения от любого другого издателя, и никакие активные настройки компонента не могут быть выполнены после его установки в качестве управляемого решения.

В следующей таблице перечислены некоторые управляемые свойства для ряда доступных компонентов решения.

Компонент Отображаемое имя Свойство
Сущность Можно настраивать IsCustomizable.Value
Entity Можно изменять отображаемое имя IsRenameable.Value
Entity Может быть связанной сущностью в отношении CanBeRelatedEntityInRelationship.Value(Только чтение)
Entity Может быть основной сущностью в отношении CanBePrimaryEntityInRelationship.Value(Только чтение)
Entity Может состоять в отношениях "многие-ко-многим" CanBeInManyToMany.Value(Только чтение)
Entity Можно создавать новые формы CanCreateForms.Value
Entity Можно создавать новые диаграммы CanCreateCharts.Value
Entity Можно создавать новые представления CanCreateViews.Value
Entity Может изменять любые другие свойства сущности, не представленные управляемым свойством CanModifyAdditionalSettings.Value
Объект Может создать атрибуты CanCreateAttributes.Value
Поле (атрибут) Можно настраивать IsCustomizable.Value
Поле (атрибут) Можно изменять отображаемое имя IsRenameable.Value
Поле (атрибут) Можно изменять уровень обязательности RequiredLevel.CanBeChanged

Примечание:

RequiredLevelединственное управляемое свойство, использующее CanBeChangedсвойство.
Поле (атрибут) Может изменять любые другие свойства атрибута, не представленные управляемым свойством CanModifyAdditionalSettings.Value
Отношение сущностей Можно настраивать IsCustomizable.Value
Форма Можно настраивать SystemForm.IsCustomizable.Value
Диаграмма Можно настраивать SavedQueryVisualization.IsCustomizable.Value
Просмотреть Можно настраивать SavedQuery.IsCustomizable.Value
Набор параметров Можно настраивать IsCustomizable.Value
Веб-ресурс Можно настраивать WebResource.IsCustomizable.Value
Workflow Можно настраивать Workflow.IsCustomizable.Value
Workflow Допускается ли настраиваемый этап обработки для других издателей Workflow.IsCustomProcessingStepAllowedForOtherPublishers.Value
Сборка Можно настраивать SdkMessageProcessingStep.IsCustomizable.Value
Регистрация сборки Можно настраивать ServiceEndpoint.IsCustomizable.Value
Шаблон электронной почты Можно настраивать Template.IsCustomizable.Value
Шаблон статьи базы знаний Можно настраивать KbArticleTemplate.IsCustomizable.Value
Шаблон контракта Можно настраивать ContractTemplate.IsCustomizable.Value
Шаблон слияния Можно настраивать MailMergeTemplate.IsCustomizable.Value
Панель мониторинга Можно настраивать SystemForm.IsCustomizable.Value
Роли безопасности Можно настраивать Role.IsCustomizable.Value
Системная форма Можно удалять МожноУдалить.Value
Системный запрос Можно удалять МожноУдалить.Value

Рабочий процесс — "Допускается ли настраиваемый этап обработки для других издателей"

Это управляемое свойство определяет, будут ли выполняться шаги подключаемого модуля, зарегистрированные третьими сторонами для сообщений, созданных с помощью действий настраиваемых процессов. Значение по умолчанию — false, что означает, что зарегистрированные шаги подключаемого модуля, которые не используют того же издателя решения, не будут выполняться. Когда это равно true, издатель настраиваемого действия процесса разрешает выполнение шагов регистрации зарегистрированного подключаемого модуля.

Обновление управляемых свойств

После выпуска управляемого решения вы можете решить, что хотите изменить управляемые свойства. Вы можете изменить только управляемые свойства, чтобы сделать их менее строгими. Например, после вашего первоначального выпуска вы можете разрешить настройку сущности.

Вы обновляете управляемые свойства решения, выпуская обновление решения с измененными управляемыми свойствами. Ваше управляемое решение может быть обновлено только другим управляемое решение, связанным с той же записью издателя, что и исходное управляемое решение. Если в ваше обновление включены изменения управляемых свойств, чтобы сделать их более строгими, эти изменения управляемых свойств будут игнорироваться, но будут применены другие изменения в обновлении.

Поскольку исходный издатель является обязательным требованием для обновления управляемых свойств для управляемого решения, любое неуправляемое решение не может быть связано с издателем, который использовался для установки управляемого решения.

Заметка

Это означает, что вы не сможете разработать обновление для своего решения, используя организацию, в которой установлено ваше управляемое решение.

Проверка управляемых свойств

Используйте IsComponentCustomizableRequest, чтобы проверить, является ли компонент решения настраиваемым. Кроме того, вы можете проверить свойства компонента решения, но вы должны учитывать, что окончательное определение значения зависит от значений нескольких свойств. Каждый компонент решения имеет свойство IsCustomizable. Когда компонент решения устанавливается как часть управляемого решения, свойство IsManaged будет иметь значение true. Управляемые свойства принудительно применяются только для управляемых решений. При проверке управляемых свойств, чтобы определить, можно ли настроить отдельный компонент решения, вы должны проверить оба свойства IsCustomizable и IsManaged. Компонент решения, где IsCustomizable имеет значение false и IsManaged имеет значение false, можно настраивать.

Сущность и атрибут имеют больше управляемых свойств в дополнение к IsCustomizable. Эти управляемые свойства не обновляются, если для свойства IsCustomizable установлено значение false. Это означает, что помимо проверки отдельного управляемого свойства необходимо также проверить свойство IsCustomizable, чтобы увидеть, применяется ли управляемое свойство.

См. также

Управляемые объекты недвижимости