Категория

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

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

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

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

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

  • Название: название категории, обязательно для заполнения.

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

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

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

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

  • Банк данных: выбор Банка данных, в базе данных которого будут созданы таблицы для хранения экземпляров категорий. Параметр доступен, если установлен флаг Сохраняемый тип данных. Если в конфигурации только 1 Банк данных, то он заполнится в поле автоматически.

  • Сохранять историю изменений в данных: при включении флага в Банке данных сохраняются не только текущие экземпляры категории, но и их предыдущие версии. Параметр доступен, если установлен флаг Сохраняемый тип данных.

../../_images/datatype_catt01.png

Структура

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

Примечание

У каждой категории есть предопределенное системное поле Наименование, не отраженное в ЦН.

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

  • Тип: выбор типа поля.

    ../../_images/datatype_fieldd5.png

    Для типов полей String, Decimal и DateTime доступны дополнительные параметры типа.

    Примечание

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

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

    Внимание

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

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

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

    Внимание

    Если для поля включена опция Разрешить NULL, то значением по умолчанию будет считаться NULL.

    Примечание

    В зависимости от типа данных выбранного поля сравнение идет с различными значениями по умолчанию:

    • для типов Int и Decimal незаполненным считается значение 0.

    • для типа DateTime незаполненными считаются значения 01-Jan-0001 00:00:00 и 01-Jan-1900 00:00:00.

    • для типа Guid незаполненным считается значение 00000000-0000-0000-0000-000000000000.

    • для типа String независимо от включения Разрешить NULL незаполненными считаются значения NULL, пустая строка или значение, состоящее только из пробелов.

    Примечание

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

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

    Примечание

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

  • Комментарий: комментарий к полю.

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

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

../../_images/ext_dt6.png

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

../../_images/ext_dt_7.png

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

Атрибуты

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

При заполнении экземпляра категории есть возможность указать для его атрибутов параметр необходимости заполнения (enabled). В зависимости от значения этого параметра у записей типа данных с этим экземпляром категории будет доступен или не доступен данный атрибут.

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

Объекты интерфейса

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

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

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

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

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

Примечание

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

Индексы

Вкладка Индексы доступна только для сохраняемых категорий (установлен флаг Сохраняемый тип данных). Содержит настройки хранения, аналогичные типам данных. С помощью кнопки + можно создать составные и нечеткие индексы.

../../_images/category_ind.png

Примечание

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

Шаблоны наименований

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

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

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

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

  • При добавлении значения из атрибута типа ссылка используется формат %ИмяКатегории.ИмяАтрибутаСсылки.ИмяПоля% , где поле ИмяПоля имеет простой тип и не является массивом.

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

Пример значения шаблона категории:

%ИмяКатегории.ИмяПоля1% %ИмяКатегории.ИмяАтрибутаСсылки.ИмяПоля% 100^% качество

Портал

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