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

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

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

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

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

Вычисляемые значения можно просто размещать в тексте, поместив вычисление в конструкцию .

Либо можно использовать оператор конкатенации ( & ), а текст писать в кавычках ( " ).

Операторы

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

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

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

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

Добавляет заданное количество дней, месяцев, лет, часов, минут и секунд к указанной дате.

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

y , year , years , m , month , months , d , day , days , h , hour , hours , min , minute , minutes , s , second , seconds .

При написании можно использовать верхний или нижний регистр.

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

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

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

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

Функция выдает дату в указанном формате и работает аналогично функции Date в PHP.

Синтаксис - =date ('формат вывода', )

Добавляет заданное количество рабочих дней, часов и минут к указанной дате.

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

d, day, days, h, hour, hours, i, min, minute, minutes . Допустимо написание как в верхнем, так и в нижнем регистре.

Результат - 02.05.2016 09:00:00, т.к. 30.04 и 1.05 - это выходные дни, то они будут пропущены. 09:00:00 - начало рабочего дня.

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

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

- результат: т.к. 05.02.2016 - пятница, то результат: 08.02.2016 16:14:00 - понедельник.

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

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

Результат - Да, т.к. это рабочее время.

  • user - пользователь, к чьему времени необходимо привести время бизнес-процесса.
  • date - начальная дата, по умолчанию - текущее время.
  • user - пользователь, относительно чьего времени нужно значение.

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

Синтаксис: =rand([минимальное значение],[максимальное значение]) .

Обязательным является только указание минимального значения. Если вы не хотите ограничивать верхнюю границу, то можете не указывать второй параметр, например =rand(17) .

Синтаксис: =round([что округляем],[количество знаков после запятой])

  • =round(10/3,2) - получаем 3.33.
  • =round(5/2) - получаем 3.

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

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

Внимание! Если синтаксис выражения будет неправильным, то оно будет отображено как текст.

  • glue - по умолчанию равен пустой строке
  • pieces - массив объединяемых строк.
  • delimiter - разделитель
  • str - строка для разделения.

Рассмотрим работу функций: shuffle , firstvalue и swirl на примере бизнес-процесса. С помощью этого бизнес-процесса можно поставить задачу для произвольного сотрудника из списка и добавить в соисполнители другого пользователя.

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

Сначала перемешаем список пользователей с помощью shuffle и возьмем первого с помощью firstvalue , это будет наш ответственный.

Затем сдвинем этот список с помощью swirl и возьмем первого с помощью firstvalue , это будет наш соисполнитель.

Далее заполним параметры задачи.

После запуска бизнес-процесса в задачу будут добавлены произвольные сотрудники в качестве ответственного и соисполнителя.

📎📎📎📎📎📎📎📎📎📎