AZykov (обсуждение | вклад) |
AZykov (обсуждение | вклад) |
||
(не показано 12 промежуточных версий этого же участника) | |||
Строка 48: | Строка 48: | ||
|multi | |multi | ||
|False | |False | ||
| | |Признак преобразующий зачение в массив значений данного типа. | ||
|- | |- | ||
|defaultValue | |defaultValue | ||
Строка 60: | Строка 60: | ||
|lookup | |lookup | ||
|False | |False | ||
| | |Признак, означающий что это справочное поле. Для такого поля создается индекс в БД для обеспечения быстрого поиска. Используется, например, для полей с кодами. | ||
|- | |- | ||
|indexed | |indexed | ||
Строка 72: | Строка 72: | ||
|weakLink | |weakLink | ||
| | | | ||
| | |Используется только при required=true | ||
Модифицирует генерируемый код класса, позволяя при обращении к этому парамтру возвращать undefined. Слегка "облегчает" параметр required, не снимая при этом обязательность с данного свойства. | |||
Может использоваться для ссылок на данные, которые в процессе исполнения могут быть оперативно удалены. | |||
|- | |- | ||
|autoCalcExpression | |autoCalcExpression | ||
Строка 160: | Строка 162: | ||
|cardContents | |cardContents | ||
| | | | ||
| | |Способ отображения ссылочного типа (связанного класса): | ||
* ''select'' - выпадающий список для выбора значений | |||
* ''expand'' - отображение группы полей выбранной записи класса (работает аналогично присоединенным классам, однако изменения в основном классе не внесут изменения в связанный) | |||
* ''selectexpand'' - отображение и выпадающего списка для выбора и группы полей выбранной записи | |||
|- | |- | ||
|control_fullName | |control_fullName | ||
Строка 282: | Строка 288: | ||
=== Установка значений по-умолчанию === | === Установка значений по-умолчанию === | ||
[[Файл:Коллекция defaultValues.png|мини|Коллекция defaultValues]] | |||
Значения свойств по-умолчанию могут быть заданы кодом (TypeScript) с помощью параметра defaultValue в параметрах свойства. | |||
[[Файл:DefaultValue.png|мини|DefaultValue]] | |||
Также, существует специальная коллекция defaultValues, в которой в виде пары "имя свойства":[код установки значения] можно централизовано задать значения по-умолчанию. | |||
=== Коллекция свойств calculated === | === Коллекция свойств calculated === | ||
Коллекция calculated определяет набор свойств, значения которых не будут помещаться в хранилище, а будут расчитываться, согласно указанному алгоритму. | |||
В настройках класса можно установить признак, чтобы все расчетные свойства обновлялись автоматически. | |||
Такие свойства определяются следующим набором параметров: | |||
{| class="wikitable mw-collapsible" | |||
|+Параметры свойства | |||
!Имя | |||
!Значение по-умолчанию | |||
!Комментарий | |||
|- | |||
|name | |||
| | |||
|Системное название. Используется для формирования колонок в хранилище, а также при работе с API | |||
|- | |||
|caption | |||
| | |||
|Заголовок. Используется при выводе данных пользователю | |||
|- | |||
|dataType | |||
| | |||
|Тип данных. Опрееделяет тип хранимых свойством данных. Формируется динамически исходя из списка доступных в конкретной системе пакетов | |||
|- | |||
|required | |||
| | |||
|Признак обязательного свойства. Если установлен в True, то объект класса не может быть сохранен, если данное свойство не заполнено (проверка на стороне back-end) | |||
|- | |||
|multi | |||
| | |||
|Признак преобразующий зачение в массив значений данного типа. | |||
|- | |||
|getCode | |||
| | |||
|Код (TypeScript), который задает алгоритм получения значения свойства | |||
|- | |||
|setCode | |||
| | |||
|Код (TypeScript), который задает алгоритм установки значения свойства | |||
|} | |||
<blockquote>Настройки на вкладке UI аналогичны настройкам для базовой коллекции свойств data.</blockquote> | |||
=== Коллекция свойств joined === | === Коллекция свойств joined === | ||
Свойства из коллекции joined служат для работы с данными связанных объектов. | |||
Данные свойства работают по принципу JOIN из реляционных баз данных. Для работы этих свойств, необходимо указать класс присоенидяемых данных, а также указать поля, значения которых должны совпасть для присоединения. | |||
[[Файл:Настройки joined-свойства.png|мини|Настройки joined-свойства]] | |||
Joined свойства могут работать в двух режимах связности (multi): | |||
* один к одному | |||
* один ко многим | |||
В параметрах свойства указывается тип объекта для связи, поля для связи и режим работы (multi) | |||
При использовании режима "один к одному", свойства связанного объекта будут отображены в карточке текущего объекта. В таком режиме, возможно изменение этих свойств. | |||
[[Файл:Пример joined 1к1.png|мини|Пример присоединения карточки клиента. Зеленым выделены поля класса Customer]] | |||
При использовании режима "один ко многим", найденные связанные объекты будут выведены в качестве таблицы (списка). В таком режиме данные объекты доступны только для чтения. Для их изменения, необходимо перейти в карточку каждого конкретного объекта с помощью гиперссылки и внести изменения в ней. | |||
[[Файл:Пример joined 1к многим.png|мини|Пример присоединения списка заказов]] | |||
В качестве примера, для режима "один к одному", можно привести присоединение карточки клиента к карточке обращения, для того чтобы видеть данные, не переходя в его карточку. | |||
В качестве примера, для режима "один ко многим", можно привести присоединение списка заказов клиента в его карточку. Каждый заказ необходимо редактировать отдельно, однако их список находится перед глазами для удобства поиска. | |||
Флажок autoCreate позволяет автоматически создавать присоединенный объект, если он не найден (напр., создавать нового клиента с номером телефона). | |||
==== Параметры joined-свойств ==== | |||
{| class="wikitable mw-collapsible" | |||
|+Параметры свойства | |||
!Имя | |||
!Значение по-умолчанию | |||
!Комментарий | |||
|- | |||
|name | |||
| | |||
|Системное название. Используется для формирования колонок в хранилище, а также при работе с API | |||
|- | |||
|caption | |||
| | |||
|Заголовок. Используется при выводе данных пользователю | |||
|- | |||
|dataType | |||
| | |||
|Тип данных. Опрееделяет тип хранимых свойством данных. Формируется динамически исходя из списка доступных в конкретной системе пакетов. | |||
В данном случае используются только типы классов, базовые типы и перечисления не поддерживаются. | |||
Для joined-свойств определяет объект, по данным которого будет осуществляться поиск значений, подходящих для присоединения | |||
|- | |||
|required | |||
| | |||
|Признак обязательного свойства. Если установлен в True, то объект класса не может быть сохранен, если данное свойство не заполнено (проверка на стороне back-end) | |||
|- | |||
|multi | |||
| | |||
|Определяет тип работы свойства. | |||
При Multi = False, будет присоединена одна запись с возможностью редактирования. | |||
При Multi = True, будет присоединен список записей в режиме read-only | |||
|- | |||
|selfPropertyName | |||
| | |||
|Имя свойства текущего класса, для связи с присоединямемым классом | |||
|- | |||
|joinedPropertyName | |||
| | |||
|Имя свойства присоединяемого класса для связи с текущим | |||
|- | |||
|autoCreate | |||
| | |||
|Автоматически создавать новую сущность присоединяемого класса, если данные для связи не были найдены | |||
|- | |||
|hiddenColumns | |||
| | |||
|Список скрываемых колонок присоединяемого класса (для обеспечения лакончиности интерфейса, опциональный параметр) | |||
|} | |||
[[Файл:Параметры override-свойства.png|мини|Параметры override-свойства]] | |||
=== Коллекция свойств override === | === Коллекция свойств override === | ||
Свойства из данной коллекции переопределяют некоторые параметры унаследованных от родительского класса свойств. | |||
Для работы переопределения, необходимо задать точное название свойства. | |||
Параметры свойств, доступные для переопределения: | |||
{| class="wikitable mw-collapsible" | |||
|+Вкладка Common | |||
!Имя | |||
!Значение по-умолчанию | |||
!Комментарий | |||
|- | |||
|name | |||
| | |||
|Системное название. Используется для формирования колонок в хранилище, а также при работе с API | |||
|- | |||
|caption | |||
| | |||
|Заголовок. Используется при выводе данных пользователю | |||
|- | |||
|unmodifiable | |||
| | |||
|Признак, запрещающий изменение данного свойства | |||
|- | |||
|lookup | |||
| | |||
|Признак, означающий что это справочное поле. Для такого поля создается индекс в БД для обеспечения быстрого поиска. Используется, например, для полей с кодами. | |||
|- | |||
|unique | |||
| | |||
|Признак уникального значения. При установленном значении True, требует соблюдения уникальности значений данного свойства среди всех объектов данного класса | |||
|} | |||
Также, для переопределения доступны все параметры вкладки UI | |||
=== Коллекций действий === | |||
На вкладке Actions карточки редактирования класса, доступна коллекция действий, которые будут доступны для объектов этого класса. | |||
Действия отображаются в виде кнопок в верхней части таблицы реестра (если выделена строка с данными) а так же в карточке класса. | |||
[[Файл:Карточка действия.png|мини|Карточка действия]] | |||
Действие задается следующим набором параметров: | |||
{| class="wikitable mw-collapsible" | |||
|+Вкладка Common | |||
!Имя | |||
!Значение по-умолчанию | |||
!Комментарий | |||
|- | |||
|name | |||
| | |||
|Системное имя действия (используется при вызове через код) | |||
|- | |||
|caption | |||
| | |||
|Заголовок действия, отображается пользователю | |||
|- | |||
|actionKind | |||
|client | |||
|Контекст исполнения действия: | |||
* client | |||
* server | |||
|- | |||
|actionTarget | |||
|entity | |||
|Объект, над которым выполняется действие: | |||
* entity - над текущим выбранным объектом (открытая карточка, выбранная строка в таблице) | |||
* none - безотносительно текущего объекта | |||
|- | |||
|code | |||
| | |||
|Код (TypeScript), реализующий логику действия | |||
|- | |||
|allowConditionCode | |||
| | |||
|Код (TypeScript), реализующий проверку доступности действия | |||
|- | |||
|roles | |||
| | |||
|Перечисление ролей, которым доступно данное действие | |||
|} | |||
==== Передаваемые параметры действий ==== | |||
[[Файл:ActionParameter.png|мини|ActionParameter]] | |||
В действие может быть передан набор параметров (данных). он определяется колекцией parameters в картчоке действия. | |||
Параметр определяется следующим набором характеристик: | |||
{| class="wikitable mw-collapsible" | |||
|+ActionParameter | |||
!Имя | |||
!Значение по-умолчанию | |||
!Комментарий | |||
|- | |||
|name | |||
| | |||
|Системное название параметра, используется для доступа из кода | |||
|- | |||
|caption | |||
| | |||
|Заголовок, отображаемый пользователю | |||
|- | |||
|dataType | |||
| | |||
|Тип данных | |||
|- | |||
|multi | |||
| | |||
|Признак массива, если True то передается массив параметров указанного типа | |||
|- | |||
|required | |||
| | |||
|Признак обязательного параметра | |||
|- | |||
|defaultValue | |||
| | |||
|Значение по-умолчанию (JSON) | |||
|- | |||
|showInToolbar | |||
| | |||
|Параметры отображения в инструментальной панели (JSON) | |||
|- | |||
|showInDialog | |||
| | |||
|Отображать в диалоге | |||
|- | |||
|editor | |||
| | |||
|Редактор для значения параметра (приложение Builder, раздел Editors) | |||
|} | |||
[[Файл:Действия. Вкладка UI.png|мини|Действия. Вкладка UI]] | |||
==== Параметры отображения действий ==== | |||
На вкладке UI также доступны настройки отображения действий в карточке пользователя: | |||
{| class="wikitable mw-collapsible" | |||
|+Вкладка UI | |||
!Имя | |||
!Значение по-умолчанию | |||
!Комментарий | |||
|- | |||
|buttonType | |||
| | |||
|Тип (цвет) кнопки: | |||
* default | |||
* normal | |||
* success | |||
* danger | |||
|- | |||
|icon | |||
| | |||
|Иконка дейстия | |||
|- | |||
|default | |||
| | |||
|Является ли действие действием по-умолчанию | |||
|- | |||
|showInTable | |||
| | |||
|Отображать действие в таблице | |||
|- | |||
|showInCard | |||
| | |||
|Отображать действие в карточке редактирования | |||
|- | |||
|showInGroupOperations | |||
| | |||
|Отображать действие в окне групповых операций над данными | |||
|- | |||
|orderIndex | |||
| | |||
|Порядковый номер для сортировки | |||
|- | |||
|locateInMenu | |||
| | |||
|Отображать в меню: | |||
* auto | |||
* always | |||
* never | |||
|- | |||
|location | |||
| | |||
|Порядок отображения: | |||
* before | |||
* center | |||
* after | |||
|- | |||
|cssClass | |||
| | |||
|Класс CSS | |||
|- | |||
|confirmationText | |||
| | |||
|Текст подтверждения запуска действия | |||
|- | |||
|tabCaption | |||
| | |||
|Имя вкладки (для отображения в карточке) | |||
|- | |||
|groupCaption | |||
| | |||
|Имя группы (для отображения в карточке) | |||
|- | |||
|colSpan | |||
| | |||
|Ширина в колонках (для отображения в карточке) | |||
|- | |||
|visibilityConditionCode | |||
| | |||
|Код (JavaScript) для проверки условий отображения действия | |||
|- | |||
|description | |||
| | |||
|Описание, выводится в справку о классе | |||
|- | |||
|hint | |||
| | |||
|Подсказка, отображается при наведении на действие | |||
|} | |||
==== Переопределение действий ==== | |||
Коллекция override на вкладке Actions позволяет переопределять некоторые параметры действий, унаследованных от родительского класса. | |||
Для работы переопределения, необходимо точно указать имя (name) действия. | |||
Для общих параметров действий доступно только переопределение параметра caption. | |||
Для параметров отображения, доступно изменение любых свойств | |||
Следующая статья курса: [[Задание 1. Создание класса]] | |||
Предыдущая статья курса: [[Хранение данных. Классы]] | |||
[[Категория:Курс "Разработка приложений"]] | [[Категория:Курс "Разработка приложений"]] |
Текущая версия от 16:01, 20 января 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 | Используется только при required=true
Модифицирует генерируемый код класса, позволяя при обращении к этому парамтру возвращать undefined. Слегка "облегчает" параметр required, не снимая при этом обязательность с данного свойства. Может использоваться для ссылок на данные, которые в процессе исполнения могут быть оперативно удалены. | |
autoCalcExpression | Код (TypeScript), задающий алгоритм расчета данного свойства | |
beforeSetCode | Код (TypeScript), выполняющийся перед изменением значения свойства | |
afterSetCode | Код (TypeScript), выполняющийся после изменения значения свойства |
Ограниение доступа к свойствам
Для каждого свойства могут быть заданы фильтры для ограничения доступа к данным по ролям. Праметры фильтров указываются в соотсветствии с документацией на портале вендора.
Параметры отображения свойств (вкладка UI)
Параметры на вкладке UI не влияют на логику хранения и использования свойств, они задают параметры отображения данных свойств в различных интерфейсах системы.
Большая часть данных параметров будет рассмотрена отдельно в статье, посвещенной Control'ам.
В данной статье рассмотрим только основные параметры, влияющие на отображение свойств.
Общие параметры отображения
Имя | Значение по-умолчанию | Комментарий |
---|---|---|
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 | Маска содержимого
Пример: L000LL – госномер автомобиля Доступные элементы:
| |
validationPattern | Шаблон содержимого (регулярное выражение) | |
validationMessage | Сообщение о неудачной валидации | |
validationCode | Код (JavaScript) валидации.
Пример:
|
Справочные данные
Имя | Значение по-умолчанию | Комментарий |
---|---|---|
description | Описание поля, для включения в справку по классу | |
hint | Подсказка к полю, отображается в карточке редактирования по нажатию на иконку со знаком вопроса, в таблице реестра данных при наведении на ячейку со значением (если включено в настройках) |
Установка значений по-умолчанию
Значения свойств по-умолчанию могут быть заданы кодом (TypeScript) с помощью параметра defaultValue в параметрах свойства.
Также, существует специальная коллекция defaultValues, в которой в виде пары "имя свойства":[код установки значения] можно централизовано задать значения по-умолчанию.
Коллекция свойств calculated
Коллекция calculated определяет набор свойств, значения которых не будут помещаться в хранилище, а будут расчитываться, согласно указанному алгоритму.
В настройках класса можно установить признак, чтобы все расчетные свойства обновлялись автоматически.
Такие свойства определяются следующим набором параметров:
Имя | Значение по-умолчанию | Комментарий |
---|---|---|
name | Системное название. Используется для формирования колонок в хранилище, а также при работе с API | |
caption | Заголовок. Используется при выводе данных пользователю | |
dataType | Тип данных. Опрееделяет тип хранимых свойством данных. Формируется динамически исходя из списка доступных в конкретной системе пакетов | |
required | Признак обязательного свойства. Если установлен в True, то объект класса не может быть сохранен, если данное свойство не заполнено (проверка на стороне back-end) | |
multi | Признак преобразующий зачение в массив значений данного типа. | |
getCode | Код (TypeScript), который задает алгоритм получения значения свойства | |
setCode | Код (TypeScript), который задает алгоритм установки значения свойства |
Настройки на вкладке UI аналогичны настройкам для базовой коллекции свойств data.
Коллекция свойств joined
Свойства из коллекции joined служат для работы с данными связанных объектов.
Данные свойства работают по принципу JOIN из реляционных баз данных. Для работы этих свойств, необходимо указать класс присоенидяемых данных, а также указать поля, значения которых должны совпасть для присоединения.
Joined свойства могут работать в двух режимах связности (multi):
- один к одному
- один ко многим
В параметрах свойства указывается тип объекта для связи, поля для связи и режим работы (multi)
При использовании режима "один к одному", свойства связанного объекта будут отображены в карточке текущего объекта. В таком режиме, возможно изменение этих свойств.
При использовании режима "один ко многим", найденные связанные объекты будут выведены в качестве таблицы (списка). В таком режиме данные объекты доступны только для чтения. Для их изменения, необходимо перейти в карточку каждого конкретного объекта с помощью гиперссылки и внести изменения в ней.
В качестве примера, для режима "один к одному", можно привести присоединение карточки клиента к карточке обращения, для того чтобы видеть данные, не переходя в его карточку.
В качестве примера, для режима "один ко многим", можно привести присоединение списка заказов клиента в его карточку. Каждый заказ необходимо редактировать отдельно, однако их список находится перед глазами для удобства поиска.
Флажок autoCreate позволяет автоматически создавать присоединенный объект, если он не найден (напр., создавать нового клиента с номером телефона).
Параметры joined-свойств
Имя | Значение по-умолчанию | Комментарий |
---|---|---|
name | Системное название. Используется для формирования колонок в хранилище, а также при работе с API | |
caption | Заголовок. Используется при выводе данных пользователю | |
dataType | Тип данных. Опрееделяет тип хранимых свойством данных. Формируется динамически исходя из списка доступных в конкретной системе пакетов.
В данном случае используются только типы классов, базовые типы и перечисления не поддерживаются. Для joined-свойств определяет объект, по данным которого будет осуществляться поиск значений, подходящих для присоединения | |
required | Признак обязательного свойства. Если установлен в True, то объект класса не может быть сохранен, если данное свойство не заполнено (проверка на стороне back-end) | |
multi | Определяет тип работы свойства.
При Multi = False, будет присоединена одна запись с возможностью редактирования. При Multi = True, будет присоединен список записей в режиме read-only | |
selfPropertyName | Имя свойства текущего класса, для связи с присоединямемым классом | |
joinedPropertyName | Имя свойства присоединяемого класса для связи с текущим | |
autoCreate | Автоматически создавать новую сущность присоединяемого класса, если данные для связи не были найдены | |
hiddenColumns | Список скрываемых колонок присоединяемого класса (для обеспечения лакончиности интерфейса, опциональный параметр) |
Коллекция свойств override
Свойства из данной коллекции переопределяют некоторые параметры унаследованных от родительского класса свойств.
Для работы переопределения, необходимо задать точное название свойства.
Параметры свойств, доступные для переопределения:
Имя | Значение по-умолчанию | Комментарий |
---|---|---|
name | Системное название. Используется для формирования колонок в хранилище, а также при работе с API | |
caption | Заголовок. Используется при выводе данных пользователю | |
unmodifiable | Признак, запрещающий изменение данного свойства | |
lookup | Признак, означающий что это справочное поле. Для такого поля создается индекс в БД для обеспечения быстрого поиска. Используется, например, для полей с кодами. | |
unique | Признак уникального значения. При установленном значении True, требует соблюдения уникальности значений данного свойства среди всех объектов данного класса |
Также, для переопределения доступны все параметры вкладки UI
Коллекций действий
На вкладке Actions карточки редактирования класса, доступна коллекция действий, которые будут доступны для объектов этого класса.
Действия отображаются в виде кнопок в верхней части таблицы реестра (если выделена строка с данными) а так же в карточке класса.
Действие задается следующим набором параметров:
Имя | Значение по-умолчанию | Комментарий |
---|---|---|
name | Системное имя действия (используется при вызове через код) | |
caption | Заголовок действия, отображается пользователю | |
actionKind | client | Контекст исполнения действия:
|
actionTarget | entity | Объект, над которым выполняется действие:
|
code | Код (TypeScript), реализующий логику действия | |
allowConditionCode | Код (TypeScript), реализующий проверку доступности действия | |
roles | Перечисление ролей, которым доступно данное действие |
Передаваемые параметры действий
В действие может быть передан набор параметров (данных). он определяется колекцией parameters в картчоке действия. Параметр определяется следующим набором характеристик:
Имя | Значение по-умолчанию | Комментарий |
---|---|---|
name | Системное название параметра, используется для доступа из кода | |
caption | Заголовок, отображаемый пользователю | |
dataType | Тип данных | |
multi | Признак массива, если True то передается массив параметров указанного типа | |
required | Признак обязательного параметра | |
defaultValue | Значение по-умолчанию (JSON) | |
showInToolbar | Параметры отображения в инструментальной панели (JSON) | |
showInDialog | Отображать в диалоге | |
editor | Редактор для значения параметра (приложение Builder, раздел Editors) |
Параметры отображения действий
На вкладке UI также доступны настройки отображения действий в карточке пользователя:
Имя | Значение по-умолчанию | Комментарий |
---|---|---|
buttonType | Тип (цвет) кнопки:
| |
icon | Иконка дейстия | |
default | Является ли действие действием по-умолчанию | |
showInTable | Отображать действие в таблице | |
showInCard | Отображать действие в карточке редактирования | |
showInGroupOperations | Отображать действие в окне групповых операций над данными | |
orderIndex | Порядковый номер для сортировки | |
locateInMenu | Отображать в меню:
| |
location | Порядок отображения:
| |
cssClass | Класс CSS | |
confirmationText | Текст подтверждения запуска действия | |
tabCaption | Имя вкладки (для отображения в карточке) | |
groupCaption | Имя группы (для отображения в карточке) | |
colSpan | Ширина в колонках (для отображения в карточке) | |
visibilityConditionCode | Код (JavaScript) для проверки условий отображения действия | |
description | Описание, выводится в справку о классе | |
hint | Подсказка, отображается при наведении на действие |
Переопределение действий
Коллекция override на вкладке Actions позволяет переопределять некоторые параметры действий, унаследованных от родительского класса.
Для работы переопределения, необходимо точно указать имя (name) действия.
Для общих параметров действий доступно только переопределение параметра caption.
Для параметров отображения, доступно изменение любых свойств
Следующая статья курса: Задание 1. Создание класса
Предыдущая статья курса: Хранение данных. Классы