AZykov (обсуждение | вклад) |
AZykov (обсуждение | вклад) |
||
Строка 96: | Строка 96: | ||
В данной статье рассмотрим только основные параметры, влияющие на отображение свойств. | В данной статье рассмотрим только основные параметры, влияющие на отображение свойств. | ||
[[Файл:Блок optionsUI.png|мини|Блок optionsUI]] | |||
Общие параметры отображения | Общие параметры отображения | ||
{| class="wikitable mw-collapsible" | {| class="wikitable mw-collapsible" | ||
|+Блок optionsUI | |+Блок optionsUI | ||
Строка 174: | Строка 172: | ||
===== Параметры отображения в таблице реестра данных ===== | ===== Параметры отображения в таблице реестра данных ===== | ||
{| class="wikitable" | {| class="wikitable mw-collapsible" | ||
|+Блок Table | |+Блок Table | ||
!Имя | !Имя | ||
Строка 220: | Строка 218: | ||
* disabled | * disabled | ||
|} | |} | ||
[[Файл:Блоки Validation, Misc, Help.png|мини|Блоки Validation, Misc, Help]] | |||
Параметры валидации данных | Параметры валидации данных | ||
{| class="wikitable" | {| class="wikitable mw-collapsible" | ||
|+Блок | |+Блок Validation | ||
!Имя | !Имя | ||
!Значение по-умолчанию | !Значение по-умолчанию | ||
Строка 234: | Строка 233: | ||
| | | | ||
|Маска содержимого | |Маска содержимого | ||
Пример: | |||
L000LL – госномер автомобиля | |||
Доступные элементы: | |||
* 0 – цифра | |||
* 9 – цифра или пробел | |||
* # – цифра, пробел, + или - | |||
* L – буква | |||
* C – любой символ кроме пробела | |||
* c – любой символ | |||
* A – цифра или буква | |||
* a – цифра, буква или пробел | |||
|- | |- | ||
|validationPattern | |validationPattern | ||
| | | | ||
|Шаблон содержимого | |Шаблон содержимого (регулярное выражение) | ||
|- | |- | ||
|validationMessage | |validationMessage | ||
Строка 245: | Строка 256: | ||
|validationCode | |validationCode | ||
| | | | ||
|Код (JavaScript) валидации | |Код (JavaScript) валидации. | ||
Пример:<blockquote>{ | |||
"validationCode": "return value_ === '123'", | |||
"validationMessage": "Должно быть 123" | |||
}</blockquote> | |||
|} | |||
Справочные данные | |||
{| class="wikitable mw-collapsible" | |||
|+Блок Help | |||
!Имя | |||
!Значение по-умолчанию | |||
!Комментарий | |||
|- | |||
|description | |||
| | |||
|Описание поля, для включения в справку по классу | |||
|- | |||
|hint | |||
| | |||
|Подсказка к полю, отображается в карточке редактирования по нажатию на иконку со знаком вопроса, в таблице реестра данных при наведении на ячейку со значением (если включено в настройках) | |||
|} | |} | ||
Версия от 15:10, 17 января 2025
Предыдущая статья курса: Хранение данных. Классы
Общая информация
Свойства, или поля определяют структуру данных класса.
Конечный набор полей класса определяется несколькими коллекциями:
- data - основные свойства, определяющие структуру класса в хранилище
- calculated - вычислимые в реальном времени свойства, доступные только в приложениях и обертках
- joined - присоединенные свойства, содержащие информацию из других классов (детали/табличные части)
- override - переопределенные свойства, позволяющие скорректировать некоторые настройки унаследованных от родителей свойств
Коллекция свойств data
Основная работа при создании классов будет сосредоточена на коллекции data, которая и определяет основную структуру данных класса. Например, при хранении данных класса в Postgres, состав колонок таблицы будет в первую очередь определяться коллекцией data (а также наследованными колонками, если указан родительский класс).
Каждое свойство определяется, в первую очередь, типом данных, которые будут в нем храниться.
Существует три вида типов данных:
- Базовое значение (base/) - значимые типы данных, в конечной структуре будут храниться значения данных свойств (например, строка/число/бинарные данные/дата)
- Перечисление - тип данных, позволяющий выбирать значение из заданного в пакете списка констант (например, статусы обращения - новое, в работе, отменено, завершено и т.д.)
- Класс - ссылочный тип данных, позволяющий связывать различные классы между собой. В конечной структуре будут храниться ссылки на данные других классов (например, ссылка на контакт, организацию или другие вспомогательные данные)
![](/images/thumb/7/79/%D0%9F%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B_%D1%81%D0%B2%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B0_%D0%BA%D0%BE%D0%BB%D0%BB%D0%B5%D0%BA%D1%86%D0%B8%D0%B8_data.png/300px-%D0%9F%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B_%D1%81%D0%B2%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B0_%D0%BA%D0%BE%D0%BB%D0%BB%D0%B5%D0%BA%D1%86%D0%B8%D0%B8_data.png)
Параметры свойств коллекции 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'ам.
В данной статье рассмотрим только основные параметры, влияющие на отображение свойств.
![](/images/thumb/3/38/%D0%91%D0%BB%D0%BE%D0%BA_optionsUI.png/300px-%D0%91%D0%BB%D0%BE%D0%BA_optionsUI.png)
Общие параметры отображения
Имя | Значение по-умолчанию | Комментарий |
---|---|---|
showInTable | True | Отображать ли данное свойство в реестре данных класса |
showInCard | True | Отображать ли данное свойство в карточке редактирования |
showInGroupModify | False | Включать ли данное свойство в интерфейс группового изменения объектов |
editor | Ссылка на редактор данного свойства (создаются в разделе Editors приложения Builder) | |
required | False | Признак обязательности данного свойства (проверка на стороне front-end) |
readOnly | False | Значение свойства доступно только для чтения (проверка на стороне front-end) |
orderIndex | Порядковый номер для сортировки |
Параметры отображения в карточке редактирования
![](/images/thumb/f/f0/%D0%91%D0%BB%D0%BE%D0%BA_Card.png/300px-%D0%91%D0%BB%D0%BE%D0%BA_Card.png)
Имя | Значение по-умолчанию | Комментарий |
---|---|---|
tabCaption | Имя вкладки, в которой будет отображаться данное свойство | |
groupCaption | Имя группы, в которой будет отображаться данное свойство | |
colSpan | Ширина в колонках, которую будет занимать данное свойство | |
actionButtons | JSON, описывающий кнопки действия с данным свойством | |
cardContents | ||
control_fullName | Полное имя Control'а, который отвечает за вывод данного свойства (опционально, для переопределения отображения) | |
controlOptions | Значение параметров контрола (опционально, для переопределения отображения) |
![](/images/thumb/3/38/%D0%91%D0%BB%D0%BE%D0%BA_Table.png/300px-%D0%91%D0%BB%D0%BE%D0%BA_Table.png)
Параметры отображения в таблице реестра данных
Имя | Значение по-умолчанию | Комментарий |
---|---|---|
width | Ширина колонки | |
wordWrap | False | Переносить ли текст значения, если он не влезает в ширину колонки |
allowShowHide | True | Разрешить скрытие и отображение колонки данного свойства |
allowSorting | True | Разрешить сортировку по данному свойству |
allowFiltering | True | Разрешить фильтрацию по данному свойству |
allowHeaderFiltering | True | |
allowSearch | True | Разрешить поиск по значениям в колонке данного свойства |
showCellHint | Отображать подсказку в ячейке таблицы | |
exportMode | auto | Доступность экспорта данных:
|
![](/images/thumb/0/04/%D0%91%D0%BB%D0%BE%D0%BA%D0%B8_Validation%2C_Misc%2C_Help.png/300px-%D0%91%D0%BB%D0%BE%D0%BA%D0%B8_Validation%2C_Misc%2C_Help.png)
Параметры валидации данных
Имя | Значение по-умолчанию | Комментарий |
---|---|---|
maxLength | Максимальная длина содержимого (строки) | |
mask | Маска содержимого
Пример: L000LL – госномер автомобиля Доступные элементы:
| |
validationPattern | Шаблон содержимого (регулярное выражение) | |
validationMessage | Сообщение о неудачной валидации | |
validationCode | Код (JavaScript) валидации.
Пример:
|
Справочные данные
Имя | Значение по-умолчанию | Комментарий |
---|---|---|
description | Описание поля, для включения в справку по классу | |
hint | Подсказка к полю, отображается в карточке редактирования по нажатию на иконку со знаком вопроса, в таблице реестра данных при наведении на ячейку со значением (если включено в настройках) |