Структура данных

Структура данных в Юниверс DG состоит из двух моделей: модели типов активов и модели справочников.

Модель типов активов

Файл dg-model.xml - содержит модель типов активов и состоит из следующих частей:

Скачать 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").

Часть “assetTypes”

Рисунок 1 – Часть “assetTypes”

Часть “relationTypes”

Активы могут соединяться между собой с помощью связей. Эти связи имеют определенные типы со следующими свойствами:

  • name - имя типа связи.

  • outwardDisplayName - исходящее описание. Параметр для просмотра однонаправленной связи со стороны записи (с какими другими записями она связана).

  • inwardDisplayName - входящее описание. Параметр для просмотра однонаправленной связи со стороны других записей, которые связаны с первоначальной записью. Для двунаправленной связи используются оба описания (Исходящее и Входящее).

  • direction - направление связи (одно/двунаправленная).

  • inner - признак "Вложенная связь".

Часть “relationTypes”

Рисунок 2 – Часть “relationTypes”

Часть “relations”

Часть “relations” содержит информацию об имеющихся связях между активами со следующими свойствами:

  • relationType - тип связи, который задается в секции “relationTypes” (см. выше).

  • fromAssetType - тип актива, от которого начинается связь (левый конец связи).

  • toAssetType - тип актива, к которому проложена связь (правый конец связи).

  • fromCardinality - нижняя граница параметра, ограничивающего количество создаваемых связей между активами (кардинальность).

  • toCardinality - верхняя граница параметра, ограничивающего количество создаваемых связей между активами (кардинальность).

  • required - признак "Обязательная связь".

Часть “relations”

Рисунок 3 – Часть “relations”

Часть “nesteds”

Модель типов активов также может содержать вложенные объекты, которые в свою очередь не могут существовать без типа актива.

Вложенный объект определяет структуру комплексного атрибута и может содержать перечень простых, массив или комплексных атрибутов.

В приведенном примере вложенный объект "Дополнительное описание" (системное имя "nestedobject1") имеет в своем составе 2 простых атрибута и 1 массив-атрибут.

Свойства вложенного объекта:

  • name - имя вложенного объекта (обязательное; может содержать латинские буквы, цифры, символ '_');

  • displayName - имя объекта, отображаемое в пользовательском интерфейсе (обязательное; может содержать буквы разных языков, цифры, различные символы, включая пробел).

  • description - описание объекта.

Свойства массив-атрибута вложенного объекта:

  • name - имя атрибута (обязательное; может содержать латинские буквы, цифры, символ '_').

  • displayName - имя атрибута, отображаемое в пользовательском интерфейсе (обязательное; может содержать буквы разных языков, цифры, различные символы, включая пробел).

  • order - порядок атрибутов в перечне атрибутов типа актива.

  • readOnly, hidden, nullable, searchable, displayable, unique, searchMorphologically, searchCaseInsensitive, base - параметры атрибута.

  • arrayValueType - свойство, устанавливающее тип значения массив-атрибута (в примере: Строковый тип значения - "String").

  • exchangeSeparator - параметр "Разделитель", позволяющий задать символ для разделения значений массив-атрибута при отображении в виде строки (в примере: символ "|").

Часть “nesteds”

Рисунок 4 – Часть “nesteds”

Часть “graphLayoutTemplate”

Часть “graphLayoutTemplate” содержит шаблоны для пользовательского отображения типов активов на графе связей.

Свойства шаблона:

  • name - имя шаблона.

  • displayName - имя шаблона, отображаемое в пользовательском интерфейсе.

  • maxRow - максимальное количество строк в шаблоне.

  • maxColumn - максимальное количество столбцов в шаблоне.

  • Секция layout:

    • row - номер строки, где располагается тип актива.

    • column - номер столбца, где располагается тип актива.

    • assetType - имя типа актива.

Часть “graphLayoutTemplate”

Рисунок 5 – Часть “graphLayoutTemplate”

Модель справочников

Файл lookups.xml - содержит модель справочников и состоит из следующих частей:

Скачать lookups.xml

Часть “entitiesGroup”

Модель может содержать множество справочников, поэтому для облегчения поиска в пользовательском интерфейсе можно использовать группы справочников.

Существует одна группа по умолчанию - "ROOT".

Свойства групп:

  • innerGroups - секция групп справочников.

  • name - системное имя группы.

  • displayName - имя группы, отображаемое в пользовательском интерфейсе (обязательное; может содержать буквы разных языков, цифры, различные символы, включая пробел).

Доступно создание глубокой иерархии групп справочников. Каждая внутренняя группа может содержать внутри себя множество внутренних групп.

Часть “entitiesGroup”

Рисунок 6 – Часть “entitiesGroup”

Часть “lookups”

Справочники схожи с типа активами и имеют такие же свойства.

Представленный пример части “lookups” содержит тип актива "Countries" (системное имя "country"), который имеет определенные свойства.

Свойства справочника:

  • name - имя справочника (обязательное; может содержать латинские буквы, цифры, символ '_');

  • displayName - имя справочника, отображаемое в пользовательском интерфейсе (обязательное; может содержать буквы разных языков, цифры, различные символы, включая пробел);

  • description - описание справочника.

Перечень атрибутов справочника может содержать множество простых атрибутов и один кодовый атрибут. Также справочник может иметь альтернативные кодовые атрибуты.

В приведенном примере справочник "Countries" имеет в своем составе 4 простых атрибута и 1 кодовый.

Свойства простого атрибута справочника совпадают со свойствами атрибута типа актива (см. выше)

Примечания:

  • Каждый справочник должен иметь кодовый атрибут. Этот атрибут по умолчанию простой, и в интерфейсе создается автоматически вместе со справочником.

  • Кодовый атрибут или один простой атрибут каждого справочника должен быть основным отображаемым (должен иметь следующие свойства: mainDisplayable="true", displayable="true", nullable="false").

Часть “lookups”

Рисунок 7 – Часть “lookups”