Процесс запускается ответственным менеджером, которому и ставится первая задача - разработать проект договора.
Следующая задача направляется руководителю АХО, который должен определить, каким образом будет проходить согласование договора, и назначить визирующих сотрудников.
В зависимости от решения руководителя АХО о виде согласования договора, далее система следует по одной из трех ветвей: "Последовательное", "Параллельное согласование" или "Без согласования".
Предположим, что система пошла по ветке "Параллельное согласование". В этом случае всем визирующим сотрудникам ставятся задачи проверки договора, и эти задачи могут выполняться параллельно.
В зависимости от того, сочли ли визирующие сотрудники проект договора составленным корректно, система следует далее по однонй из двух ветвей: "Да" ли "Нет".
Если бы у визирующимх сотрудников были замечания (ветка "Нет"), система поставила бы ответственному сотруднику задачу внести коррективы в проект договора.
Затем договор снова был бы отправлен на проверку визирующим сотрудникам. В случае, если и на этот раз потребовалась бы корректировка, система снова отправила бы договор на доработку ответственному сотруднику и т.д. до тех пор, пока у них не осталось бы никаких замечаний.
Предположим, что система пошла по ветке "Да" (т.е. договор составлен корректно). Тогда система ставит ответственному менеджеру задачу отправить договор контрагенту. Отметим, что если бы руководитель АХО выбрал вариант "Без согласования", то система сразу перешла бы к данной задаче, минуя стадии проверки договора визирующими сотрудниками.
Следующая задача также направляется ответственному менеджеру и заключается в том, чтобы удостовериться, получил ли контрагент договор. На этом процесс завершается.
А теперь вернемся в тот момент, когда система должна была пойти по одной из трех ветвей: "Последовательное", "Параллельное согласование" или "Без согласования". Допустим, что система пошла по ветке "Последовательное". Это означает, что визирующие сотрудники будет проверять проект договора по очереди, причем в определенном порядке. Поэтому при последовательном согласовании система после каждой проверки договора должна обрабатывать список визирующих сотрудников и выбирать следующего. Именно это происходит в процессе на данном шаге.
После обработки списка визирующих сотрудников система определяет, имеются ли сотрудники, которые еще не проверяли проект договора. В зависимости от этого система следует далее по одной из двух ветвей: "Да" или "Нет".
Предположим, что еще не все визирующие сотрудники проверили проект договора. Тогда система ижет по ветке "Да" и ставит задачу проверки договора первому визирующему сотруднику из тех, кто его еще не проверял.
В зависимости от того, счел ли визирующий сотрудник договор корректно составленным, система, как и ранее, следует далее по одной из двух ветвей: "Да" или "Нет".
Если бы система пошла по ветке "Нет", ответственный сотрудник получил бы задачу внести в проект договора коррективы.
Затем система снова поставила бы визирующему сотруднику задачу проверки и т.д. до тех пор, пока у данного сотрудника не осталось бы замечаний к договору.
Пусть система пошла по ветке "Да" (т.е. у текущего визирующего сотрудника больше нет замечаний к проекту договора). В этом случае система снова выполняет обработку списка визирующих сотрудников, чтобы выбрать следующего сотрудника, которому будет назначена задача проверки. Если затем после проверки условия обработки система пойдет по ветке "Нет" (т.е. все сотрудники из списка проверят договор), осуществится переход к задаче отправки договора контрагенту, и процесс пойдет согласно описанным ранее шагам.