← К заметкам

Заметки

Как прибавить к дате 1 рабочий день и поставить время 17:00

Прибавить к дедлайну сутки и прибавить рабочий день — разные задачи. В пятницу обычное +1 day даст субботу. Если срок должен учитывать рабочий календарь портала, подойдёт такое выражение:

{{=settime(addworkdays({=System:NowLocal}, 1), 17, 0)}}

addworkdays выбирает следующий рабочий день, а settime ставит 17:00. Результат записывайте в поле «Дата/время»: поле с одной датой не хранит часы.

Если правило жёсткое — рабочими считаются только понедельник–пятница, независимо от праздников и переносов, — можно обойтись условием:

{{=if(locdate('N') >= 5, settime(strtotime('next Monday'), 17, 0), settime(strtotime('+1 day'), 17, 0))}}

Этот вариант считает пятницу, субботу и воскресенье переходом на понедельник. Для производственного календаря он не подходит: рабочую субботу и праздничный понедельник условие не распознает.

Документация: Формулы бизнес-процессов.