Тип данных

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

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

../../_images/data_types_1.png

Основные настройки

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

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

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

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

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

Структура

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

../../_images/datatype_structure.png
  • Наименование: наименование поля. Наименование поля должно начинаться с буквы или символа нижнего подчеркивания (_). Наименование может содержать только буквы, цифры, символ подчеркивания. Поддерживается использование алиасов со спецсимволами. Пример: ВнутреннееИмяПоля(АлиасПоля-100%).

    Внимание

    В качестве наименования полей не следует использовать следующие значения: local, __value, LastException, CurrentProcessId, Count, Message, LinkType, BaseClass, Message_DataType, Message_Process, Message_Module, Message_Algorithm, Message_Source, OwnDictionary, OwnList, MessageBaseField, BaseClassUtils, Blob, ExpressionsUtils, IBankType, target, abstract, as, base, bool, break, byte, case, catch, char, checked, class, const, continue, decimal, default, delegate, do, double, else, enum, event, explicit, extern, false, finally, fixed, float, for, foreach, goto, if, implicit, in, int, interface, internal, is, lock, long, namespace, new, null, object,*operator*, out, override, params, private, protected, public, readonly, ref, return, sbyte, sealed, short, sizeof, stackalloc, static, string, struct, switch, this, throw, true, try, typeof, uint, ulong, unchecked, unsafe, ushort, using, using static, virtual, void, volatile, while.

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

    ../../_images/datatype_field.png

    Примечание

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

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

    Внимание

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

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

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

    Примечание

    Проверка заполнения не работает с булевыми значениями.

    Примечание

    При использовании проверки заполнения значение 0 для полей типов int и Decimal считается незаполненным.

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

    Примечание

    Проверка не используется автоматически, ее следует вызывать, используя метод Check.

    Примечание

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

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

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

Также можно импортировать структуру путем импорта метаданных из внешних источников.

Для этого нажмите на кнопку меню Импорт метаданных:

../../_images/ext_dt_6.png

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

../../_images/ext_dt_7.png

Для загрузки файлов swagger, wsdl, xml и json нажмите на кнопку Импорт метаданных:

../../_images/ext_dt_meta.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/dt_portal.png

На вкладке доступны следующие поля и элементы настройки:

  • Имя типа для отображения: DisplayName - наименование типа данных, отображаемое на портале.

  • Шаблон представление записи: Description - шаблон-описание. Названия полей вводятся в фигурных скобках.

  • Шаблон расширенного представления записи: FullDescription - шаблон полного описания. Названия полей вводятся в фигурных скобках.

  • Группировать по дате при просмотре истории: DoGroupHistoryChangeData - флажок устанавливается для соответствующей группировки при просмотре.

  • Форма записи: FormElementViewerId, идентификатор objectConfig - конфигурация UI элемента, открывающегося по двойному щелчку по строке, типизированной данным типом таблицы.

  • Форма просмотра истории: GridHistoryChangesId: идентификатор объекта конфигурации - таблицы, содержащей историю изменений полей выбранной записи.

Таблица представления имен полей (словарь наименования полей типа данных, отображаемого на Портале - наименования полей форм, колонок таблиц):

  • Имя поля: наименование поля типа данных.

  • Отображаемое имя: псевдоним, используемый на Портале.

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

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

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