BLOCK

Назначение функции - выполнить последовательность действий. Возвращает значение последнего параметра.

BLOCK(значение1, значение2, ..., значениеN)

Параметры

значение - любой тип.

Результат

любой тип.

Пример

BLOCK(SETVAR('var1', 10), SETVAR('var2', 20), GETVAR('var1') + GETVAR('var2'))

На самом деле функция ничего не делает, кроме того, что возвращает значение последнего параметра. Просто используется механизм вычисления выражений, когда перед вызовом функции ее параметры вычисляются, а затем передаются в саму функцию. Внутри функции BLOCK обычно применяются такие функции-действия как SETVAR, SETFIELD и т. д. Например при помощи функций BLOCK и SETFIELD можно установить значение сразу нескольким полям. Применяя внутри BLOCK функцию SETVAR можно упростить выражения, разбивая сложное вычисление на части и сохраняя промежуточные результаты в переменных. Обратите внимание, что функция в любом случае будет вычислять все параметры, т. е. нельзя в каком-то месте прервать последовательность дейсвий.

BLOCK(SETFIELD('Клиент', Null), SETFIELD('Дата', DATE), SETFIELD('Сумма', 0), Null)

BLOCK(SETVAR('MaxDate', MAX('Оплаты', 'Дата')), MAXIF('Оплаты', 'Сумма', '[Дата]=GETVAR("MaxDate")'))