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

Доступные фильтры

Список фильтров, которые можно использовать при формировании валидаций, триггеров и шаблонов.

НазваниеОписание
firstВозвращает первый элемент коллекции
(order.availableOrderProducts | first).status.code == "in-reserve"
lastВозвращает последний элемент коллекции
(order.orderProducts | last).canceled # Условие выполнится, если последний товар заказа в отмененном статусе
containsВозвращает true, если хотя бы один элемент коллекции удовлетворяет условию
order.orderProducts | contains(item => item.status.code == "in-reserve") # Условие выполнится, если хотя бы один товар заказа в статусе "В резерве"
everyВозвращает true, если все элементы коллекции удовлетворяют условию

# Внимание! Для пустой коллекции условие тоже выполнится

order.availableOrderProducts | every(item => item.status.code == "in-reserve") # Условие выполнится, если все неотмененные товары заказа в статусе "В резерве"
filterВозвращает коллекцию, отфильтрованную по какому-либо условию
order.orderProducts | filter(item => item.summ > 1000 ) | contains(item => item.status.code == "in-reserve") # Условие выполнится, если хотя бы один из товаров с суммой более 1000 находится в статусе "В резерве"
mapИзменяет каждый элемент коллекции
order.orderProducts | map( x => x.offer )  # преобразует коллекцию позиций заказа в коллекцию офферов
reduceВозвращает результат агрегирующего всю коллекции вычисления
# Заказ с составом:
#   Юбка  2 шт
#   Шорты 1 шт
#   Майка 5 шт

order.availableOrderProducts | reduce( (sum, x) => sum + x.quantity ) # 8
order.availableOrderProducts | reduce( (sum, x) => sum + x.quantity, 7 ) # 15
flattenПреобразует двумерную коллекцию в одномерную
(order.orderProducts | map ( x => x.packs ) | flatten | sort( (a, b) => a.shipmentDate < b.shipmentDate) | first).shipmentDate < order.deliveryDate # условие выполняется, если максимальная дата забора товара меньше даты доставки
sortСортирует коллекцию по заданному правилу
(order.availableOrderProducts | sort( (a, b) => a.summ < b.summ ) | first).status.code == "in-reserve" # Условие выполнится, если самый дорогой товар в заказе зарезервирован
lengthВозвращает количество элементов в коллекции
(order.orderProducts | length) > 5 # Условие выполнится, если в заказе более 5 позиций заказа
is_subscribedВозвращает флаг подписки клиента (тип Customer) на указанный канал (email, sms или waba).
customer|is_subscribed('sms')
Так же есть возможность проверить подписку на конкретную категорию подписок в канале, передав код категории подписки в качестве 3-его аргумента.
customer|is_subscribed('email', 'news')
Благодарим за отзыв.
Была ли статья полезна?
Нет
  • Рекомендации не помогли
  • Нет ответа на мой вопрос
  • Текст трудно понять
  • Не нравится описанный функционал
Да
Предыдущая статья
Доступные функции
Основные и вспомогательные функции доступные при работе с объектами системы.