<< Click to Display Table of Contents >> Практические рекомендации > Настройка бизнес-процессов > Примеры использования блоков «Мониторинг» и «Ожидание» Как запустить задание при выполнении определенного условия в подзадаче |
![]() ![]() |
Ситуация
Предположим, есть вариант процесса начисления отпускных, в котором вызывается вариант процесса ознакомления с приказом. Задание по начислению отпускных бухгалтерией должно формироваться только после ознакомления сотрудника с приказом. По законодательству отпускные должны быть перечислены за несколько дней до начала отпуска. Если сотрудники не выполняют задачу вовремя, то начисление отпускных затягивается.
Необходимо стартовать начисление отпускных, когда приходит определенное задание в задаче «Ознакомление сотрудника с приказом», не дожидаясь завершения задачи.
В этом случае рекомендуется изменить схему варианта процесса одним из способов:
•Использовать блок «Мониторинг»
•Разделить вариант процесса «Задача на ознакомление с приказом»
Решение c использованием блока «Мониторинг»
1.В среде разработки создайте блок «Ознакомление сотрудника с приказом» типа «Задача». В выходных свойствах блока добавьте свойство типа «Ссылка» и укажите тип сущности «Задача на ознакомление сотрудника с приказом».
2.В проводнике системы откройте схему варианта процесса. В свойствах блока «Ознакомление сотрудника с приказом» снимите флажки Задание на приемку и Ожидать завершения. Это позволит не ждать завершения задачи.
3.В среде разработки создайте блок «Мониторинг», для которого:
•задан аргумент «Задача на ознакомление сотрудника с приказом»;
•с помощью выходного свойства, которое передается в блок типа «Мониторинг», проверяется, что первое задание по задаче ознакомление с приказом пришло;
•указан период мониторинга 2 часа.
Добавьте его на схему варианта процесса.
Это решение требует минимального количества модификаций. Кроме того, не нужно разделять вариант процесса «Задача на ознакомление с приказом».
Учитывайте, что использование блоков «Мониторинг» нагружает систему. Если большое количество задач, в которых используются блоки, запускаются примерно в одно время, то быстродействие системы снижается. Для уменьшения нагрузки рекомендуется указывать большой период мониторинга:
•для масштабных процессов, когда отдельные задания приходят всем сотрудникам компании, по возможности укажите период 1 день;
•для небольших процессов достаточно указать период 2 часа.
Решение c помощью разделения варианта процесса
1.Вариант процесса «Задача на ознакомление с приказом» разделите на два:
•в первом варианте процесса должна происходить отправка задания на ознакомление с приказом;
•во втором варианте процесса должны выполняться остальные действия по процессу: подписание приказа и отправка уведомления заинтересованным лицам.
2.В варианте процесса начисления отпускных:
•в свойствах блока «Отправка задания на ознакомление с приказом» проверьте, что сняты флажки Задание на приемку и Ожидать завершения;
•в свойствах блока «Действия по процессу ознакомления с приказом» установите флажок Ожидать завершения. Флажок Задание на приемку должен быть снят.
Так как в этом варианте решения не используется блок «Мониторинг», то дополнительная нагрузка на систему не возникает.
Учитывайте особенности:
•параметры одного варианта процесса нельзя использовать в другом;
•схема варианта процесса разрастается, поэтому сложнее поддерживать ее.
© Компания Directum, 2024 |