Открыть меню
Toggle preferences menu
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Хранение данных. Классы. Поля и действия

Материал из Платформа Эра. Документации
Предыдущая статья курса: Хранение данных. Классы

Общая информация

Свойства, или поля определяют структуру данных класса.

Конечный набор полей класса определяется несколькими коллекциями:

  • data - основные свойства, определяющие структуру класса в хранилище
  • calculated - вычислимые в реальном времени свойства, доступные только в приложениях и обертках
  • joined - присоединенные свойства, содержащие информацию из других классов (детали/табличные части)
  • override - переопределенные свойства, позволяющие скорректировать некоторые настройки унаследованных от родителей свойств

Коллекция свойств data

Основная работа при создании классов будет сосредоточена на коллекции data, которая и определяет основную структуру данных класса. Например, при хранении данных класса в Postgres, состав колонок таблицы будет в первую очередь определяться коллекцией data (а также наследованными колонками, если указан родительский класс).

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

Существует три вида типов данных:

  • Базовое значение (base/) - значимые типы данных, в конечной структуре будут храниться значения данных свойств (например, строка/число/бинарные данные/дата)
  • Перечисление - тип данных, позволяющий выбирать значение из заданного в пакете списка констант (например, статусы обращения - новое, в работе, отменено, завершено и т.д.)
  • Класс - ссылочный тип данных, позволяющий связывать различные классы между собой. В конечной структуре будут храниться ссылки на данные других классов (например, ссылка на контакт, организацию или другие вспомогательные данные)
Параметры свойства коллекции data

Параметры свойств коллекции data

Параметры свойства
Имя Значение по-умолчанию Комментарий
name Системное название. Используется для формирования колонок в хранилище, а также при работе с API
caption Заголовок. Используется при выводе данных пользователю
dataType Тип данных. Опрееделяет тип хранимых свойством данных. Формируется динамически исходя из списка доступных в конкретной системе пакетов
required False Признак обязательного свойства. Если установлен в True, то объект класса не может быть сохранен, если данное свойство не заполнено (проверка на стороне back-end)
multi False
defaultValue Код (TypeScript), задающий значение по-умолчанию
unique False Признак уникального значения. При установленном значении True, требует соблюдения уникальности значений данного свойства среди всех объектов данного класса
lookup False
indexed False Признак, позволяющий настроить индексирование данных объекта по данному свойству
unmodifiable False Признак, запрещающий изменение данного свойства
weakLink
autoCalcExpression Код (TypeScript), задающий алгоритм расчета данного свойства
beforeSetCode Код (TypeScript), выполняющийся перед изменением значения свойства
afterSetCode Код (TypeScript), выполняющийся после изменения значения свойства

Ограниение доступа к свойствам

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

Параметры отображения свойств (вкладка UI)

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

Большая часть данных параметров будет рассмотрена отдельно в статье, посвещенной Control'ам.

В данной статье рассмотрим только основные параметры, влияющие на отображение свойств.

Общие параметры отображения

Блок optionsUI
Блок optionsUI
Имя Значение по-умолчанию Комментарий
showInTable True Отображать ли данное свойство в реестре данных класса
showInCard True Отображать ли данное свойство в карточке редактирования
showInGroupModify False Включать ли данное свойство в интерфейс группового изменения объектов
editor Ссылка на редактор данного свойства (создаются в разделе Editors приложения Builder)
required False Признак обязательности данного свойства (проверка на стороне front-end)
readOnly False Значение свойства доступно только для чтения (проверка на стороне front-end)
orderIndex Порядковый номер для сортировки
Параметры отображения в карточке редактирования
Блок Card
Блок Card
Имя Значение по-умолчанию Комментарий
tabCaption Имя вкладки, в которой будет отображаться данное свойство
groupCaption Имя группы, в которой будет отображаться данное свойство
colSpan Ширина в колонках, которую будет занимать данное свойство
actionButtons JSON, описывающий кнопки действия с данным свойством
cardContents
control_fullName Полное имя Control'а, который отвечает за вывод данного свойства (опционально, для переопределения отображения)
controlOptions Значение параметров контрола (опционально, для переопределения отображения)
Блок Table
Параметры отображения в таблице реестра данных
Блок Table
Имя Значение по-умолчанию Комментарий
width Ширина колонки
wordWrap False Переносить ли текст значения, если он не влезает в ширину колонки
allowShowHide True Разрешить скрытие и отображение колонки данного свойства
allowSorting True Разрешить сортировку по данному свойству
allowFiltering True Разрешить фильтрацию по данному свойству
allowHeaderFiltering True
allowSearch True Разрешить поиск по значениям в колонке данного свойства
showCellHint Отображать подсказку в ячейке таблицы
exportMode auto Доступность экспорта данных:
  • auto
  • enabled
  • disabled

Параметры валидации данных

Блок Table
Имя Значение по-умолчанию Комментарий
maxLength Максимальная длина содержимого (строки)
mask Маска содержимого
validationPattern Шаблон содержимого
validationMessage Сообщение о неудачной валидации
validationCode Код (JavaScript) валидации

Установка значений по-умолчанию

Коллекция свойств calculated

Коллекция свойств joined

Коллекция свойств override