Группы свойств и действий
Поведение свойств и действий с точки зрения работы с группами абсолютно одинаково, поэтому в дальнейшем в этом разделе будем использовать только термин свойство (для действий поведение абсолютно аналогично).
Все свойства в системе разбиваются на группы свойств. Все группы при этом образуют иерархию, в которой каждая группа может содержать в себе как свойства, так и другие группы свойств. Корневой группой в этой иерархии является группа System.root. Все остальные группы содержатся в некоторой родительской группе.
Каждое свойство или действие непосредственно принадлежит ровно одной группе, а также принадлежит всем предкам этой группы. Так, например, все свойства и действия в системе принадлежат группе System.root.
Встроенные группы свойств
Помимо root в модуле System автоматически создаются следующие группы свойств и действий:
rootpublicbaseid
private
Все эти группы (в том числе root) не используются в механизмах отображения форм (то есть контейнеры в дизайне форм по умолчанию и элементы иерархии иерархического импорта / экспорта для них не создаются).
Использование групп свойств
На данный момент группы свойств используются в следующих механизмах:
- При отображении форм:
- в интерактивном представлении - для каждой группы можно указать, что для нее в дизайне по умолчанию необходимо создавать отдельный контейнер. Соответственно, иерархия контейнеров в дизайне по умолчанию будет совпадать с иерархией таких групп свойств. То есть если для для группы свойств (свойства)
Aи группы свойствBнеобходимо создавать контейнер, а группа (свойство)Aявляется потомком группыB, то и контейнер группы (компонент свойства)Aбудет потомком контейнера группыB. - в иерархическом представлении - для каждой группы можно указать, что для нее при экспорте формы необходимо создавать отдельный промежуточный тег. Соответственно, иерархия тегов при экспорте будет совпадать с иерархией таких групп свойств. То есть, если для группы свойств (свойства)
Aи группы свойствBнеобходимо создавать тег, а группа (свойство)Aявляется потомком группыB, то и тег группы (свойства)Aбудет внутри тега группыB.
- в интерактивном представлении - для каждой группы можно указать, что для нее в дизайне по умолчанию необходимо создавать отдельный контейнер. Соответственно, иерархия контейнеров в дизайне по умолчанию будет совпадать с иерархией таких групп свойств. То есть если для для группы свойств (свойства)
- При автоматическом создании форм:
- Все свойства с одним аргументом, которые входят в группу
System.base, будут отображаться в автоматически создаваемых диалоговых формах выбора / редактирования объектов. - Все свойства с одним аргументом, которые входят в группу
System.id, будут отображаться в автоматически создаваемых формах показа сообщения при нарушении ограничений.
- Все свойства с одним аргументом, которые входят в группу
- В политике безопасности:
- Можно задавать политику безопасности целиком по группе (а не по каждому свойству в отдельности).
Язык
Для добавления новой группы свойств и действий в систему используется инструкция GROUP.
GROUP base : root; // Заголовком этой группы будет 'base'
GROUP local 'Локальные свойства'; // Родительской группой local будет являться System.private