Вычисление значений выражений в параметрах действий

Урок 361 из 839
Автор: Марина Павлова
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
3 из 5
Дата изменения: 13.07.2021
Просмотров: 68419
Ограничения по редакциям: Старт, Стандарт, Малый бизнес

В системе имеется возможность вычислять значения выражений в параметрах действий. Например складывать, умножать, вычислять проценты и многое другое.

Примечание: Полный список доступных операторов и функций приведен в уроке Функции калькулятора выражений.

  Вычисляем выражения

Для выполнения вычислений требуется поставить знак = в поле перед операциями.

Пример: =6^2 + {=Document:PROPERTY_NUM}/2 или =if({Document:ID}=5, "текст1", "текст2").

В каждом поле доступно использовать сразу несколько разных вычислений.

Если Вы хотите не только произвести вычисление, но и вывести дополнительные данные (значение переменных, текст), то доступно два варианта написания:

  • Вычисляемые значения можно просто размещать в тексте, поместив вычисление в конструкцию {{=...}}.
    Пример:Вам необходимо оформить документы до {{=DateAdd({=Document:CREATED}, '5d')}}:

  • Либо можно использовать оператор конкатенации (&), а текст написать в кавычках (").
    Пример : ="Ответ:" & (1+3) или ="Автор: " & {=Document:CREATED_BY} & ", " & "Конечный срок: " & Dateadd({=Document:DATE_CREATE}, "1d")
Примечание: Синтаксис символьных операторов аналогичен синтаксису соответствующих php-функций.

  Рекомендации

Будьте внимательны при использовании фигурных скобок {{...}} или их автоматической подстановке, выбирая функции из списка. Неверная постановка скобок - это частая ошибка при работе с вычислениями выражений в бизнес-процессах.

Верная запись  

=datediff({{Дата создания элемента}},{{Дата изменения элемента}},"%a") * 2 если нет дополнительного текста
или
{{=datediff({{Дата создания элемента}},{{Дата изменения элемента}},"%a") * 2}}, если требуется добавить дополнительный текст.

Неверная запись  

={{=datediff({{Дата создания элемента}},{{Дата изменения элемента}},"%a")}} * 2
или
{{={{=datediff({{Дата создания элемента}},{{Дата изменения элемента}},"%a")}} * 2}}

Другой удобный способ - перенести часть вычислений в переменную Переменные используются для временного хранения данных, необходимых для выполняемого процесса. Значения переменных хранятся до тех пор, пока выполняется бизнес-процесс. После его завершения они все стираются.

Подробнее...
. На примере выражения выше, можно перенести вычисление функции datediff в переменную (действие Изменение переменных Действие позволяет изменить значения переменных, заданных в настройках шаблона.

Подробнее...
). А затем уже эту переменную умножать на 2. Получим запись вида: ={=Variable:Variable2}*2, где в переменной Variable2 хранится значения вычисления функции: =datediff({{Дата создания элемента}},{{Дата изменения элемента}},"%a").



Курсы разработаны в компании «1С-Битрикс»
Спасибо, мы рады что смогли помочь Вам. Ниже Вы можете оставить свой отзыв или пожелание :)
Нам жаль это слышать… Но мы постараемся быть лучше! Поясните, пожалуйста, свой выбор:

Мы благодарны Вам за помощь в улучшении документации.

Мы стараемся сделать документацию понятнее и доступнее,
и Ваше мнение важно для нас