Функции калькулятора выражений

Урок 363 из 839
Автор: Марина Павлова
Сложность урока:
4 уровень - сложно, требуется сосредоточится, внимание деталям и точному следованию инструкции.
4 из 5
Дата изменения: 24.06.2021
Просмотров: 66012
Ограничения по редакциям: Старт, Стандарт, Малый бизнес

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

  Операторы

Доступно использование следующих операторов:

ОператорОписание
+ Сложение.
- Вычитание.
* Умножение.
/ Деление.
= Равно.
<> Не равно.
< Меньше.
> Больше.
<= Меньше или равно.
>= Больше или равно.
() Порядок действий.
& Оператор конкатенации, который возвращает строку, представляющую собой соединение левого и правого аргумента.
^ Возведение в степень.
% Вычисление процентов.
true Правда.
false Ложь.
and Логический оператор И.
or Логический оператор ИЛИ.

Пример: =if(or({=Variable:aaa}>2, {=Variable:bbb}<10), "yes", "no")
not Отрицание.

  Функции для вычислений

В действиях при проектировании бизнес-процесса есть возможность использовать функции. Их можно добавить двумя способами:

  • Выбрать из списка. Для этого напишите в поле знак = и откроется список:

    Нажмите на рисунок, чтобы увеличить

  • Внести вручную.

Список функций с примерами:


ФункцияОписание
abs Вычисление модуля числа.
dateadd Добавляет заданное количество дней, месяцев, лет, часов, минут и секунд к указанной дате.

Синтаксис: =dateadd([начальная_дата], [что_добавлять]);

Варианты написания и примеры
datediff Позволяет вычислить разницу между двумя датами.

Синтаксис:
=datediff([первая дата], [вторая дата], [как выводить разницу]);

Разницу можно выводить в разных единицах, в зависимости от решаемых вами задач.

Примеры:
=datediff({=Variable:Variable1}, {=Variable:Variable2},'%m month, %d days')

date Форматируется вывод даты/времени Лучший вариант для выполнения этой задачи. Использование строковых функций типа substr и strpos не рекомендуется. . Работает аналогично функции Date в PHP.
WorkDateAdd Добавляет заданное количество рабочих дней, часов и минут к указанной дате.

Синтаксис:
=WorkDateAdd([начальная_дата], [что_добавлять], [пользователь]).

Параметр [пользователь] не обязательный. С его помощью можно указать пользователя, на рабочее время которого нужно ориентироваться. Доступен с версии 19.0.0 модуля bizproc.

Варианты написания и примеры

AddWorkDays Функция добавляет N рабочих дней к указанной дате.

Синтаксис:
=addworkdays([дата, к которой будут добавляться дни], [количество добавляемых рабочих дней]).

Примеры:

  • {{=addworkdays('07.03.2016', 1)}} - результат: 09.03.2016 00:00:00, т.к. в настройках сайта 8 марта - выходной.
  • {{=addworkdays('05.02.2016 16:14:00', 1)}} - результат: т.к. 05.02.2016 - пятница, то результат: 08.02.2016 16:14:00 - понедельник.

isWorkDay Проверяет, является ли дата рабочим днем (по Календарю).

Синтаксис:
=if(isWorkDay([проверяемая дата], [пользователь]), [сообщение, если дата является рабочим днем], [сообщение, если не является]).

Параметр [пользователь] не обязательный. С его помощью можно указать пользователя, на рабочее время которого нужно ориентироваться. Доступен с версии 19.0.0 модуля bizproc.

Пример:
{{=if(isWorkDay({=Template:Parameter1}), 'Да', 'Нет')}} - в параметре содержится дата 28.04.2016. Результат - Да, т.к. это рабочий день.

isWorkTime Аналогична функции isWorkDay, но для типов данных Дата/Время.

Синтаксис:
=if(isWorkDay([проверяемая дата со временем], [пользователь]), [сообщение, если дата со временем являются рабочими], [сообщение, если не являются]).

Параметр [пользователь] не обязательный. С его помощью можно указать пользователя, на рабочее время которого нужно ориентироваться. Доступен с версии 19.0.0 модуля bizproc.

Пример:
{{=if(isWorkTime({=Template:Parameter1}), 'Да', 'Нет')}} - в параметре содержится дата со временем 27.04.2016 15:00:00. Результат - Да, т.к. это рабочее время.

toUserDate Функция приводит любое время к времени сотрудника (с учетом его часового пояса).
toUserDate(
   user,
   date=now
)
Параметры
  • user - пользователь, к чьему времени необходимо привести время БП;
  • date - начальная дата, по умолчанию - текущее время.
GetUserDateOffset Функция возвращает значение смещения часовой зоны пользователя в секундах (относительно серверного времени).
GetUserDateOffset(
   user
)
Параметры:
  • user - пользователь, относительно чьего времени нужно значение.
if Условный оператор.

Синтаксис:
=if([условие], [результат_в_случае_выполнения_условия], [результат_в_случае_не_выполнения_условия]);

Пример:
=if ({=Variable:Variable1_printable}>0, "да", "нет")

При сравнении значений переменных также возможно сравнивать переменные с разным типом данных. Однако сравниваемые переменные должны соответствовать таблице преобразования типов.

intval Возвращает целое число.
Пример:
=intval("234j4hv5jhv43v53jk4vt5hj4") вернет 234.
floatval Возвращает число (с плавающей точкой).
numberformat Форматирует число с разделением групп.
min Возвращает наименьшее число.
max Возвращает наибольшее число.
rand Возвращает случайное число.
round Округляет число.
ceil Округляет дробь в большую сторону.
floor Округляет дробь в меньшую сторону.
substr Возвращает подстроку определенной длины, начиная с указанного символа. Данная функция аналогична существующей substr в php.

Синтаксис:
substr([входная строка], [с какого символа исходной строки начнется возвращаемая статья], [какой длины будет строка])

Имейте ввиду, что строка начинает с символа под номером 0. Например, в строке 'abcdef', в позиции 0 находится символ 'a', в позиции 2 - символ 'c', и т.д.

Пример:
{{=substr("0123456789", 3, 4)}} вернет 3456.

Внимание! Если синтаксис выражения будет неправильным, то оно отобразится как текст.
strpos Возвращает позицию первого вхождения подстроки.
strlen Возвращает длину строки.
implode Объединяет множественные значения в строку. Полезна, когда нужно вывести в текст значения множественных переменных нестандартным разделителем (стандартный - просто запятая). Аналог implode в PHP.
Возвращает строку, содержащую строковое представление всех элементов массива в указанном порядке, со значением glue между каждым элементом.
implode(
   glue,
   pieces
) 
Параметры:
  • glue - по умолчанию равен пустой строке;
  • pieces - массив объединяемых строк.
explode Функция разбивает строку с помощью разделителя. Полезна, когда нужно разбить строку и присвоить части как значение множественной переменной. Аналог explode в PHP.
Возвращает массив строк, полученных разбиением строки str с использованием delimiter в качестве разделителя.
explode(
   delimiter,
   str)
Параметры:
  • delimiter - разделитель;
  • str - строка для разделения.
randstring Возвращает случайную строку.
merge Позволяет объединять массивы.

Синтаксис:
= merge({=массив_1}, {=массив_2});

Пример:
= merge({=Document:FILES}, {=Variable:file}).

urlencode URL-кодирование строки.



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

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

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