Дополнительные действия
AZykov (обсуждение | вклад) Нет описания правки |
Elena (обсуждение | вклад) Нет описания правки |
||
| (не показаны 4 промежуточные версии 1 участника) | |||
| Строка 7: | Строка 7: | ||
Коллекция вычислимых свойств задается в редакторе класса, на вкладке Properties, в группе calculated. | Коллекция вычислимых свойств задается в редакторе класса, на вкладке Properties, в группе calculated. | ||
Все параметры calculated-свойств, а также доступные параметры UI описаны в статье, [[Хранение данных. Классы. Поля и действия#Коллекция свойств calculated|посвященной свойствам]]. | |||
Набор основных параметр у вычислимых свойств следующий: | |||
{| class="wikitable mw-collapsible" | |||
|+Параметры свойства | |||
!Имя | |||
!Значение по-умолчанию | |||
!Комментарий | |||
|- | |||
|name | |||
| | |||
|Системное название. Используется для формирования колонок в хранилище, а также при работе с API | |||
|- | |||
|caption | |||
| | |||
|Заголовок. Используется при выводе данных пользователю | |||
|- | |||
|dataType | |||
| | |||
|Тип данных. Опрееделяет тип хранимых свойством данных. Формируется динамически исходя из списка доступных в конкретной системе пакетов | |||
|- | |||
|required | |||
| | |||
|Признак обязательного свойства. Если установлен в True, то объект класса не может быть сохранен, если данное свойство не заполнено (проверка на стороне back-end) | |||
|- | |||
|multi | |||
| | |||
|Признак преобразующий зачение в массив значений данного типа. | |||
|- | |||
|getCode | |||
| | |||
|Код (TypeScript), который задает алгоритм получения значения свойства | |||
|- | |||
|setCode | |||
| | |||
|Код (TypeScript), который задает алгоритм установки значения свойства | |||
|} | |||
Логика работы вычислимого свойства закладывается в параметры getCode и setCode. Метод getCode будет вызываться при попытке получения значения свойства, setCode при попытке установки значения. Так как значения данных свойств не хранятся в базе данных, при установке значения такого свойства, необходимо сохранить переданное значение где-либо ещё, либо проигнорировать такую установку. | |||
В качестве результата выполнения setCode, метод не должен возвращать каких-либо значений. | |||
В качестве результата выполнения getCode, указанный метод должен вернуть значение указанного в параметрах свойства типа данных, например:<syntaxhighlight lang="typescript"> | |||
return this.name + " (" + this.department +", "+this.position+")"; | |||
</syntaxhighlight> | |||
С помощью this можно обращаться к объекту класса и другим его свойствам. | |||
Так же, можно использовать обращения к глобальному конексту платформы, для получения различных системных параметров:<syntaxhighlight lang="typescript"> | |||
return this._eraEnvironment.getStrong('EraGlobal').myUserInfo.ext.token | |||
</syntaxhighlight> | |||
| Строка 14: | Строка 65: | ||
Предыдущая статья курса: [[Обработчики данных]] | Предыдущая статья курса: [[Обработчики данных]] | ||
[[Категория:Курс | [[Категория:Курс Разработка приложений]] | ||
Текущая версия от 12:39, 17 марта 2025
Предыдущая статья курса: Обработчики данных
Общая информация

Вычислимые свойства (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. Настройка вычисления полей
Предыдущая статья курса: Обработчики данных