В системе можно вычислять значения выражений в параметрах действий. Например, складывать, умножать, вычислять проценты и многое другое.
	 Для выполнения вычислений нужно поставить знак = в поле перед операциями.
=6^2 + {{Сумма}}/2 или =if({{ID}}=5, "текст1", "текст2"). В каждом поле можно использовать сразу несколько разных вычислений. Если Вы хотите не только произвести вычисление, но и вывести дополнительные данные (значение переменных, текст), то доступно два варианта написания:
- 
	
Вычисляемые значения можно просто размещать в тексте, поместив вычисление в конструкцию
{{=...}}.Пример :Вам необходимо оформить документы до {{=DateAdd({{Дата создания элемента}}, '5d')}}. 
- 
	
Либо можно использовать оператор конкатенации (
&), а текст писать в кавычках ("). 
Уроки, обучение, полезные истории, кейсы и эксклюзивные эфиры — все в Telegram-канале для пользователей «Битрикс24 печатает»
Операторы
При вычислении значений выражений в параметрах действий вы можете использовать различные операторы и функции.Список доступных операторов
| Оператор | Описание | 
|---|---|
 +
		 | 
		Сложение. | 
 -
		 | 
		Вычитание. | 
 *
		 | 
		Умножение. | 
 / 
		 | 
		Деление. | 
 =
		 | 
		Равно. | 
 <>
		 | 
		Не равно. | 
 <
		 | 
		Меньше. | 
 >
		 | 
		Больше. | 
 <=
		 | 
		Меньше или равно | 
 >=
		 | 
		Больше или равно. | 
 ()
		 | 
		Порядок действий. | 
 &
		 | 
		Оператор конкатенации, который возвращает строку, представляющую собой соединение левого и правого аргумента. | 
 ^
		 | 
		Возведение в степень. | 
 %
		 | 
		Вычисление процентов. | 
 true
		 | 
		Правда. | 
 false
		 | 
		Ложь. | 
 and
		 | 
		логический оператор И | 
 or
		 | 
		
 логический оператор ИЛИ. 
		 Пример:  
		=if(or({=Variable:aaa}>2, {=Variable:bbb}<10), "yes", "no") | 
	
 not
		 | 
		Отрицание. | 
Функции для вычислений
	 В действиях при проектировании бизнес-процесса можно использовать функции. Их можно выбрать из списка. Для этого напишите в поле знак = и откроется список.
Список функций с примерами
| Функция | Описание | 
|---|---|
abs
    | 
   Вычисление модуля числа. | 
dateadd
    | 
   
      Добавляет заданное количество дней, месяцев, лет, часов, минут и секунд к указанной дате. 
        Синтаксис:  Варианты написания и примеры 
			
 При написании можно использовать верхний или нижний регистр.  Примеры:  
     {{=DateAdd({{Дата создания элемента}}, '-2d')}}, {{=DateAdd({{Дата создания элемента}}, '2 days 3 minutes')}}.
        В случае, если необходимое для добавления количество единиц времени содержится в поле, переменной и т.п., то необходимо использовать оператор конкатенации   Например:  
     {{=DateAdd({{Дата создания элемента}}, {=Variable:WHAT2ADD} & "y 10h") 
  | 
 
datediff
    | 
   
      Позволяет вычислить разницу между двумя датами. 
        Синтаксис:  Разницу можно выводить в разных единицах, в зависимости от решаемых вами задач.  Примеры:  
   =datediff({=Variable:Variable1}, {=Variable:Variable2},'%m month, %d days') | 
 
date
    | 
   
      Функция выдает дату в указанном формате и работает аналогично функции Date в PHP. 
        Синтаксис -   | 
 
WorkDateAdd
    | 
   
      Добавляет заданное количество рабочих дней, часов и минут к указанной дате. 
        Синтаксис:  Варианты написания и примеры 
			
 
  Пример:  
     =WorkDateAdd({=Template:Parameter1}, "2d") - в параметре содержится дата 28.04.2016.
     
     Результат - 02.05.2016 09:00:00, т.к. 30.04 и 1.05 - это выходные дни, то они будут пропущены. 09:00:00 - начало рабочего дня. Настроить список выходных дней и начало рабочего дня можно в Настройках портала. 
  | 
 
AddWorkDays
    | 
   
      Функция добавляет N рабочих дней к указанной дате.
      
        Синтаксис:   Примеры:  
   {{=addworkdays('07.03.2016', 1)}} - результат: 09.03.2016 00:00:00, т.к. в настройках сайта 8 марта - выходной.
     
  | 
 
isWorkDay
    | 
   
      Проверяет, является ли дата рабочим днем (по Календарю).
      
        Синтаксис:  Пользователя можно не указывать. Этот параметр нужен, только если нужно проверить занятость конкретного сотрудника. Пример:  
   {{=if(isWorkDay({=Template:Parameter1}), 'Да', 'Нет')}} - в параметре содержится дата 28.04.2016. Результат - Да, т.к. это рабочий день.  | 
 
isWorkTime
    | 
   
      Аналогична функции isWorkDay, но для типов данных Дата/Время.
     
        Синтаксис:  Пример: 
   {{=if(isWorkTime({=Template:Parameter1}), 'Да', 'Нет')}} - в параметре содержится дата со временем 27.04.2016 15:00:00.
     Результат - Да, т.к. это рабочее время. 
  | 
 
toUserDate
    | 
   
      Функция приводит любое время к времени сотрудника (с учетом его часового пояса).
      
 toUserDate(user,date=now)Параметры: 
 
 
  | 
 
GetUserDateOffset
    | 
   
      Функция возвращает значение смещения часовой зоны пользователя в секундах (относительно серверного времени).
      
 GetUserDateOffset(user)Параметр: 
  | 
 
  getdocumenturl
      | 
     
       Функция возвращает ссылку на текущий документ, в котором запущен процесс. Синтаксис:{{=getdocumenturl [Форматирование ссылки], [Полная ссылка]}}
     Параметры оформления ссылки: 
 Примеры: 1. Ссылка с форматированием bb-code:
  {{=getdocumenturl('bb')}} 
      | 
   
 
if
    | 
   
      Условный оператор.
      
        Синтаксис:  Пример:  
   {{=if({=СУММА} > 100000, "Крупная сделка", "Обычная сделка")}})
     Здесь проверяется сумма сделки, и если она больше 100 000, выводится «Крупная сделка». При сравнении значений переменных также возможно сравнивать переменные с разным типом данных. Однако сравниваемые переменные должны соответствовать таблице преобразования типов (она есть в этой статье).  | 
 
intval
    | 
   
Возвращает целое значение переменной. 
		 Пример: 
   =intval("234j4hv5jhv43v53jk4vt5hj4") вернет 234 | 
 
floatval
    | 
   Возвращает число (с плавающей точкой). | 
numberformat
    | 
    Функция помогает отображать числа удобными для чтения: 
   {{=numberformat(2500000.75; 2; ","; " ")}}
   → "2 500 000,75"
     | 
 
min
    | 
   Возвращает наименьшее значение. | 
max
    | 
   Возвращает наибольшее число. | 
rand
    | 
   
      Возвращает случайное число.
      
        Синтаксис:  
        Обязательным является только указание минимального значения. Если вы не хотите ограничивать верхнюю границу, то можете не указывать второй параметр, например   Пример:  
     =rand(0,10) - выбор числа от 0 до 10.
  | 
 
round
    | 
   
Округляет число.
      
        Синтаксис:  Примеры: 
 
 
  | 
 
ceil
    | 
   
      Округляет дробь в большую сторону.
		 Пример:  
   =ceil(5.5) получаем 6. | 
 
floor
    | 
   
      Округляет дробь в меньшую сторону. 
		 Пример:  
   =floor(5.5) получаем 5. | 
 
substr
    | 
   
      Возвращает подстроку определенной длины, начиная с указанного символа. Данная функция аналогична существующей в php, более подробно о ее возможностях вы можете прочитать здесь.
      
        Синтаксис:  Имейте в виду, что строка начинает с символа под номером 0. Например, в строке 'abcdef', в позиции 0 находится символ 'a', в позиции 2 - символ 'c', и т.д. Пример:  
     
   {{=substr("0123456789", 3, 4)}} вернет 3456.
     Внимание! Если синтаксис выражения будет неправильным, то оно будет отображено как текст. 
  | 
 
strpos
    | 
   Возвращает позицию первого вхождения подстроки. | 
strlen
    | 
   Возвращает длину строки. | 
implode
    | 
   
      Объединяет множественные значения в строку. Полезна, когда нужно вывести в текст значения множественных переменных нестандартным разделителем (стандартный - просто запятая). Аналог  implode в PHP. Возвращает строку, содержащую строковое представление всех элементов массива в указанном порядке, со значением glue между каждым элементом.
		implode(glue,pieces) Параметры: 
 
  | 
 
explode
    | 
   
      Функция разбивает строку с помощью разделителя. Полезна, когда нужно разбить строку и присвоить части как значение множественной переменной. Аналог  explode в PHP. Возвращает массив строк, полученных разбиением строки str с использованием delimiter в качестве разделителя. 
		explode(delimiter, str) Параметры: 
 
  | 
 
randstring
    | 
   Возвращает случайную строку. | 
merge
    | 
   
      Позволяет объединять массивы.
      
        Синтаксис:  Пример:  
   = merge({{Другие файлы}}, {=Variable:file}). | 
 
urlencode
    | 
   URL-кодирование строки. | 
strtolower
    | 
   Преобразует строку в нижний регистр. | 
strtoupper
    | 
   Преобразует строку в верхний регистр. | 
ucwords
    | 
   Преобразует в верхний регистр первый символ каждого нового слова в строке. | 
firstvalue
    | 
   Возвращает первое значение множественного поля. | 
 swirl
    | 
   Перемещает первое значение множественного поля в конец. На вход подается множественное поле, на выходе получаем значения сдвинутые на один шаг влево, т.е. первое значение встало в конец. Сдвиг всегда происходит на один шаг. | 
shuffle
    | 
   
      Перемешивает значение множественного поля. Аналог  shuffle в PHP. На вход подается множественное поле, на выходе получаем перемешанные значения этого множественного поля. 
		 Пример 
			
 
        Рассмотрим работу функций:  В бизнес-процессе используется множественная переменная Пользователи, в которой хранится список сотрудников. 
        Сначала перемешаем список пользователей с помощью  Затем сдвинем этот список с помощью swirl и возьмем первого с помощью firstvalue, это будет наш соисполнитель.
     
 
 Далее заполним параметры задачи. После запуска бизнес-процесса в задачу будут добавлены произвольные сотрудники в качестве ответственного и соисполнителя.  | 
 
settime
   | 
  
      Функция добавить точное время к любой дате. 
       Синтаксис:  Примеры: 
  | 
trim
   | 
  
      Функция убирает лишние пробелы в начале и конце текста. 
       Синтаксис:  
      Пример: Если в переменной Variable1 записано « 123 » (с пробелами),
      то после применения функции:
      
        | 
Рекомендую также прочитать: