Унаследованные правила
Правила вложенных атрибутов для родительского типа наследуются всеми подтипами. Значок наследования
отображается рядом с каждым узлом в дереве, содержащем унаследованные правила. Локальные правила - это правила вложенных атрибутов, создаваемые непосредственно в текущем типе. Можно править или удалять только правила, созданные локально в текущем типе; унаследованные правила можно править или удалять только в родительском типе, для которого они определены. Поскольку иерархия типов может быть многоуровневой, правила могут наследоваться из прямого родительского типа или из родительского типа, находящегося на много уровней выше подтипа в иерархии типов.
На следующем рисунке присутствуют унаследованное и локальное правила, в которых "Страна" является ведущим атрибутом для атрибута "Регион", а "Регион" является далее ведущим атрибутом для атрибута "Город".
Скрытие и показ унаследованных правил
Раскрывающийся список рядом с полем поиска Найти в дереве содержит значок для текущего состояния скрытых или отображенных унаследованных правил и действие для изменения этого состояния, которое можно выбрать в раскрывающемся списке.
• - отображается, если унаследованные правила показаны. Чтобы скрыть унаследованные правила, выберите в выпадающем списке действие
Скрыть унаследованные правила.
• - отображается, если унаследованные правила скрыты. Чтобы показать унаследованные правила, выберите в выпадающем списке действие
Показать унаследованные правила.
На следующем рисунке приведено то же самое дерево Вложенные атрибуты, в котором унаследованные правила скрыты. Отображаются только локальные правила.
Унаследованные правила, если они включены, продолжают действовать, даже если они скрыты.
Если унаследованные правила скрыты, использование поля поиска Найти в дереве или попытка включить унаследованные правила приведет к появлению системной подсказки с предложением очистить фильтр Скрыть унаследованные правила.
Отключение и включение унаследованных правил
| Выключите унаследованные правила, если в бизнес-требованиях указано, что любое правило вложенных атрибутов должно различать родительский тип и подтип любым из следующих способов: • различные поддерживающие глобальные перечисления, используемые в качестве ссылки в условии Если, И если или в операторе То; • различные доступные для выбора наборы значений для условия Если, И если или оператора То. После отключения унаследованных правил дерево правил вложенных атрибутов для подтипа с локально определенными правилами должно быть полностью перестроено. |
По умолчанию унаследованные правила всегда включены. Это означает, что правила, унаследованные из всех родительских типов, действуют в текущем типе, так же как и любые локально созданные правила вложенных атрибутов.
Унаследованные правила можно отключить, щелкнув значок отключения унаследованных правил
. При отключении унаследованных правил действующими остаются только правила вложенных атрибутов, локально созданные для текущего типа и любых подтипов текущего типа. Если унаследованные правила отключены в текущем типе, подтипы текущего типа наследуют правила только из текущего типа.
Унаследованные правила, которые были отключены, можно включить повторно, щелкнув значок включения унаследованных правил
. В подтипах типа, в котором отключены унаследованные правила, можно позже включить наследуемые правила явно; в этом случае подтипы наследуют правила из всех родительских типов, включая тип, в котором отключены унаследованные правила.
Если унаследованные правила включены, нельзя создавать или править правила вложенных атрибутов в подтипе таким способом, который может привести к возникновению
циклических зависимостей в этом подтипе. В родительских типах можно создавать и править правила, приводящие к возникновению циклических зависимостей в подтипах, которые наследуют эти правила.
Если включение унаследованных правил в подтипе приводит к возникновению циклических зависимостей при использовании локально созданных правил, на вкладке Вложенные атрибуты отображается предупреждение о циклических зависимостях. Подтип можно сохранить с этими действующими циклическими зависимостями. Аналогично, если правила, создаваемые или редактируемые в родительском типе, приводят к возникновению циклических зависимостей в подтипе, который наследует эти правила, в подтипе при следующем его просмотре будет отображено предупреждение. Сообщение будет оставаться на вкладке Вложенные атрибуты для подтипа, пока не будут устранены все циклические зависимости.
| После внесения изменений в правила для родительского типа всегда проверяйте правила на наличие подтипов с включенными унаследованными правилами, чтобы удостовериться, что эти правила будут отображаться ожидаемым образом. Измените правила для подтипов требуемым образом. |