Skip to Content
☝️ Документация находится в разработке
СправочникБизнес-процессыКак работают блок задач и блок задержки в бизнес-процессах

Как работают блок задач и блок задержки в бизнес-процессах

В статье разобраны типовые ошибки, приводящие к дублированию задач или их не созданию в бизнес-процессах. Объяснены причины и даны рекомендации по правильной настройке блоков задач, задержек и вложенных процессов.

В конструкторе бизнес-процессов нашего приложения часто используются блоки задач и задержки. Правильная комбинация этих элементов позволяет строить чёткие, управляемые сценарии. Но если использовать их неосмотрительно — можно столкнуться с дублированием задач или их не созданием.

Типичная проблема

Пример: есть две задачи, после выполнения их обеих должны создаваться следующие две задачи.

Представим типичную ситуацию:

  • Есть две задачи: Задача 1 и Задача 2
  • После их завершения должны быть созданы: Задача 11 и Задача 22
  • Между ними стоит задержка

Такой сценарий встречается часто. Можно предположить, что как только обе задачи завершатся с произведенным результатом, после задержки создадутся следующие.

Но на деле:

  • Завершилась Задача 1 → стрелка в задержку → задержка сработала → блок задач создал Задачи 11 и 22
  • Завершилась Задача 2 → всё повторяется → блок задач снова создал Задачи 11 и 22

Итог: каждая следующая задача создаётся дважды.

Пример неправильной настройки блоков задач и задержек

Почему так происходит?

  • Блок задержки не объединяет потоки. Он срабатывает каждый раз независимо, на каждую входящую стрелку
  • Блок задач, стоящий после задержки, отрабатывает на каждое её срабатывание — и каждый раз создаёт одни и те же задачи заново

Как избежать дублирования задач

Чтобы задачи 11 и 22 создавались только один раз после завершения обеих предыдущих:

  • Не ставьте задержку между группами задач
  • Проведите стрелки напрямую от Задачи 1 и Задачи 2 в блоки задач
  • Блоки задач будут ждать обе стрелки, и сработают только когда обе задачи завершатся

На схеме: задача 11 создастся только после произведенного результата в задачах 1 и 2, задача 22 также создастся только после произведенного результата в задачах 1 и 2.

Правильная настройка блоков задач

Задачи могут не создаваться

Не всегда задачи создаются, даже если логика процесса кажется правильной. Иногда задачи не выполняются, потому что:

  • В блок задач ведёт несколько стрелок, и не все условия выполнения стрелок выполняются к моменту их активации
  • Например, вторая стрелка может быть невыполнима на момент создания задач (например, если не выполнены какие-то предшествующие условия или задачи)

Важно: Задержка после блока задач не задерживает создание задач, потому что они создаются в момент активации блока. Она может применяться только к следующим действиям, но не к созданию задач.

Рекомендация: используйте вложенные процессы

Чтобы упростить схему и уменьшить количество связей:

  • Объедините логически связанные шаги в вложенные процессы
    • Например, Задача 1 и Задача 2 → в один процесс
    • Задача 11 и 22 → в другой процесс
  • В итоговом процессе свяжите их одной стрелкой: процесс → процесс
  • Это минимизирует ошибки, упростит визуальную логику и облегчит поддержку

Вывод

  • Задержка срабатывает на каждое входящее событие отдельно
  • Блок задач ждёт все входящие стрелки — используйте это, чтобы избежать дублей
  • Если хотя бы одна из входящих в блок задач стрелок не выполнима, задача не создастся
  • Не ставьте задержку перед блоком задач, если ждёте завершения нескольких шагов перед её созданием
  • Вложенные процессы — отличный способ упрощения и локализации логики
Последнее обновление