Тип данных

Элемент представляет собой пользовательский тип данных с настроенным набором полей.

Рабочая область типа данных содержит вкладки Основные, Структура, Базовые модели, Объекты интерфейса, Портал.

../../_images/data_types_1.png

Вкладка Основные содержит следующие поля:

  • Название: название типа данных, обязательно для заполнения.

  • Имя: имя типа данных, необязательно для заполнения (заполняется автоматически из значения поля Название).

  • Комментарий: описание типа данных, необязательно для заполнения.

  • Параметр Сохраняемый тип данных. При включении параметра отображаются дополнительные вкладки Параметры объекта, Категории и Шаблоны наименований.

Вкладка Структура предназначена для работы с полями типа данных. Содержит панель функциональных кнопок и таблицу для отображения параметров полей:

../../_images/datatype_structure.png
  • Наименование: наименование атрибута.

  • Тип: тип поля:

    ../../_images/datatype_field.png

    Примечание

    Иерархия типа поля допускает не более 10 уровней вложенности.

  • Массив: установите флажок, если предполагается использование массива.

    Внимание

    В типе данных допускается не более пяти полей-массивов. При попытке сохранить тип данных с большим количеством полей-массивов отобразится соответствующая ошибка.

  • Разрешить NULL: установите флажок, если предполагается использование нулевых значений.

  • Проверка заполнения: проверка на наличие данных в отмеченных полях, выполняется с помощью метода Check.

  • Проверка: флажок устанавливается автоматически в отношении полей, для которых выбрана функция проверки корректности введенного значения. Для получения списка доступных функций выделите необходимое поле и нажмите на кнопку Выбор функции для проверки.

    Примечание

    Функция проверки должна содержать один входящий параметр и возвращать исключение в случае неудачной проверки. Вызов проверки заполнения атрибутов выполняется с помощью метода Check.

  • Комментарий: описание поля, необязательно для заполнения.

Для создания новой структуры нажмите на кнопку + (Добавить поле). В таблице структуры будет добавлена строка нового поля.

Также можно импортировать структуру путем импорта метаданных из внешних источников (из систем , СУБД, а так же файлов swagger, wsdl, xml и json). Для этого нажмите на кнопку меню Импорт метаданных.

../../_images/ext_dt_6.png

В открывшемся всплывающем окне укажите внешний источник импорта данных и нажмите на кнопку Далее.

../../_images/ext_dt_7.png

Система произведет загрузку структуры из внешнего источника. Выберите требуемую структуру и нажмите на кнопку Ок.

Вкладка Базовые модели предназначена для работы с базовыми моделями типа данных. Вкладка содержит панель функциональных кнопок и таблицу для отображения выбранных базовых моделей. Для успешного сохранения типа данных необходимо наличие в структуре всех полей его базовых моделей.

../../_images/data_types_3.png

Для добавления новой базовой модели нажмите на функциональную кнопку Добавить поле. В результате таблице будет добавлена новая строка. В колонке Тип нажмите на кнопку выбора, чтобы выбрать базовую модель.

Для копирования поля базовой модели в тип данных выберите базовую модель и нажмите на кнопку Обновить поле.

Вкладка Объекты интерфейса содержит список объектов интерфейса Портала , связанных с типом данных. Вкладка используется для создания конфигураций объектов и их быстрого размещения на Портале.

Рабочая область вкладки содержит панель функциональных кнопок и таблицу конфигураций объектов, у которых значение параметра refId совпадает со значением EntityId выбранного типа данных.

Функциональность кнопок Добавить, Редактировать, Удалить и Обновить совпадает с аналогичными кнопками в разделе Конфигурации объектов.

С помощью кнопки Добавить меню на портал объект типа BlazorMenu будет размещен на Портале. При отсутствии готового объекта BlazorMenu соответствующий объект будет создан. При этом в соответствующий пункт меню будет подставлен табличный объект интерфейса, либо будет подставлен созданный объект типа GridElementContent. Итоговый пункт меню будет добавлен на Портал.

С помощью кнопки Добавить выбранный объект конфигурации на портал размещается готовое представление на Портале. При отсутствии объекта конфигураций типа BlazorMenu будет создан соответствующий объект с выбранной конфигурацией и добавлен на Портал. Если конфигурация типа BlazorMenu присутствует, конфигурация объекта будет заменена на выбранную, после чего объект будет добавлен на Портал.

../../_images/datatype_UI.png

Примечание

При генерации меню Портала для типа используются привязанные к типу конфигурации объектов.

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

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

Пример использования:

Создана категория КатегорияЧаи с атрибутами Вид, Форма, КолВоПакетиков, СтранаПроизводитель. Записано 2 экземпляра КатегорияЧаи с разным набором включенных атрибутов.

../../_images/datatype_category1.png

Создан тип данных Чай с полями Название и ВидУпаковки, для типа добавлена категория КатегорияЧаи. Таким образом, при записи экземпляра типа Чай есть возможность заполнить значения атрибутов выбранного экземпляра категории. В данном случае это Вид и СтранаПроизводитель.

../../_images/datatype_category2.png

Структура записи экземпляра типа Чай (без сервисных параметров) будет иметь следующий вид:

{
  "Название": "GREENFIELD Flying Dragon",
  "ВидУпаковки": "коробка",
  "Категории": {
        "КатегорияЧаи": {
          "Вид": "зеленый",
          "Форма": "",
          "КолВоПакетиков": 0,
          "СтранаПроизводитель": "Россия",
          "Коммент": "",
          "Атрибуты": {
                "Items": []
          }
        }
  }
}

Вкладка Шаблоны наименований отображается только при установленном флажке Сохраняемый тип данных и позволяет настроить автозаполнение значений для выбранных полей.

В шаблоне типа могут использоваться его простые поля, для которых не настроен собственный шаблон, шаблоны его категорий и статичные вставки (буквы, цифры, спецсимволы).

Правила заполнения шаблонов типа:

  • при добавлении значения из поля простого типа используется формат %ИмяПоля1%;

  • при добавлении значения из поля типа ссылка используется формат %ИмяПоля2.ИмяПоляИзВложенногоТипа%, где поле ИмяПоляИзВложенногоТипа имеет простой тип и не является массивом;

  • при добавлении значения из шаблона категории используется формат %ИмяКатегории.ИмяШаблонаКатегории%;

  • при использовании спецсимвола % его необходимо экранировать с помощью символа ^. Остальные статичные вставки не требуют экранирования.

Пример использования:

В конфигурации категории, представленной в прошлом примере, добавлены шаблоны наименований ШаблонКраткий и ШаблонПолный. При создании нового экземпляра категории КатегорияЧаи значения шаблонов заполнены.

../../_images/datatype_template1.png

В структуре типа Чай добавлены поля НаименованиеКраткое и НаименованиеПолное, для которых в дальнейшем будут применяться шаблоны наименований. На вкладке Шаблоны наименований типа заполнены шаблоны, в соответствии с которыми будут заполняться значения этих полей.

../../_images/datatype_template2.png

В результате при записи экземпляра типа Чай значения полей НаименованиеКраткое и НаименованиеПолное заполнятся автоматически с использованием значения из полей типа и атрибутов выбранной категории.

../../_images/datatype_template3.png

Шаблон применяется в момент записи экземпляра типа данных. Если полю, для которого заполнен шаблон, на момент отправки в банк данных уже присвоено значение, оно будет переопределено в соответствии с настроенным шаблоном.

Для полей типа dateTime и boolean при использовании в шаблоне заполняются значения в формате local и true/false соответственно.

Внимание

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

Вкладка Портал предназначена для настройки отображения и операций с типом данных на Портале.

Настройка индексов

Доступно только для Объектов банка. Система предоставляет возможность создания составных и нечетких индексов.

../../_images/image52.png
../../_images/image53.png