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

Вычислимые поля: различия между версиями

Материал из Платформа Эра. Документации
Нет описания правки
м Исправление орфографии (ссылки и код не затронуты)
 
Строка 13: Строка 13:
|+Параметры свойства  
|+Параметры свойства  
!Имя
!Имя
!Значение по-умолчанию
!Значение по умолчанию
!Комментарий
!Комментарий
|-
|-
Строка 26: Строка 26:
|dataType
|dataType
|
|
|Тип данных. Опрееделяет тип хранимых свойством данных. Формируется динамически исходя из списка доступных в конкретной системе пакетов
|Тип данных. Определяет тип хранимых свойством данных. Формируется динамически исходя из списка доступных в конкретной системе пакетов
|-
|-
|required
|required
Строка 34: Строка 34:
|multi
|multi
|
|
|Признак преобразующий зачение в массив значений данного типа.
|Признак преобразующий значение в массив значений данного типа.
|-
|-
|getCode
|getCode
Строка 56: Строка 56:
С помощью this можно обращаться к объекту класса и другим его свойствам.
С помощью this можно обращаться к объекту класса и другим его свойствам.


Так же, можно использовать обращения к глобальному конексту платформы, для получения различных системных параметров:<syntaxhighlight lang="typescript">
Также можно использовать обращения к глобальному контексту платформы, для получения различных системных параметров:<syntaxhighlight lang="typescript">
return this._eraEnvironment.getStrong('EraGlobal').myUserInfo.ext.token
return this._eraEnvironment.getStrong('EraGlobal').myUserInfo.ext.token
</syntaxhighlight>
</syntaxhighlight>

Текущая версия от 21:22, 27 октября 2026

Предыдущая статья курса: Обработчики данных

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

Вычислимые свойства в редакторе класса

Вычислимые свойства (calculatedProperties) это коллекция свойств класса, значение которых определяется динамически кодом. Их значения не хранятся в базах данных и рассчитываются автоматически по мере необходимости.

Коллекция вычислимых свойств задается в редакторе класса, на вкладке Properties, в группе calculated.

Все параметры calculated-свойств, а также доступные параметры UI описаны в статье, посвященной свойствам.

Набор основных параметр у вычислимых свойств следующий:

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


Логика работы вычислимого свойства закладывается в параметры getCode и setCode. Метод getCode будет вызываться при попытке получения значения свойства, setCode при попытке установки значения. Так как значения данных свойств не хранятся в базе данных, при установке значения такого свойства, необходимо сохранить переданное значение где-либо ещё, либо проигнорировать такую установку.

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

В качестве результата выполнения getCode, указанный метод должен вернуть значение указанного в параметрах свойства типа данных, например:

return this.name + " (" + this.department +", "+this.position+")";

С помощью this можно обращаться к объекту класса и другим его свойствам.

Также можно использовать обращения к глобальному контексту платформы, для получения различных системных параметров:

return this._eraEnvironment.getStrong('EraGlobal').myUserInfo.ext.token


Следующая статья курса: Задание 8. Настройка вычисления полей
Предыдущая статья курса: Обработчики данных