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

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

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

Использование механизма «Заполняемый предмет»

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

Проанализируем ситуацию: в шаблон комплексного процесса мы добавляем еще один предмет. На том этапе (в той задаче), где требуется создание второго документа, мы указываем для него роль Заполняемый предмет. Что это нам дает?

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

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

Настройка видимости предметов на этапах маршрута

Чтобы исполнителей на первых этапах не смущало наличие пустого предмета (второго документа, который еще не создан), выясним причину и настроим видимость.

Для любого шаблона комплексного процесса можно гибко управлять видимостью предметов на разных шагах. Посмотрим на пример настройки:

  1. На первых этапах (когда идет работа только с Документом 1) Документ 2 скрыт от пользователей.
  2. На этапе создания Документа 2 он появляется в задаче как Заполняемый предмет.
  3. На последующих этапах (например, при согласовании Документа 2) он становится Основным предметом, а исходный Документ 1 можно сделать Вспомогательным или вообще скрыть.

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

Вложенные процессы (для 1С:ДО 3.0 и выше)

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

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

Автоматизация с помощью скриптов

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

Пример логики такого скрипта (упрощенно):


// Создание нового внутреннего документа
НовыйДокумент = Справочники.ВнутренниеДокументы.СоздатьЭлемент();
НовыйДокумент.ВидДокумента = Справочники.ВидыВнутреннихДокументов.НайтиПоНаименованию("Договор");
// Заполнение реквизитов из основания (Документ 1)
НовыйДокумент.Организация = Предмет1.Организация;
НовыйДокумент.Записать();

// Установка созданного документа в качестве предмета процесса
// (Выполняется через обращение к параметрам или предметам текущего процесса)

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

Ограничения при групповом исполнении задач

Напоследок обратим внимание на один важный нюанс. Если вы используете заполняемые предметы, которые требуют от пользователя интерактивного ввода (создания документа), такие задачи нельзя будет выполнить через механизм «Групповое исполнение задач» из списка. Программа обоснованно потребует от пользователя открыть карточку задачи, так как без создания и прикрепления требуемого документа условие выполнения задачи не будет достигнуто.

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

← На главную