Название Описание
user() Возвращает текущего пользователя
user_status(user) Возвращает статус пользователя (free, busy, dinner, break)
Пример
user_status(order.getManager()) # free
user_online_status(user) Возвращает онлайн-статус пользователя (true или false)
Пример
user_online_status(order.getManager()) # true
hash(algo, data) Выполняет однонаправленное хеширование данных с использованием заданной хеш-функции (md5, sha1, sha256). Значение возвращается в виде hex-строки в нижнем регистре.
Пример
hash("md5", "test") # 098f6bcd4621d373cade4e832627b4f6
last_run(interval, triggerCode, findByEntity) Возвращает информацию о последнем запуске триггера, если триггер запускается впервые функция вернет null, подробнее. Доступна только в триггерах.
rand(min, max) Возвращает случайное целое число из заданного диапазона [min, max].
rand_string(length, alphabet) Возвращает случайную последовательность символов заданной длины, содержащую только символы из заданного набора (alphabet). По умолчанию используется набор состоящий из английских букв нижнего регистра и цифр.
Пример
rand_string(3)
rand_string(3, "a") # aaa
local_time(source, default) Местное время в соответствии с текущими настройками. В качестве source функция может принимать объекты CustomerAddress, CustomerPhone, OrderDeliveryAddress, StoreAddress либо номер телефона в виде строки.
Пример
local_time(customer.getAddress())
local_time(order.getPhone())
local_time("+79261234567")
is_working_time(dateTime) Функция проверяет, является ли значение dateTime рабочим временем и возвращает результат (true или false). В качестве dateTime функция может принимать объект DateTime или строку, формат которой соответствует формату php функции strtotime. По умолчанию используется значение текущей даты и времени.
Пример
is_working_time()
is_working_time('2015-01-01 10:00:00')
is_working_time(date('2015-01-01 10:00:00'))
is_working_time(order.getCreatedAt())
round(value, precision, method) Возвращает округленное значение с указанной точностью.
Первым значением указывается округляемое число, вторым — точность округления (0, если до целого), третьим — режим округления (common обычный режим, ceil всегда в большую сторону, floor всегда в меньшую сторону)
Пример
round(12.3456) # 12
round(12.3456, 2) # 12.35
round(12.3456, 2, "floor") # 12.34
round(12.3456, 0, "ceil") # 13.0
round(-1.5, 0, "ceil") # -1.0
is_valid_email(email) Проверяет валидность email-адреса. Возвращает true или false.
Пример
is_valid_email("user@mail.com") # true
is_valid_email("user") # false