Поддерживаемые операторы
Скопировать ссылку на статью
Скопировано

Арифметические операторы

    + сложение
    - вычитание
    * умножение
    / деление
    % деление по модулю
    ** возведение в степень
    ~ конкатенация строк

order.totalSumm * 0.01 # 1% от суммы заказа
order.summ + order.deliveryCost # сумма товаров + стоимость доставки
order.id~'API' # 12345API

Операторы сравнения

== (==) равно
=== (===) идентично (равно по значению и по типу)
!= (!=) не равно
!== (!==) не идентично
< меньше
> больше
<= (<=) меньше либо равно
>= (>=) больше либо равно
matches удовлетворяет регулярному выражению
not matches не удовлетворяет регулярному выражению

Примечание

Обратите внимание, что в регулярных выражениях \ является спецсимволом, и его необходимо всегда экранировать. Например, \d необходимо записывать как \\d

order.status.groupCode == "approval" # статус заказа в группе Согласование 
order.deliveryCost <= 500 # стоимость доставки заказа меньше либо равно 500 
order.source.sourceName matches "/yandex/" # заказ, у которого в источнике фигурирует "yandex" 
order.customerComment not matches "/test/" # комментарий оператора не содержит слова "test"

Логические операторы

not отрицание
and логическое и
or логическое или

order.quantity < 2 and not changeSet.hasChangedField("status") # общее количество товаров в заказе менее 2 и не изменился статус заказа
changeSet.hasChangedField("delivery_cost") or changeSet.hasChangedField("delivery_net_cost")  # изменилась стоимость или себестоимость доставки

Операторы работы с массивами

in входит в массив
not in не входит в массив

changeSet.hasChangedField("status") and changeSet.newValue("status").groupCode in ["complete", "cancel"] 
# статус заказа изменился на статус из групп Выполнен либо Отменен
changeSet.hasChangedField("delivery_type") and changeSet.newValue("delivery_type").code not in ["russian-post", "sdek"] # тип доставки изменился на любой, кроме почты России или СДЭК
Благодарим за отзыв.
Была ли статья полезна?
Нет
  • Рекомендации не помогли
  • Нет ответа на мой вопрос
  • Текст трудно понять
  • Не нравится описанный функционал
Да
Следующая статья
Доступные функции
Основные и вспомогательные функции доступные при работе с объектами системы.