Обращение к атрибуту
Обращение к атрибуту объекта происходит по названию соответствующего Свойства схемы объекта (например, registration). Для обращения к атрибутам комплексных свойств указывается иерархический путь к атрибуту (например, registration.number.prefix).
'№' + registration.number.prefix + registration.number.number + registration.number.suffix
Однако если РКК не зарегистрирована, то значение атрибута registration.number будет неопределенно, и такое выражение может привести к ошибке. Чтобы этого избежать, можно использовать условный оператор, который вернет пустую строку, если номер не определен:
registration == null ? '': registration.number == null ? '' : '№' + registration.number.prefix + registration.number.number + registration.number.suffix
Другой способ избежать ошибок, если значения атрибутов не определены – использование «безопасной адресации». Тогда если неопределенно значение объекта, к атрибуту которого нужно обратиться, вместо ошибки будет возвращено значение Null. Для «безопасной адресации» перед точкой добавляется знак вопроса:
'№' + registration?.number?.prefix + registration?.number?.number + registration?.number?.suffix
Не все атрибуты можно использовать в SPEL-выражениях
Лучше избегать атрибуты с признаком системные и префиксом $, так как они используются в Web-клиентом. Их значение всегда будет равно null. В качестве примера приведен следующий список:
- $reviewStatusInfo - статус ознакомления
- $approvStatusInfo - статус согласования
- $signStatusInfo - статус подписания
- $regStatusInfo - статус регистрации
- $certifiedStatusInfo - статус заверения
$tagsHeader - особая отметка
$deleteStatusInfo - статус удаления
$preparationStatusInfo - статус на доработке
$meetingTypeInfo - статус заседания
$lockerSignatureInfo - статус ЭЦП
Подключение java-классов
Подключение функций java-библиотек происходит через конфигурацию T(<Название класса>).<Название функции>
T(ru.intertrust.cmj.af.misc.AFDate).createCurrent()
Операции сравнения
Операция | Равно | Не равно | Меньше | Меньше или равно | Больше | Больше или равно |
---|---|---|---|---|---|---|
Знак | == | != | < | <= | > | >= |
Буквенное выражение | eq | ne | lt | le | gt | ge |
Дополнительно могут использоваться:
- оператор проверки типа instanceof;
- оператор сравнения с шаблоном (регулярным выражением) matches.
Математические операции
Операция | Сложение | Вычитание | Умножение | Деление | Остаток от деления | Степень |
---|---|---|---|---|---|---|
Знак | + | - | * | / | % | ^ |
Буквенное выражение | div | mod |
Сложение может использоваться как для чисел, так и для строк. Остальные операции – только для чисел. Поддерживается стандартный порядок выполнения математических операций в выражениях.
Логические операции
Операция | И | Или | Отрицание |
---|---|---|---|
Знак | && | || | ! |
Буквенное выражение | and | or |
Условный оператор
<Условие> ? <Значение, если условие выполнено> : <Значение, если условие не выполнено>