Вычисление значений выражений в параметрах действий
В системе можно вычислять значения выражений в параметрах действий. Например, складывать, умножать, вычислять проценты и многое другое.
Для выполнения вычислений нужно поставить знак = в поле перед операциями.
В каждом поле можно использовать сразу несколько разных вычислений. Если Вы хотите не только произвести вычисление, но и вывести дополнительные данные (значение переменных, текст), то доступно два варианта написания:
Вычисляемые значения можно просто размещать в тексте, поместив вычисление в конструкцию .
Либо можно использовать оператор конкатенации ( & ), а текст писать в кавычках ( " ).
Операторы
Список доступных операторов Оператор Описание + Сложение. - Вычитание. * Умножение. / Деление. = Равно. <> Не равно. < Меньше. > Больше. <= Меньше или равно >= Больше или равно. () Порядок действий. & Оператор конкатенации, который возвращает строку, представляющую собой соединение левого и правого аргумента. ^ Возведение в степень. % Вычисление процентов. 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 , это будет наш соисполнитель.
Далее заполним параметры задачи.
После запуска бизнес-процесса в задачу будут добавлены произвольные сотрудники в качестве ответственного и соисполнителя.