Системные атрибуты
_null |
всегда возвращает null значение |
_type |
возвращает тип сущности |
_notExists |
возвращает true, если сущность не существует |
_has |
проверить наличие чего-то в значении. Например:
проверить наличие прав на изменение сущности
|
_edge |
получить мета-информацию об атрибуте. (имя, заголовок, возможность просматривать, возможность редактировать и т.д.)
например, для того чтобы узнать, что атрибут защищен от редактирования
|
_alias |
алиас сущности при сабмите. Используется, когда нужно создать несколько связанных сущностей.
т.к. ID новых сущностей станет известен только после того, как непосредственно они будут созданы, то необходим какой-то «фэйковый ID», чтобы на него ссылаться в атрибутах.
Например, хотим создать 2 сущности:
Движок создает сущности с конца. Т.е. сначала создаст:
получит идентификатор новой сущности emodel/some-type@123-123-123-123 пробежится по сущностям,
которые будут созданы далее и подменит все «alias-value-0» на реальный ID (emodel/some-type@123-123-123-123)
т.е. вторая сущность отправится на создание уже в виде:
|
_parent |
ассоциация на родителя |
_parentAtt |
родительский атрибут, по которому создается ссылка родитель->дочерняя_сущность |
_formKey |
ключ формы (в множественном варианте), которые можно использовать для редактирования сущности в порядке приоритета от большего к меньшему.
Позволяет связывать сущности без ECOS типа с формами (старые задачи, например).
|
_modified |
дата изменения сущности |
_modifier |
изменивший сущность |
_statusModified |
хранит в себе дату последнего изменения статуса у записи |
_created |
дата создания сущности |
_creator |
создавший сущность |
_content |
содержимое сущности |
_actions |
действия |
_docNum |
номер документа, который генерируется по шаблону нумерации в типе |
_status |
текущий статус |
_status?str |
id текущего статуса |
_name |
атрибут, который возвращает отображаемое имя сущности.
Может быть вычислен следующим образом:
1. Если в конфиге типа есть dispNameTemplate, то имя будет вычислено на его основе
2. Если в типе есть атрибут с id=name и в сущности это поле не пустое, то его значение как раз будет значением _name
3. Берется name типа
4. Берется id типа
Вычисленное значение _name всегда сохраняется в БД и по нему можно искать
|
_self |
атрибут, который представляет само значение.
Т.е. _self._self._self._self._self это то же самое что и _self._self
используется:
1. Там, где значение - это примитив (строка, число), но его нужно отредактировать на форме (форма может редактировать только атрибуты). В этом случае можно добавить на форме атрибут _self
2. Там, где нам нужно сделать мутацию передав на форме файл (или json объект), который по сути является сборником атрибутов сущности (форма с загрузкой конфигурацией артефактов например). Т.е. мы отправляем на бэк:
и движок это воспринимает все равно что:
|
_as |
получить значение как что-то другое. Список вариантов зависит от типа значения.
Для строки доступно:
используется:
_as.ref - получить строку как ссылку на сущность
_as.mltext - получить строку как multi language text
|
_localId
_disp
_str
|
скаляры, которые можно получить как значения обычных атрибутов.
Т.е. в API доступ к скалярам идет через вопросительный знак (например, ?str и ?bin), но поменяв «?» на «_» мы получим те же данные, но уже в неконечном виде (т.е. можно будет запрашивать вложенные атрибуты).
Как вариант использования - берем свойство, в котором в виде строки записана ссылка на что-то другое. Пишем:
|
_roles.isCurrentUserMemberOf.initiator?bool
|
Является ли текущий пользователь представителем роли «инициатор». Вместо
initiator можно подставлять любой идентификатор роли |
_roles.assigneesOf.initiator[]?str
|
Загрузить представителей роли «инициатор». Вместо
initiator можно подставлять любой идентификатор роли |