Рабочие дни в календарные

Необходимо сделать задержку в бизнес-процессе на 2 рабочих дня. Для этого используется элемент таймер. Но в нем надо указывать календарное время в секундах.
Каким образом можно перевести рабочее время в календарное, т.е. с учетом рабочего времени и выходных дней согласно календарю?

Нравится

7 комментариев

Как идея - поставить на сутки, и потом по срабатыванию проверять - если этот день выходной, то еще на сутки.

А как проверить, что этот день выходной?

Добрый день!

Как вариант, создать 2 параметра.
1. Тип – Дата/Время – хранит текущее значение даты и времени.
2. Тип – целое число – хранит день недели.
С помощью элемента “Формула” передавать во второй параметр результат функции ДеньНедели(Параметр1). В условном потоке проверять значение второго параметра и порядкового номера дня недели.

Спасибо за комментарии.
Но неужели нет способа как-то использовать календарь? Нужно же еще и праздничные дни учитывать.

Так же как рассчитываются плановые даты по Сервису в карточке Обращения в системе Servicedesk.

Servicedesk использует календарь, через веб-сервисы, примером может служить TermCalculationService

За 5 лет решения не появилось?

Как можно получить рабочий ли день в новом расчете сроков (без устаревшей и неподдерживаемой библиотеки CalendarUtils)? Если по дню недели — то так. У нас есть таблица DayType. У неё есть признак NonWorking. C таблицей dayofweek она связана через DayInCalendar. Напрямую публичного метода, который выдавал бы этот признак, у нас нет. Примеры можно посмотреть в методах FillWeekTemplate и FillDayOffInfo в классе CalendarDataStore.

Показать все комментарии