Как в 1С:Документооборот настроить поочередное согласование разных файлов одного документа?

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

В стандартном функционале 1С:Документооборот процесс согласования запускается для документа целиком, со всеми приложенными к нему файлами. Однако часто возникает бизнес-задача, требующая более сложной логики: сначала согласовать и подписать один файл из комплекта, и только после успешного завершения этого этапа передавать на согласование остальные. Проанализируем ситуацию, когда к документу "Акт списания материалов" приложены три файла: "Отчет о списании", "Акт" и "Лист согласования", и их нужно обработать последовательно.

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

Решение 1: Разделение на связанные документы

Наиболее прозрачный и рекомендуемый системой 1С подход — это работа не с файлами, а с документами. Если файлы по своей сути представляют разные сущности с разным жизненным циклом, логично отразить это в системе, создав отдельные, но связанные между собой документы. Этот метод не требует сложного программирования и легко поддерживается.

Вариант А: Использование механизма "На основании"

Этот способ предполагает создание двух разных видов внутренних документов, например, "Отчет о списании" и "Акт списания".

  1. Первый этап. Создается документ вида "Отчет о списании", к которому прикрепляется только один файл — сам отчет. Для этого документа запускается свой, отдельный процесс согласования и подписания. В нем участвует первая группа ответственных сотрудников.
  2. Второй этап. После того как "Отчет о списании" успешно согласован и получил нужный статус, ответственный сотрудник на его основании создает новый документ — "Акт списания". Система автоматически свяжет эти два документа.
  3. К новому документу "Акт списания" прикрепляются оставшиеся два файла ("Акт" и "Лист согласования"). Для этого документа запускается второй, независимый процесс согласования с участием другой группы сотрудников.

Преимущества:

Вариант Б: Использование комплектов документов

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

  1. Создаются два или три отдельных документа (например, "Отчет", "Акт"). К каждому прикладываются соответствующие файлы.
  2. Для каждого документа запускается свой процесс согласования.
  3. После успешного согласования всех частей они объединяются в Комплект документов.

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

Решение 2: Настройка комплексного процесса (для версии КОРП)

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

Проанализируем шаги настройки в графической схеме процесса:

  1. Старт процесса. Для основного документа с тремя файлами запускается комплексный процесс.
  2. Действие "Обработка документа" (Этап 1). Первым шагом в схеме ставится не "Согласование", а действие Обработка документа. В нем с помощью встроенного языка 1С нужно написать скрипт, который:
    • Находит в основном документе первый файл (например, по имени "Отчет*").
    • Программно создает и запускает дочерний, простой процесс "Согласование".
    • Ключевой момент: в качестве предмета согласования этому дочернему процессу передается не весь документ, а только ссылка на первый файл. Таким образом, согласующие в своей задаче увидят только его.
  3. Условие перехода. После блока обработки в схеме размещается блок Условие. Он ожидает завершения дочернего процесса и проверяет его результат. Например, условие может выглядеть так: "Результат согласования по первому файлу — 'Согласовано'".
  4. Действие "Обработка документа" (Этап 2). Если условие выполнено, процесс идет по "зеленой" ветке к следующему блоку Обработка документа. Скрипт в этом блоке:
    • Находит второй и третий файлы в основном документе.
    • Запускает второй дочерний процесс "Согласование", передавая ему в качестве предмета уже эти два файла.
  5. Завершение. После успешного завершения второго этапа основной комплексный процесс может выполнить финальные действия: сменить состояние документа, отправить уведомление и т.д.

Недостатки:

Решение 3: Автоматизация через бизнес-события

Это элегантный и современный способ, который также позволяет избежать "дробления" исходного документа. Он основан на том, что система сама отслеживает определенные события и запускает нужные процессы.

  1. Первый процесс. Для документа запускается обычный процесс согласования. В тексте задачи для согласующих четко прописывается инструкция: "На данном этапе необходимо рассмотреть и подписать электронной подписью только файл 'Отчет о списании'".
  2. Настройка детектора бизнес-событий. В системе создается Детектор бизнес-события, который будет постоянно отслеживать состояние файлов. Условием срабатывания детектора будет: "В документе вида 'Акт списания' файл с наименованием 'Отчет о списании' подписан ЭП".
  3. Правило автозапуска. Создается Правило автозапуска процессов, которое связано с этим бизнес-событием. Как только детектор зафиксирует подписание первого файла, это правило автоматически запустит второй процесс согласования для этого же документа. В задаче второго процесса будет указание согласовать оставшиеся файлы.

Преимущества:

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

← На главную