Формулировка проблемы: при выполнении действий, связанных с созданием большого количества процессов (например, отправка работы/документа на согласование большому количеству пользователей) могут возникать проблемы (ошибки создания, медленная работа и т.п.), так как действие целиком выполняется синхронно.
Решение: необходимо реализовать возможность асинхронного запуска процессов в тех случаях, когда какое-либо действие может приводить к запуску нескольких параллельных процессов. Случаи, когда это может происходить:
Отправка документа (из клиентской части Synergy и в маршрутах реестров)
Создание работ типа «Согласование», «Утверждение», «Ознакомление» (см. «Схема отправки на согласование» в задаче 2.52.8393)
Создание работ типа «Работа» по общим схемам «Набор параллельных работ типа «Работа»» и «Схема создания работ с ответственным» и схемам особых случаев: «Схема создания работ по протоколу», «Схема работ при утверждении протокола» и «Схема создания работ по шаблону маршрута» (задача 2.52.8393)
Асинхронность запуска соответствующих процессов должна заключаться в том, что пользователю, выполняющему действие, сразу сообщается о факте совершения действия (например, «Документ отправлен») и он может продолжать работу с системой далее. При этом запуск соответствующих действию процессов происходит в фоне (порядок фактического запуска и количество одновременно запускаемых процессов определяется реализацией этой задачи).
Работы, которые запланированы к созданию вышеописанным асинхронным способом, но ещё не были фактически запущены, должны быть обработаны следующим образом:
В модуле «Потоки работ» такие работы отображаются у сотрудников
полностью аналогично «полноценным» работам, за исключением того, что завершить и выставить прогресс такой работе нельзя. На месте прогресса у таких работ должен отображаться статус «обработка»
При открытии такой работы должен быть открыт соответствующий ей документ в режиме «без работ», при этом доступны только кнопки действия с документом. Примечание: аналогичное описанному поведение открытия работы наблюдается в случае открытия завершённой работы из «Потоков работ».
Макеты дизайна:
Цвет статуса «обработка» — #818181
«Ход выполнения» документа, по которому вышеописанным асинхронным способом создаются процессы, должен содержать записи для всех запланированных к запуску процессов. Для тех процессов, которые ещё не являются фактически запущенными, комментарий соответствующей записи хода выполнения заполняется строкой «Идёт обработка...»: