Arithmetic operators
& nbsp; & nbsp; & nbsp; + addition
& nbsp; & nbsp; & nbsp; - subtraction
& nbsp; & nbsp; & nbsp; * multiplication
& nbsp; & nbsp; & nbsp; / division
& nbsp; & nbsp; & nbsp; % modulo division
& nbsp; & nbsp; & nbsp; ** exponentiation
& nbsp; & nbsp; & nbsp; ~ string concatenation
order.totalSumm * 0.01 # 1% of the order amount
order.summ + order.deliveryCost # sum of products + delivery cost
order.id~'API' # 12345APIComparison operators
== (==) equals
=== (===) identical (equal in value and type)
!= (! =) does not equal
!== (! ==) is not identical
< less
> greater
<= less than or equal
>= greater than or equal
matches matches regular expression
not matches does not match regular expression
Note
Note that in regular expressions
/is a special character and must always be escaped. For example,/dshould be written as//d
order.status.groupCode == "approval" # order status in the Coordination group
order.deliveryCost <= 500 # delivery cost of the order is less than or equal to 500
order.source.thisName matches "/yandex/" # the order with "yandex" in the source
order.customerComment not matches "/test/" # operator comment does not contain the word "test"Boolean operators
not negation
and boolean and
or boolean or
order.quantity < 2 and not changeSet.hasChangedField ("status") # the total number of products in the order is less than 2 and the order status has not changed
changeSet.hasChangedField ("delivery_cost") or changeSet.hasChangedField ("delivery_net_cost") # the cost or the prime cost of the delivery has changedOperators for working wirh arrays
in is in the array
not in is not in the array
changeSet.hasChangedField("status") and changeSet.newValue("status").groupCode in ["complete", "cancel"] 
# order status changed to status from the Completed or Canceled groups
changeSet.hasChangedField ("delivery_type") and changeSet.newValue ("delivery_type"). code not in ["russian-post", "sdek"] # delivery type changed to any, except Russian post or SDEK