Условие для определения рабочий/нерабочий день в бизнес-процессах
Добрый вечер, подскажите, пожалуйста, как можно реализовать задачу с помощью бизнес-процессов: допустим, если активность была создана в чт после 17:00, то установить время завершения активности и запуск блока “Изменить данные” на след. день на в 11:00.
Нравится
Мария, добрый день!
Для решения задачи вам помогут такие свойства:
https://msdn.microsoft.com/ru-ru/library/system.datetime.dayofweek(v=vs…
https://msdn.microsoft.com/en-us/library/system.datetime.minute(v=vs.11…
Можно разделить Дату создания на составляющие и записать результат в параметры процесса.
1. Первый параметр (условно CreatedOnDayOfWeek) будет хранить день недели, когда создана активность.
Примечание! Можно получить день недели в виде числа: Convert.ToInt32(currentDateTime.DayOfWeek), где вместо currentDateTime - подставить параметр с датой создания активности
2. Второй параметр (условно Hour) будет хранить час.
Дизайен процесса:
1. Стартовый сигнал по добвлению активности.
2. Читать данные в активности, где Id = Пункт 1. Id
После пунтк 2 добавить условный поток. В условном потоке проверять: (CreatedOnDayOfWeek ==4) && (Hour> 17)
3. Изменить данные в активности, где Id = Пункт 2. Id. Установить новую дату завершения