Программа позволяет настроить расширенный интерфейс справочников по сравнению со стандартным интерфейсом, поддерживающего иерархию только папок.
Настройки справочника определяют:
Можно задать объекты каких классов разрешено создавать в корне справочника. Например, в соответствии с настройками по умолчанию для в справочнике Оргединицы в корне можно создать объект любого подкласса (Рис. 1).
Также объекты каких классов разрешено создавать от объектов справочника. Например, справочнике Оргединицы от объекта класса Должность можно создать либо подразделение, либо должность (Рис. 2).
Правила формирования иерархии объектов задаются с помощью классов связей между объектами. Например, для Группы оргединиц в справочнике Орегдиницы по умолчанию заданы классы связей Композиция и Агрегация. Это позволяет увидеть состав Группы оргединиц непосредственно в Навигаторе (Рис. 3).
Настройки справочника можно задать только для хранимого класса. Для редактирования настроек необходима редакция Ultimate. Настройки справочника используются для отображения справочника в Навигаторе и в Окне справочника. Но в Навигаторе возможности шире: Навигатор позволяет отображать в иерархии объекты, хранящиеся в других справочниках. Настройки справочника справочника задаются в Окне свойств настроек справочника. Оно может быть вызвано двумя способами:
1. В Объектной модели в контекстном меню класса выбрать пункт Настройки справочника (Рис. 4).
2. Открыть Окно свойств объекта справочника Настройки справочников.
Окно настройки справочника содержит 3 вкладки:
Вкладка Классы объектов справочника предназначена для задания классов объектов, которые будут храниться в справочнике. Класс объектов "Папка" указывается, если в справочнике необходимо создавать папки.
Флажок Разрешён при создании объекта определяет, будет ли класс предлагаться для выбора при создании объекта (Рис. 5).
Пример 1. Справочник "Оргединицы"
Класс Оргединица в метамодели предметной области имеет разделение на подклассы: Подразделение, Должность, Роль и т.д. В этом случае в списке Классы объектов справочника указываются подклассы, а класс Оргединица - нет, так как создавать объекты класса Оргединица не требуется. Также указывается класс объектов "Папка" (Рис. 6).
Пример 2. Справочник "Проекты"
Класс Проекты не имеет подклассов. Предполагается, что все содержащиеся в справочнике "Проекты" объекты будут являться объектами этого класса. В таком случае в списке Классы объектов справочника необходимо указывать класс Проект. Также указывается класс объектов "Папка" (Рис. 7).
Пример 3. Справочник "Методы управления"
Данный справочник служит для группировки дочерних справочников и не предполагает создание объектов. Поэтому данная вкладка для не настраивается (Рис. 8).
Вкладка Дочерние справочники предназначена для задания дочерних справочники настраиваемого справочника (Рис. 9).
Данная вкладка, как правило, используется, если справочник служит только для группировки дочерних справочников в интерфейсе программы, и не хранит объекты. Объекты хранятся в его дочерних справочниках.
Пример
Заполнение списка Дочерние справочники для справочника Методы управления (Рис. 10).
Вкладка Классы связей иерархии предназначена для задания классов связей, образующих иерархию объектов в справочнике. Значения, указанные на данной вкладке, определяют:
Множество классов связей, которые можно увидеть в дерево, шире, чем множество классов связей, разрешенных при создании объекта. Также по связям могут быть показаны объекты других справочников. Это позволяет визуализировать связи объекта с помощью дерева в Навигаторе.
Объекты, которые не были созданы в узле дерева, а выведены для визуализации связей, имеют признак в углу иконки – изображение стрелочки (см. рис. 3 в главе Правила формирования иерархии объектов). Определить, хранится ли объект в узле дерева или выведен для визуализации связи, можно с помощью параметра связи Основная иерархия.
Список заполняется элементами Матрицы связей классов.
Список не заполняется, если в справочнике не требуется создавать объекты (список Классы объектов справочника пустой) или отображать связи с объектами других справочников. Пример: справочник Методы управления.
Пример 1
Для справочника Оргединицы указаны элементы Матрицы связей классов, с помощью которых строится иерархия объектов этого справочника. Так, например, в классе связей Специализация между ролями (направление "В-Из"), вышестоящим объектом в иерархии будет более абстрактная роль, дочерним – более специализированная. В классе связи Композиция между подразделениями (направление "Из-В") - вышестоящим объектом в иерархии будет более крупное подразделение, дочерним – входящее в него подразделение (Рис. 11).
Пример 2
Настройка справочника Композитные элементы позволяет отображать связи класса Агрегация с объектами справочника Бизнес-слой (Рис. 12).
Пример 3
В справочнике Оргединицы можно отобразить объекты справочника Деятельность. Это достигается включением справочника Деятельность в список Дочерние справочники настройки справочника Оргединицы (Рис. 13).
Перечисленные выше рекомендации не являются обязательными правилами. Допускается отступление от этих рекомендаций и комбинирование настроек списков для получения необходимого результата.