abs
Вычисление модуля числа.
dateadd
Добавляет заданное количество дней, месяцев, лет, часов, минут и секунд к указанной дате.
Синтаксис: =dateadd([начальная_дата], [что_добавлять])
Варианты написания и примеры
y
, year
, years
, m
, month
, months
, d
, day
, days
, h
, hour
, hours
, min
, minute
, minutes
, s
, second
, seconds
.
При написании можно использовать верхний или нижний регистр.
Примеры: {{=DateAdd({{Дата создания элемента}}, '-2d')}}
, {{=DateAdd({{Дата создания элемента}}, '2 days 3 minutes')}}
.
В случае, если необходимое для добавления количество единиц времени содержится в поле, переменной и т.п., то необходимо использовать оператор конкатенации &
.
Например: {{=DateAdd({{Дата создания элемента}}, {=Variable:WHAT2ADD} & "y 10h")
datediff
Позволяет вычислить разницу между двумя датами.
Синтаксис: =datediff([первая дата], [вторая дата], [как выводить разницу])
Разницу можно выводить в разных единицах, в зависимости от решаемых вами задач.
Примеры: =datediff({=Variable:Variable1}, {=Variable:Variable2},'%m month, %d days')
date
Функция выдает дату в указанном формате и работает аналогично функции Date в PHP.
Синтаксис — =date ('формат вывода', {нужная дата})
WorkDateAdd
Добавляет заданное количество рабочих дней, часов и минут к указанной дате.
Синтаксис: =WorkDateAdd([начальная_дата], [что_добавлять])
.
Варианты написания и примеры
d, day, days, h, hour, hours, i, min, minute, minutes
. Допустимо написание как в верхнем, так и в нижнем регистре.
Пример: =WorkDateAdd({=Template:Parameter1}, "2d")
— в параметре содержится дата 28.04.2016
.
Результат — 02.05.2016 09:00:00, т.к. 30.04 и 1.05 — это выходные дни, то они будут пропущены. 09:00:00 — начало рабочего дня.
Настроить список выходных дней и начало рабочего дня можно в Настройках портала.
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([проверяемая дата]), [сообщение, если дата является рабочим днем], [сообщение, если не является])
.
Пример: {{=if(isWorkDay({=Template:Parameter1}), 'Да', 'Нет')}}
— в параметре содержится дата 28.04.2016
. Результат — Да, т.к. это рабочий день.
isWorkTime
Аналогична функции
isWorkDay
, но для типов данных Дата/Время.
Синтаксис: =if(isWorkDay([проверяемая дата со временем]), [сообщение, если дата со временем являются рабочими], [сообщение, если не являются])
.
Пример:{{=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
Возвращает случайное число.
Синтаксис: =rand([минимальное значение],[максимальное значение])
.
Обязательным является только указание минимального значения. Если вы не хотите ограничивать верхнюю границу, то можете не указывать второй параметр, например =rand(17)
.
Пример: =rand(0,10)
— выбор числа от 0 до 10.
round
Округляет число.
Синтаксис: =round([что округляем],[количество знаков после запятой])
Примеры:
=round(10/3,2)
— получаем 3.33.
=round(5/2)
— получаем 3.
ceil
Округляет дробь в большую сторону.
Пример: =ceil(5.5)
получаем 6.
floor
Округляет дробь в меньшую сторону.
Пример: =floor(5.5)
получаем 5.
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({{Другие файлы}}, {=Variable:file})
.
urlencode
URL-кодирование строки.
strtolower
Преобразует строку в нижний регистр.
strtoupper
Преобразует строку в верхний регистр.
ucwords
Преобразует в верхний регистр первый символ каждого нового слова в строке.
firstvalue
Возвращает первое значение множественного поля.
swirl
Перемещает первое значение множественного поля в конец. На вход подается множественное поле, на выходе получаем значения сдвинутые на один шаг влево, т.е. первое значение встало в конец. Сдвиг всегда происходит на один шаг.
shuffle
Перемешивает значение множественного поля. Аналог shuffle в PHP. На вход подается множественное поле, на выходе получаем перемешанные значения этого множественного поля.
Пример
Рассмотрим работу функций: shuffle
, firstvalue
и swirl
на примере бизнес-процесса. С помощью этого бизнес-процесса можно поставить задачу для произвольного сотрудника из списка и добавить в соисполнители другого пользователя.
В бизнес-процессе используется множественная переменная Пользователи, в которой хранится список сотрудников.
Сначала перемешаем список пользователей с помощью shuffle
и возьмем первого с помощью firstvalue
, это будет наш ответственный.
Затем сдвинем этот список с помощью swirl
и возьмем первого с помощью firstvalue
, это будет наш соисполнитель.
Далее заполним параметры задачи.
После запуска бизнес-процесса в задачу будут добавлены произвольные сотрудники в качестве ответственного и соисполнителя.