Структура данных¶
Структура данных в Юниверс DG состоит из двух моделей: модели типов активов и модели справочников.
Модель типов активов¶
Файл dg-model.xml - содержит модель типов активов и состоит из следующих частей:
Часть “assetTypes”¶
Представленный пример части “assetTypes” содержит тип актива "Проверка качества" (системное имя dq_check), который имеет определенные свойства.
Свойства типа актива:
name - имя типа актива (обязательное; может содержать латинские буквы, цифры, символ '_').
displayName - имя типа актива, отображаемое в пользовательском интерфейсе (обязательное; может содержать буквы разных языков, цифры, различные символы, включая пробел).
description - описание типа актива.
color - цвет, задающийся типу актива для отображения на графе связей.
Перечень атрибутов типа актива может содержать множество атрибутов трех типов: простой, массив-атрибут и комплексный.
В приведенном примере тип актива "Проверка качества" имеет в своем составе только один простой атрибут.
Свойства простого атрибута типа актива:
name - имя атрибута (обязательное; может содержать латинские буквы, цифры, символ '_').
displayName - имя атрибута, отображаемое в пользовательском интерфейсе (обязательное; может содержать буквы разных языков, цифры, различные символы, включая пробел).
order - порядок атрибутов в перечне атрибутов типа актива.
readOnly, hidden, nullable, searchable, displayable, unique, searchMorphologically, searchCaseInsensitive, base - параметры атрибута.
simpleDataType - свойство, устанавливающее тип данных простого атрибута (в примере: Строковый тип данных - "String").
enumDataType - свойство типа данных - перечисление. Все перечисления модели и их элементы прописываются в файле enumerations.xml.
linkDataType - свойство типа ссылки на данные.
Примечания:
Каждый тип актива должен иметь как минимум один простой атрибут.
Один простой атрибут каждого типа актива должен быть главным отображаемым (иметь следующие свойства: mainDisplayable="true", displayable="true", nullable="false", searchable="true").
Рисунок 1 – Часть “assetTypes”
Часть “relationTypes”¶
Активы могут соединяться между собой с помощью связей. Эти связи имеют определенные типы со следующими свойствами:
name - имя типа связи.
outwardDisplayName - исходящее описание. Параметр для просмотра однонаправленной связи со стороны записи (с какими другими записями она связана).
inwardDisplayName - входящее описание. Параметр для просмотра однонаправленной связи со стороны других записей, которые связаны с первоначальной записью. Для двунаправленной связи используются оба описания (Исходящее и Входящее).
direction - направление связи (одно/двунаправленная).
inner - признак "Вложенная связь".
Рисунок 2 – Часть “relationTypes”
Часть “relations”¶
Часть “relations” содержит информацию об имеющихся связях между активами со следующими свойствами:
relationType - тип связи, который задается в секции “relationTypes” (см. выше).
fromAssetType - тип актива, от которого начинается связь (левый конец связи).
toAssetType - тип актива, к которому проложена связь (правый конец связи).
fromCardinality - нижняя граница параметра, ограничивающего количество создаваемых связей между активами (кардинальность).
toCardinality - верхняя граница параметра, ограничивающего количество создаваемых связей между активами (кардинальность).
required - признак "Обязательная связь".
Рисунок 3 – Часть “relations”
Часть “nesteds”¶
Модель типов активов также может содержать вложенные объекты, которые в свою очередь не могут существовать без типа актива.
Вложенный объект определяет структуру комплексного атрибута и может содержать перечень простых, массив или комплексных атрибутов.
В приведенном примере вложенный объект "Дополнительное описание" (системное имя "nestedobject1") имеет в своем составе 2 простых атрибута и 1 массив-атрибут.
Свойства вложенного объекта:
name - имя вложенного объекта (обязательное; может содержать латинские буквы, цифры, символ '_');
displayName - имя объекта, отображаемое в пользовательском интерфейсе (обязательное; может содержать буквы разных языков, цифры, различные символы, включая пробел).
description - описание объекта.
Свойства массив-атрибута вложенного объекта:
name - имя атрибута (обязательное; может содержать латинские буквы, цифры, символ '_').
displayName - имя атрибута, отображаемое в пользовательском интерфейсе (обязательное; может содержать буквы разных языков, цифры, различные символы, включая пробел).
order - порядок атрибутов в перечне атрибутов типа актива.
readOnly, hidden, nullable, searchable, displayable, unique, searchMorphologically, searchCaseInsensitive, base - параметры атрибута.
arrayValueType - свойство, устанавливающее тип значения массив-атрибута (в примере: Строковый тип значения - "String").
exchangeSeparator - параметр "Разделитель", позволяющий задать символ для разделения значений массив-атрибута при отображении в виде строки (в примере: символ "|").
Рисунок 4 – Часть “nesteds”
Часть “graphLayoutTemplate”¶
Часть “graphLayoutTemplate” содержит шаблоны для пользовательского отображения типов активов на графе связей.
Свойства шаблона:
name - имя шаблона.
displayName - имя шаблона, отображаемое в пользовательском интерфейсе.
maxRow - максимальное количество строк в шаблоне.
maxColumn - максимальное количество столбцов в шаблоне.
Секция layout:
row - номер строки, где располагается тип актива.
column - номер столбца, где располагается тип актива.
assetType - имя типа актива.
Рисунок 5 – Часть “graphLayoutTemplate”
Модель справочников¶
Файл lookups.xml - содержит модель справочников и состоит из следующих частей:
Часть “entitiesGroup”¶
Модель может содержать множество справочников, поэтому для облегчения поиска в пользовательском интерфейсе можно использовать группы справочников.
Существует одна группа по умолчанию - "ROOT".
Свойства групп:
innerGroups - секция групп справочников.
name - системное имя группы.
displayName - имя группы, отображаемое в пользовательском интерфейсе (обязательное; может содержать буквы разных языков, цифры, различные символы, включая пробел).
Доступно создание глубокой иерархии групп справочников. Каждая внутренняя группа может содержать внутри себя множество внутренних групп.
Рисунок 6 – Часть “entitiesGroup”
Часть “lookups”¶
Справочники схожи с типа активами и имеют такие же свойства.
Представленный пример части “lookups” содержит тип актива "Countries" (системное имя "country"), который имеет определенные свойства.
Свойства справочника:
name - имя справочника (обязательное; может содержать латинские буквы, цифры, символ '_');
displayName - имя справочника, отображаемое в пользовательском интерфейсе (обязательное; может содержать буквы разных языков, цифры, различные символы, включая пробел);
description - описание справочника.
Перечень атрибутов справочника может содержать множество простых атрибутов и один кодовый атрибут. Также справочник может иметь альтернативные кодовые атрибуты.
В приведенном примере справочник "Countries" имеет в своем составе 4 простых атрибута и 1 кодовый.
Свойства простого атрибута справочника совпадают со свойствами атрибута типа актива (см. выше)
Примечания:
Каждый справочник должен иметь кодовый атрибут. Этот атрибут по умолчанию простой, и в интерфейсе создается автоматически вместе со справочником.
Кодовый атрибут или один простой атрибут каждого справочника должен быть основным отображаемым (должен иметь следующие свойства: mainDisplayable="true", displayable="true", nullable="false").
Рисунок 7 – Часть “lookups”