Доступные функции Основные и вспомогательные функции доступные при работе с объектами системы. false W3sidGl0bGUiOiLQkNCy0YLQvtC80LDRgtC40LfQsNGG0LjRjyIsInVybCI6Ii9kZXZlbG9wZXJzL2F1dG9tYXRpb24vIn0seyJ0aXRsZSI6IlBpcGVMYW5nIiwidXJsIjoiL2RldmVsb3BlcnMvYXV0b21hdGlvbi9waXBlLWxhbmcvIn0seyJ0aXRsZSI6ItCv0LfRi9C6INCy0YvRgNCw0LbQtdC90LjQuSIsInVybCI6Ii9kZXZlbG9wZXJzL2F1dG9tYXRpb24vcGlwZS1sYW5nL2V4cHJlc3Npb25sYW5ndWFnZS8ifV0= Автоматизация /developers/automation/ ["developers","Автоматизация"] ["developers","Автоматизация","PipeLang"] developers

Доступные функции

Основные и вспомогательные функции доступные при работе с объектами системы.

Работа с данными

НазваниеОписание
date(date)Создает объект DateTime на основе переданной строки, формат соответствует php функции strtotime
date("2015-01-01")
date("1 day ago")
date("first day of this month 12:00") # если время явно не задано будет использовано текущее время
time_interval(from, to, custom)Создает объект TimeInterval на основе переданых строковых значений времени
При указании только параметра from будет создан интервал с точным значением времени
Возможно указание только одной границы интервала
При передаче параметра custom остальные параметры будут проигнорированы и интервал будет с произвольным строковым значением
time_interval("18:00") # в 18:00
time_interval("16:00", "20:00") # с 16:00 до 20:00
time_interval("16:00", "") # с 16:00
time_interval("", "20:00") # до 20:00
time_interval("", "", "после 6 часов вечера") # произвольное значение ввиде строки
length(value)Возвращает длину переданной строки
length("строка") # 6
unique(entity, field)Проверяет уникальность объекта по определённому полю
unique(customer, "email")
custom_field(entity, code)deprecated Возвращает типизированное значение пользовательского поля
entity_by_code(entityName, code)Возвращает значение справочника по его символьному коду
Для выборки доступны объекты типа: DeliveryType, DeliveryService, OrderMethod, OrderProductStatus, OrderType, PaymentStatus, PaymentType, Site, Status, StatusGroup, Store
entity_by_code('DeliveryType', 'delivery-type-10')
entity_by_id(entityName, id, idField)Возвращает сущность из базы по её идентификатору
Для выборки доступны объекты типа: User, Site, Product, ProductGroup, Customer
При выборке сущности Product возможно указать поле идентификации. Доступные значения: id, externalId, article
entity_by_id('User', 4)
entities_by_ids(entityName, array ids, idField)Возвращает массив сущностей из базы по идентификаторам
Для выборки доступны объекты типа: Product, ProductGroup
При выборке сущности Product возможно указать поле идентификации. Доступные значения: id, externalId, article
entities_by_ids('Product', ['100', '101', '102'], 'externalId')
order_contains(Order order, array items)Принимает заказ и список товаров/товарных групп и возвращает true, если в заказе есть хотя бы один из товаров или товар в одной из групп
customer_looked(Customer customer, items)Принимает клиента и список товаров/товарных групп/товаров из заказа и возвращает true, если в клиент смотрел хотя бы один из товаров или товар в одной из групп
customer_looked_products_count(Customer customer)Функция возвращает общее количество всех просмотренных клиентом товаров
replace(subject, placeholders)Заменяет все вхождения в исходной строке subject в соответствии с массивом placeholders.
replace("+79261234567", {"+7": "8"}) # 89261234567
replace(order.phone, {" ": "", "(": "", ")": ""})
offer_inventories(Offer offer, Site site, Store|array stores)Возвращает массив остатков (массив объектов типа Inventory) торгового предложения по складам
Принимает параметры:
Offer offer - объект торгового предложения
Site|null site = null - объект магазина, опциональный (будут возвращены остатки только по складам магазина)
Store[]|Store|null store = null - объект или массив объектов склада, опциональный (будут возвращены остатки только по указанным складам)
# Различные варианты вызова функции
offer_inventories(op.offer)
offer_inventories(op.offer, order.site)
offer_inventories(op.offer, order.site, entity_by_code('Store', 'store-1'))
offer_inventories(op.offer, null, [entity_by_code('Store', 'store-1'), entity_by_code('Store', 'store-2')])
offer_inventories(op.offer, null, order.shipmentStore)

Вспомогательные функции

НазваниеОписание
user()Возвращает текущего пользователя
user_status(User user)Возвращает статус пользователя (free, busy, dinner, break)
user_status(order.getManager()) # free
user_online_status(User 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(string email)Проверяет валидность email-адреса. Возвращает true или false.
is_valid_email("user@mail.com") # true
is_valid_email("user") # false
Благодарим за отзыв.
Была ли статья полезна?
Нет
  • Рекомендации не помогли
  • Нет ответа на мой вопрос
  • Текст трудно понять
  • Не нравится описанный функционал
Да
Предыдущая статья
Поддерживаемые операторы
Операторы - набор команд, который используется при работе с PipeLanguage. При помощи них можно выполнить математические, логические и другие операции с данными системы.
Следующая статья
Доступные фильтры
Список фильтров, которые можно использовать при формировании валидаций, триггеров и шаблонов.