В процессе автоматизации бизнес-процессов в 1С:Документообороте пользователи часто сталкиваются с задачей, когда количество исполнителей для конкретного шага Исполнение должно меняться в зависимости от заполненных реквизитов или условий документа. Попытка реализовать такую логику через Табличную настройку маршрута часто приводит к тому, что процесс либо завершается раньше времени, либо «зависает» на ожидании шагов, которые не были запущены.
Давайте разберем, почему это происходит и как правильно организовать работу таких процессов.
Когда вы используете в настройках процесса пункт Стартовать действие после выполнения ВСЕХ отмеченных ниже действий, система 1С:Документооборот начинает ожидать завершения каждого из указанных шагов. Если вы навешиваете условия на каждый шаг (например, Исполнение №1 только для руководителя подразделения, а Исполнение №2 только для юридического отдела), возникает конфликт:
Исполнение №2 не должен запускаться, он остается в состоянии «не начат».Попытки прописать сложные логические условия в табличной части (типа «выполнить, если А и не Б») крайне неэффективны и ведут к невозможности поддержки процесса в будущем. При увеличении количества исполнителей или комбинаций условий такая настройка становится «нечитаемой» и очень хрупкой.
Самым надежным и профессиональным способом решения данной задачи является использование Графической схемы процесса. Несмотря на кажущуюся сложность рисования схемы, она обладает рядом неоспоримых преимуществ:
Условие, которые будут направлять поток выполнения по нужным веткам.Для создания такой схемы перейдите в Шаблон процесса, откройте вкладку Маршрут и переключите вид отображения на графическую схему. Используйте элементы:
Старт процесса.Условие для проверки ваших доп. реквизитов.Действие: Исполнение для каждого из вариантов исполнителей.Точка слияния (или объединение потоков), после которой процесс пойдет дальше на согласование.Это позволит избежать проблем с «зависанием» процесса и сделает настройку прозрачной для редактирования другими сотрудниками.
Если рисование сложной схемы кажется избыточным, рассмотрим альтернативный подход. Вместо создания отдельных действий для каждого пользователя, попробуйте настроить одно действие Исполнение, в котором исполнитель определяется через Роль или Группу пользователей.
Механика работы здесь следующая:
Автоподстановку (обработчик), которая в зависимости от реквизитов документа динамически определяет список пользователей, которые должны исполнить задачу.Исполнение вы указываете, что задачу должны выполнить Все исполнители или Любой из них (в зависимости от ваших бизнес-требований).1С:Документооборот автоматически сформирует нужное количество задач для выбранных пользователей и будет ждать именно их завершения.Таким образом, вам не нужно плодить множество шагов в таблице — процесс становится динамическим и адаптируемым к текущим данным документа.
При проектировании таких процессов придерживайтесь следующих принципов:
Дочерние процессы. Это самый чистый способ управления сложными зависимостями.В завершение подчеркнем: попытки «обмануть» табличную структуру 1С:Документооборота сложными условиями — путь к ошибкам. Использование Графической схемы является стандартом для сложных маршрутов и позволяет системе корректно интерпретировать состояние завершения каждого этапа.