AZykov (обсуждение | вклад) |
AZykov (обсуждение | вклад) |
||
Строка 44: | Строка 44: | ||
|required | |required | ||
|False | |False | ||
|Признак обязательного свойства. Если установлен в True, то объект класса не может быть сохранен, если данное свойство не заполнено | |Признак обязательного свойства. Если установлен в True, то объект класса не может быть сохранен, если данное свойство не заполнено (проверка на стороне back-end) | ||
|- | |- | ||
|multi | |multi | ||
Строка 95: | Строка 95: | ||
Большая часть данных параметров будет рассмотрена отдельно в статье, посвещенной Control'ам. | Большая часть данных параметров будет рассмотрена отдельно в статье, посвещенной Control'ам. | ||
В данной статье рассмотрим только основные параметры, влияющие на отображение свойств. | |||
Общие параметры отображения | |||
===== Блок optionsUI ===== | |||
{| class="wikitable mw-collapsible" | |||
|+Блок optionsUI | |||
!Имя | |||
!Значение по-умолчанию | |||
!Комментарий | |||
|- | |||
|showInTable | |||
|True | |||
|Отображать ли данное свойство в реестре данных класса | |||
|- | |||
|showInCard | |||
|True | |||
|Отображать ли данное свойство в карточке редактирования | |||
|- | |||
|showInGroupModify | |||
|False | |||
|Включать ли данное свойство в интерфейс группового изменения объектов | |||
|- | |||
|editor | |||
| | |||
|Ссылка на редактор данного свойства (создаются в разделе Editors приложения Builder) | |||
|- | |||
|required | |||
|False | |||
|Признак обязательности данного свойства (проверка на стороне front-end) | |||
|- | |||
|readOnly | |||
|False | |||
|Значение свойства доступно только для чтения (проверка на стороне front-end) | |||
|- | |||
|orderIndex | |||
| | |||
|Порядковый номер для сортировки | |||
|} | |||
===== Параметры отображения в карточке редактирования ===== | |||
[[Файл:Блок Card.png|мини|Блок Card]] | |||
{| class="wikitable mw-collapsible" | |||
|+Блок Card | |||
!Имя | |||
!Значение по-умолчанию | |||
!Комментарий | |||
|- | |||
|tabCaption | |||
| | |||
|Имя вкладки, в которой будет отображаться данное свойство | |||
|- | |||
|groupCaption | |||
| | |||
|Имя группы, в которой будет отображаться данное свойство | |||
|- | |||
|colSpan | |||
| | |||
|Ширина в колонках, которую будет занимать данное свойство | |||
|- | |||
|actionButtons | |||
| | |||
|JSON, описывающий кнопки действия с данным свойством | |||
|- | |||
|cardContents | |||
| | |||
| | |||
|- | |||
|control_fullName | |||
| | |||
|Полное имя Control'а, который отвечает за вывод данного свойства (опционально, для переопределения отображения) | |||
|- | |||
|controlOptions | |||
| | |||
|Значение параметров контрола (опционально, для переопределения отображения) | |||
|} | |||
[[Файл:Блок Table.png|мини|Блок Table]] | |||
===== Параметры отображения в таблице реестра данных ===== | |||
{| class="wikitable" | |||
|+Блок Table | |||
!Имя | |||
!Значение по-умолчанию | |||
!Комментарий | |||
|- | |||
|width | |||
| | |||
|Ширина колонки | |||
|- | |||
|wordWrap | |||
|False | |||
|Переносить ли текст значения, если он не влезает в ширину колонки | |||
|- | |||
|allowShowHide | |||
|True | |||
|Разрешить скрытие и отображение колонки данного свойства | |||
|- | |||
|allowSorting | |||
|True | |||
|Разрешить сортировку по данному свойству | |||
|- | |||
|allowFiltering | |||
|True | |||
|Разрешить фильтрацию по данному свойству | |||
|- | |||
|allowHeaderFiltering | |||
|True | |||
| | |||
|- | |||
|allowSearch | |||
|True | |||
|Разрешить поиск по значениям в колонке данного свойства | |||
|- | |||
|showCellHint | |||
| | |||
|Отображать подсказку в ячейке таблицы | |||
|- | |||
|exportMode | |||
|auto | |||
|Доступность экспорта данных: | |||
* auto | |||
* enabled | |||
* disabled | |||
|} | |||
Параметры валидации данных | |||
{| class="wikitable" | |||
|+Блок Table | |||
!Имя | |||
!Значение по-умолчанию | |||
!Комментарий | |||
|- | |||
|maxLength | |||
| | |||
|Максимальная длина содержимого (строки) | |||
|- | |||
|mask | |||
| | |||
|Маска содержимого | |||
|- | |||
|validationPattern | |||
| | |||
|Шаблон содержимого | |||
|- | |||
|validationMessage | |||
| | |||
|Сообщение о неудачной валидации | |||
|- | |||
|validationCode | |||
| | |||
|Код (JavaScript) валидации | |||
|} | |||
=== Установка значений по-умолчанию === | === Установка значений по-умолчанию === |
Версия от 15:02, 17 января 2025
Предыдущая статья курса: Хранение данных. Классы
Общая информация
Свойства, или поля определяют структуру данных класса.
Конечный набор полей класса определяется несколькими коллекциями:
- data - основные свойства, определяющие структуру класса в хранилище
- calculated - вычислимые в реальном времени свойства, доступные только в приложениях и обертках
- joined - присоединенные свойства, содержащие информацию из других классов (детали/табличные части)
- override - переопределенные свойства, позволяющие скорректировать некоторые настройки унаследованных от родителей свойств
Коллекция свойств data
Основная работа при создании классов будет сосредоточена на коллекции data, которая и определяет основную структуру данных класса. Например, при хранении данных класса в Postgres, состав колонок таблицы будет в первую очередь определяться коллекцией data (а также наследованными колонками, если указан родительский класс).
Каждое свойство определяется, в первую очередь, типом данных, которые будут в нем храниться.
Существует три вида типов данных:
- Базовое значение (base/) - значимые типы данных, в конечной структуре будут храниться значения данных свойств (например, строка/число/бинарные данные/дата)
- Перечисление - тип данных, позволяющий выбирать значение из заданного в пакете списка констант (например, статусы обращения - новое, в работе, отменено, завершено и т.д.)
- Класс - ссылочный тип данных, позволяющий связывать различные классы между собой. В конечной структуре будут храниться ссылки на данные других классов (например, ссылка на контакт, организацию или другие вспомогательные данные)
Параметры свойств коллекции 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
Имя | Значение по-умолчанию | Комментарий |
---|---|---|
showInTable | True | Отображать ли данное свойство в реестре данных класса |
showInCard | True | Отображать ли данное свойство в карточке редактирования |
showInGroupModify | False | Включать ли данное свойство в интерфейс группового изменения объектов |
editor | Ссылка на редактор данного свойства (создаются в разделе Editors приложения Builder) | |
required | False | Признак обязательности данного свойства (проверка на стороне front-end) |
readOnly | False | Значение свойства доступно только для чтения (проверка на стороне front-end) |
orderIndex | Порядковый номер для сортировки |
Параметры отображения в карточке редактирования
Имя | Значение по-умолчанию | Комментарий |
---|---|---|
tabCaption | Имя вкладки, в которой будет отображаться данное свойство | |
groupCaption | Имя группы, в которой будет отображаться данное свойство | |
colSpan | Ширина в колонках, которую будет занимать данное свойство | |
actionButtons | JSON, описывающий кнопки действия с данным свойством | |
cardContents | ||
control_fullName | Полное имя Control'а, который отвечает за вывод данного свойства (опционально, для переопределения отображения) | |
controlOptions | Значение параметров контрола (опционально, для переопределения отображения) |
Параметры отображения в таблице реестра данных
Имя | Значение по-умолчанию | Комментарий |
---|---|---|
width | Ширина колонки | |
wordWrap | False | Переносить ли текст значения, если он не влезает в ширину колонки |
allowShowHide | True | Разрешить скрытие и отображение колонки данного свойства |
allowSorting | True | Разрешить сортировку по данному свойству |
allowFiltering | True | Разрешить фильтрацию по данному свойству |
allowHeaderFiltering | True | |
allowSearch | True | Разрешить поиск по значениям в колонке данного свойства |
showCellHint | Отображать подсказку в ячейке таблицы | |
exportMode | auto | Доступность экспорта данных:
|
Параметры валидации данных
Имя | Значение по-умолчанию | Комментарий |
---|---|---|
maxLength | Максимальная длина содержимого (строки) | |
mask | Маска содержимого | |
validationPattern | Шаблон содержимого | |
validationMessage | Сообщение о неудачной валидации | |
validationCode | Код (JavaScript) валидации |