Другие функции

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

Функция

Описание

Тип результата

Поддержка бэкенда

Поддержка фронтенда

and(Boolean condition1 [, Boolean condition2, ...])

Возвращает true если все указанные условия являются true.

Boolean

Да

Нет

case(Object defaultResult, Boolean condition1, Object result1 [, Boolean condition2, Object result2, ...])

Возврат result1, если condition1 истинно, возврат result2, если condition2 истинно, и так далее. Если ни одно из условий не является истинным, возврат defaultResult.

Object

Да

Нет

catch(Object normalResult [, Object errorResult])

Текущая функция пытается оценить аргумент normalResult и возвращает его, если оценка прошла успешно. Однако если во время оценки normalResult произошла какая-либо ошибка, поведение будет отличаться:

  • Если errorResult не указан, возвращается текст ошибки оценки normalResult.

  • Если errorResult указан, то вместо него возвращается

Object

Да

Да

choose(Integer index, Object choice1 [, Object choice2, ...])

Возвращает элемент из списка вариантов на основе индекса index. Например, если index равен 1, то возвращается choice1 и так далее.

Object

Да

Нет

dataBlock(Object value[, String charset[, String name]])

Создает новый DataBlock из строкового значения с использованием предоставленной кодировки (или кодировки по умолчанию, если кодировка не указана). Если указано человекочитаемое имя, добавляет его в блок данных.

DataBlock

Да

Нет

evaluate(String expression [, String defaultContext [, DataTable defaultTable [, Integer defaultRow]]])

Оценивает свой строковый аргумент как выражение AggreGate и возвращает результат. Использует пользовательские defaultContext, defaultTable и defaultRow, если они предоставлены.

Object

Да

Да

fail(Boolean condition, String message[, Object result])

Завершит оценку выражения с предоставленным сообщением об ошибке, если условие истинно. Если условие ложно, возврат предоставленного result или null.

Object

Да

Нет

fetchDataBlock(DataBlock data)

Заполняет данные кодированными байтами бинарного блока, извлеченными из базы данных.

DataBlock

Да

Да

if(Boolean condition, Object resultIfTrue, Object resultIfFalse)

Возврат resultIfTrue, если condition является истинным, иначе возвращает значение resultIfFalse.

Object

Да

Нет

ifn(Object nullable, Object fallback)

Возвращает значение параметра nullable, если оно не равно null, и значение параметра fallback в противном случае.

Object

Да

Нет

isBlank(Object value)

Возвращает true, если параметр value равен null или является пустым значением, т. е. взят из пустого местозаполнителя, такого как пустая ячейка электронной таблицы. Обратите внимание, что эта функция вернет false для пустого строкового аргумента.

Boolean

Да

Нет

ld(String variable)

Возврат значения локальной переменной окружения с именем variable. Текущая переменная может быть определена только вызовом функции st(). Внешние (нелокальные) переменные окружения не будут возвращены, на них следует ссылаться через {env/variable}.

Object

Да

Да

login()

Возврат имени текущего пользователя (например, john@company.com).

В отличие от функции user(), эта функция возвращает имя пользователя, которое использовалось при внешней аутентификации (например, через LDAP или Active Directory).

Если внешняя аутентификация не использовалась, функция возвращает значение локального пользователя AggreGate Server, т.е. работает аналогично функции user().

String

Да

Да

not(Boolean condition)

Возвращает противоположное логическое значение, т.е. true, если условие condition ложно, и false, если условие condition истинно.

Boolean

Да

Нет

or(Boolean condition1 [, Boolean condition2, ...])

Возвращает true если хотя бы одно указанное условие является true.

Boolean

Да

Нет

script(String name, Object parameter1, Object parameter2, ...)

Вызов скрипта виджета с именем name и передача ему нескольких параметров. Возврат объекта вывода скрипта.

Object

Да

Да

Текущая функция доступна только внутри выражений привязки виджетов.

sleep(Integer milliseconds)

Приостанавливает процесс обработки выражения на определенное количество миллисекунд.

Null

Да

Да

st(String variable, Object value)

Определяет или обновляет локальную переменную окружения с именем variable, устанавливая ее в значение value. Также возврат значения value.

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

Пример: st('var', {a} * {b} * {c} * {d} * {e}) > 50 ? ld('var') : -1

Текущее выражение возвращает умножение полей a, b, c, d и e, если оно больше 50, и -1 в противном случае. Однако умножение вычисляется только один раз и хранится в локальной переменной среды под названием var.

Object

Да

Да

trace(Object value [, String message])

Регистрирует значение value, сопровождаемое сообщением message, как системное событие для отладки выражения. Возврат неизмененного значения value.

Object

Да

Да

user()

Возврат имени текущего пользователя AggreGate Server (например, admin или john), т.е. учетной записи пользователя, чьи права доступа использовались при оценке выражения.

В отличие от функции login(), эта функция возвращает имя локальной учетной записи пользователя, а не имя логина, которое использовалось при внешней аутентификации (например, через LDAP или Active Directory).

String

Да

Да

xpath(String xml, String query [, Boolean table])

Принимает XML-документ в качестве входных данных и оценивает XPath-запрос над ним. Запрос может быть оценен в String (это поведение по умолчанию) или в Data Table (если параметр table равен true). Табличный режим следует использовать, если запрос оценивает набор узлов, а не только текстовое содержимое или значение атрибута одного узла.

Таблица, возвращаемая в табличном режиме, имеет три поля:

  • Название. Название узла.

  • Контекст. Текстовое содержимое узла.

  • Потомки. Таблица дочерних узлов узла. Имеет тот же формат.

Object

Да

Да

Was this page helpful?