Описаны наиболее востребованные переменные и функции. Дополнительные возможности использования зарегистрированных функций нужно уточнять у разработчиков.

Статус

РазделSpEL
Комментарий

namedescription

#root

Переменная для обращения к контекстному объекту. Работает быстрее, чем #this на 25%

#this

Переменная для обращения к контекстному объекту. 

#top

Переменная для обращения к корневому объекту в иерархии.

Пример. Является ли вышестоящий документ для текущей резолюции Входящим документом

(#top instanceof T(ru.intertrust.cmj.rest.rkk.RkkResourceInput)) ? false : true

#parent

Переменная для обращения к родительскому объекту в иерархии.

Пример. Заполнить досье данными из организации

#parent != null ? #parent.region : ''

#topnode

-

#parentnode

Переменная для обращения к объекту из диалога

Пример. Вывести в диалоге информации о регистрации присвоенный номер

#parentnode.registration.number==null ? '' : #parentnode.registration.number.prefix + 
#parentnode.registration.number.number + #parentnode.registration.number.suffix

#hasRole

#hasRole(<объект>, <идентификатор_роли>)

Определяет наличие указанной роли у текущего пользователя в контексте указанного объекта.

В качестве объекта в данный момент допустимо использовать переменную #root.

Идентификатор роли передается как строковая константа.

Возвращает значение true или false.

Пример. Проверка наличия у пользователя роли ACL «Supervisor»

#hasRole(#root, 'Supervisor')

#isClerk

#isClerk(<объект>, <путь_к_свойству_схемы>)

Определяет наличие у текущего пользователя системной роли «Делопроизводитель» для указанного в параметрах функции подразделения в контексте указанного объекта.

В качестве объекта в данный момент допустимо использовать переменную #root.

Путь к свойству схемы должен указывать на свойство схемы с типом actors, соответствующий подразделению.

Если в качестве значения параметра передать значение null, то будет определено наличие роли «Делопроизводитель» для места регистрации.

Возвращает значение true или false.

Пример 1. Проверка наличия у пользователя роли «Делопроизводитель» для места регистрации

#isClerk(#root, null)

Пример 2. Проверка наличия у пользователя «Делопроизводитель» для подразделения, указанного в атрибуте sending.department

#isClerk(#root,'sending.department')

#isClerkCustom

#isClerkCustom(<объект>, <идентификатор_объекта>, <путь_к_свойству_схемы>)

Определяет, является ли текущий пользователь делопроизводителем указанного подразделения, в модуле документа с переданным unid-ом 

В качестве объекта в данный момент допустимо использовать переменную #root.

Возвращает значение true или false.

#isClerkCustom(#root, #root.getUnid(),'senderDep')

#getUserDepartment

#getUserDepartment()

Вычисляет подразделение текущего пользователя.

#hasLink

#hasLink(<объект>, <идентификатор_типа_отношения>)

Проверяет наличие у объекта ссылки с указанным типом отношения.

В качестве объекта в данный момент допустимо использовать переменную #root.

Возможные типы отношения для объекта нужно уточнять у разработчика.

Возвращает значение true или false.

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

Пример. Наличие у объекта ссылки с типом отношения «verification» - документ был заверен ЭП.

#hasLink(#root,'verification')

#link

#link(<объект>, <идентификатор_типа_отношения>)

Возвращает объект по ссылке в другом ресурсе.

В качестве объекта в данный момент допустимо использовать переменную #root.

Возможные типы отношения для объекта нужно уточнять у разработчика.

#link(#root,'meeting')

#getDefaultRegPlace

#getDefaultRegPlace(<тип_модуля>)

Вычисляет место регистрации "по умолчанию" пользователя для модуля, указанного в параметрах.

В качестве модуля передается идентификатор типа программы.

Возвращает подразделение.

Принимаемое свойство схемы должно быть с типом actors.

#getDefaultRegPlace('InputDocs')

#getDPs

#getDPs(<место_регистрации>, <тип_модуля>)

Вычисляет список делопроизводителей по месту регистрации и типу модуля.

Место регистрации должно указывать на свойство схемы с типом actors.

Принимаемое свойство схемы должно быть с типом actors.

#getDPs(registration?.place, 'InputDocs')

#getRegPlace

#getRegPlace(<тип_модуля>)

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

В качестве модуля передается идентификатор типа программы.

Возвращает подразделение.

Принимаемое свойство схемы должно быть с типом actors.

#getDefaultRegPlace('InputDocs')

#isPropertyEmptyOrNull

#isPropertyEmptyOrNull(<объект>)  

Осуществляет проверку свойства схемы на пустоту

Возвращает значение true или false.

#isObjectContains

#isObjectContains(<объект>, <имя_свойства_схемы>)

Осуществляет проверку наличия поля в переданном объекте

Возвращает значение true или false.

#isObjectContains(#root, 'registration') ? true : false

#getFieldValue

#getFieldValue(<объект>, <имя_поля_в_объекте>)

Получение строкового значения из поля в объекте. 

В качестве объекта в данный момент допустимо использовать переменную #root.

Название поля в объекте можно получить, с помощью инструмента documentview.

#getFieldValue(#root,'ListNumber')

#getFormLink

#getFormLink(<имя_схемы>, <комплект>, <тип_модуля>)

Возвращает ссылку на форму по указанному имени схемы, комплекту и модулю

#getEmbeddedCollElemByStringField

#getEmbeddedCollElemByStringField(<идентификатор_объекта>, <идентификатор_вложенных_объектов>,<имя_поля>, <значения>)

Получение списка вложенных в документ объектов, профильтрованных по одному полю.

#getEmbeddedCollElemByStringField(id, "documents", "deliveryStatus", {"Received","ReceivedByFact"})

#getBeardsByRelation

#getBeardsByRelation(<имя_реляции>, <путь_к_свойству_схемы>)

Вычисления сотрудников по реляции.

Путь к свойству схемы должен указывать на свойство схемы с типом actors.

Принимаемое свойство схемы должно быть с типом actors.

#getBeardsByRelation("Руководитель", ownerDepartment)