Принцип работы | - Отбираются листы со статусом InProcess = 1 и полем NextSendNoticeDateTime равным или раньше текущего времени сервера. Если поле NextSendNoticeDateTime позже текущего времени или лист уже завершен или прерван, то лист уже был обработан другим экземпляром агента и его обработка на текущем сервере пропускается.
- Отбираются все визы по листу согласования не в статусе «Черновик».
- У листа определяется текущая стадия:
- у комбинированного листа определяются участники текущей стадии, еще не принявшие участие в согласовании.
- у последовательного листа это будет единственный участник текущей стадии.
- Если на текущей стадии согласовали все, удаляется поле NextSendNoticeDateTime и завершается обработка текущего листа. Сроки следующей отправки напоминаний будут вычислены агентом по изменениям.
- Определяется время перехода на текущую стадию листа LastConsistVisaDateTime. По продолжительности текущей стадии и рабочему профилю инициатора определяется, что текущая стадия просрочена. Время окончания стадии вычисляется как дата начала согласования Begin или перехода на новую стадию LastConsistVisaDateTime плюс продолжительность стадии с учетом рабочего профиля инициатора.
- Если стадия просрочена, по настройкам стадии определяется дальнейшее действие:

- ничего не делать. Никакие действия не принимаются. Такие листы отбираться не будут.
- продолжить процесс. Делается переход на новую стадию/завершение листа. Если стадия последняя, инициатору никакие уведомления о просрочке не отправляются. Задачи на согласование у участников, не успевших согласовать в текущей стадии, отмечаются выполненными.
- однократное уведомление инициатору и продолжить процесс. Делается переход на новую стадию/завершение листа. Инициатору отправляется однократное уведомление от "Согласование", если текущая стадия – не последняя. Задачи на согласование у участников, не успевших согласовать в текущей стадии, отмечаются выполненными.
- оставить и посылать периодическое уведомление визирующему. Просрочившему участнику и сотрудникам, которым были делегированы права на согласование от этого участника, отправляется напоминание
- оставить и посылать периодическое уведомление визирующему и инициатору. Просрочившему участнику и сотрудникам, которым были делегированы права на согласование от этого участника, отправляется напоминание, инициатору отправляется однократное уведомление от "Согласование".
- Если стадия не просрочена, то не согласовавшим участникам отправляется уведомление.
- Если был сделан переход на новую стадию, у первичных листов обновляется результат согласования.
- Вычисляется время следующей отправки уведомления, если лист не был завершен.
- Если лист был переведен на новую стадию или завершен, обновляется результат согласования, в поле $Modified листа (время последнего изменения) добавляется текущее время. Если лист был завершен, обновляется статус РКК.
|
---|