Как настроить маршрут согласования в 1С:Документооборот, чтобы при отказе процесс шел юристу, а не инициатору

Бизнес-аналитик 1С v8.3 (Управляемые формы)
← На главную

В типовой конфигурации 1С:Документооборот процесс согласования имеет жестко заданную логику: если хотя бы один из участников нажимает кнопку «Не согласовано», задача автоматически возвращается инициатору для ознакомления с результатами и последующей доработки. Однако в реальной бизнес-практике часто требуется более гибкий подход. Например, если бухгалтер или финансовый директор отклонили договор из-за правок в тексте, документ должен сначала попасть к юристу для правовой оценки этих замечаний, и только потом — к менеджеру (инициатору) для связи с контрагентом.

Рассмотрим подробно, как реализовать такую логику без изменения программного кода, используя стандартные инструменты настройки комплексных процессов и правил обработки документов.

Метод 1. Настройка комплексного процесса через схему (для версии 2.1)

Проанализируем ситуацию: нам нужно разорвать стандартную цепочку «Отказ -> Инициатор». Для этого в версии 2.1 мы будем использовать Комплексный процесс. В отличие от простого согласования, комплексный процесс позволяет рисовать произвольные схемы маршрутов.

Разберем этот процесс по шагам:

  1. Создадим новый шаблон комплексного процесса и перейдем к настройке схемы.
  2. Добавим первое действие — Согласование (Бухгалтер и Финансист). В настройках этого действия крайне важно снять флаг «Отправлять на ознакомление при отрицательном результате». Это позволит нам самим решить, куда пойдет процесс в случае отказа.
  3. После блока согласования установим элемент Условие. В этом условии мы пропишем проверку результата согласования. Если результат равен «Не согласовано», стрелка маршрута должна вести на следующее действие — Исполнение (или Рассмотрение), исполнителем которого назначен Юрист.
  4. В задаче Юриста опишем инструкцию: «Проверить замечания согласующих лиц и внести правки в проект договора».
  5. После завершения задачи Юристом, направим стрелку маршрута на задачу Инициатору (Менеджеру). Это будет этап ознакомления и фиксации правок.
  6. Важный момент: Чтобы процесс пошел на новый круг согласования, мы должны закольцевать схему. После задачи Менеджера стрелка должна возвращаться к первому блоку Согласование. Таким образом, мы создаем цикл, который будет повторяться, пока условие «Согласовано всеми» не будет выполнено.

Метод 2. Использование правил обработки и настроек действий (для версии 3.0)

В редакции 3.0 логика работы с процессами изменилась. Теперь мы работаем с Правилами обработки и Действиями. Проанализируем, как настроить требуемое поведение здесь.

Выясним причину, по которой процесс «пролетает» первый этап при повторном запуске. В 3.0 это часто связано с настройками завершенных действий. Чтобы при возврате на доработку процесс снова проходил через Бухгалтера и Финансиста, выполним следующие настройки:

  1. Перейдем в настройки действия Согласование в правилах обработки документа.
  2. Найдем параметр «Повторение согласования». Убедимся, что для этапов не стоит признак «Пропускать, если ранее согласовано». Если он активен, система видит, что Бухгалтер уже ставил свою визу, и не создает ему новую задачу. Для цикличных правок этот флаг нужно снять.
  3. Настроим обработку результата «Не согласовано». В правилах обработки можно указать, что при отклонении запускается вспомогательное действие. Создадим действие Исполнение с названием «Устранение замечаний юристом».
  4. Используем Автоподстановки. Чтобы задача уходила именно юристу, в поле «Исполнитель» действия по устранению замечаний укажем роль Юрист.

Метод 3. Организационное изменение роли Юриста в процессе

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

Разберем структуру «Вложенных процессов»:

  1. Менеджер создает документ и запускает процесс Обработка.
  2. Первым этапом идет Согласование с Финдиректором.
  3. Финдиректор в рамках своей задачи может запустить подпроцесс (подзадачу) на Бухгалтера. Пока Бухгалтер не подтвердит цифры Финдиректору, тот не нажмет кнопку «Согласовано» в основном процессе.
  4. Если Финдиректор нажимает «Не согласовано», процесс по правилам возвращается Ответственному. Если мы назначим Юриста ответственным за документ (несмотря на то, что создал его Менеджер), то задача по разбору замечаний упадет именно Юристу.

Техническая хитрость: Использование скриптов в условиях

Если штатных галочек в интерфейсе не хватает для реализации сложной логики (например, если Юристу нужно идти только если отказал Бухгалтер, а если отказал Финдир — сразу Менеджеру), мы можем воспользоваться встроенным языком в блоке Условие комплексного процесса. Проанализируем пример логического выражения:


// Проверяем, есть ли отрицательный результат от конкретной роли или пользователя
Результат = Ложь;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
               |    РезультатыСогласования.Результат
               |ИЗ
               |    РегистрСведений.РезультатыСогласования КАК РезультатыСогласования
               |ГДЕ
               |    РезультатыСогласования.Объект = &Объект
               |    И РезультатыСогласования.Результат = ЗНАЧЕНИЕ(Перечисление.РезультатыСогласования.НеСогласовано)";
Запрос.УстановитьПараметр("Объект", Предмет);
РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
    Результат = Истина; // Если нашли "Не согласовано", идем по ветке к Юристу
КонецЕсли;

Используя такие скрипты, мы получаем полный контроль над маршрутом. Мы можем анализировать комментарии участников, их роли и даже конкретные файлы, приложенные к задаче.

Как избежать «проскакивания» этапов при повторном согласовании

Посмотрим на ситуацию, когда инициатор жмет «Повторить согласование», а процесс идет сразу на второй этап (к Финдиректору). Это происходит потому, что в параметрах шаблона согласования запомнены результаты предыдущей итерации. Чтобы этого избежать:

Таким образом, комбинируя визуальные схемы комплексных процессов, настройки условий и правильное распределение ролей (Ответственный vs Инициатор), можно реализовать любую схему движения договора, принятую в вашей компании, не прибегая к услугам программистов для изменения конфигурации.

← На главную