Валидация параметров типа Date
Для параметров типа Date в декларации, в блоке validations, нужно указать формулу и текст сообщения об ошибке. Значение в параметре будет считаться ошибочным, если формула вернет ложь. В этом случае пользователю будет отображено сообщение об ошибке. Валидация параметра по формуле будет происходить так же, как и валидация обязательности полей.
parameters:
declaration:
- id: parameter-1
caption: Дата возмещения
type: date
mode: date
validations:
- formula: Today() <= [parameter-1]
message: Значение параметра не может быть в прошлом
Поддерживаемы функции:
-
Today() - сегодняшняя дата без времени
-
Now() - текущее время и дата
-
NowUTC()- текущее время и дата в UTC
-
AddDay([дата], [сколько дней добавить], [тип календаря]) - добавляет указанное количество дней к дате. Тип календаря - WorkDays или CalendarDays, соотв. рабочие или календарные дни согласно календаря по-умолчанию
-
[parameter_id] - использовать значение параметра
-
'YYYY-MM-DD' - константа типа дата
-
'YYYY-MM-DD HH:MM:SS' - константа типа дата/время
Пример использования функции добавления дней
validations:
- formula: AddDay(Today(), 3, WorkDays) <= [parameter-1]
message: Значение параметра должно быть на три дня позже чем сегодня
Примеры формул для валидации параметров и условного запуска элементов заявки (формулы возвращают true|false)
Использование двух булевых параметров в формуле через оператор AND.
"[parameter-1] && [parameter-2]"
Использование двух булевых параметров в формуле через оператор OR.
"[parameter-1] || [parameter-2]"
Проверка текстового параметра по регулярному выражению.
"[parameter-3] =~ '\\d+'"
Сравнение числового параметра со значением.
"[parameter-5] > 10"
Сравнение числового параметра со значением. Тут добавляется проверка, параметра на пустое значение, и если так, то берется для него значение 0.
"([parameter-5] ?? 0) > 10"
Сравнение параметра типа Select.
"[parameter-9] == 'Value 1'"
Сравнение параметра типа Date с сегоднешней датой.
"[parameter-7] >= Today()"
Сравнение параметра типа Date с сегоднешней датой с проверкой на пустоту.
"([parameter-7] ?? '') >= Today()"
Проверка любого параметра на пустое значение.
"[parameter-11] != nil"