Структура данных¶
Структура данных в Юниверс 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”