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

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

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

Суть перехода от «ручного» управления к бизнес-процессам

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

Переводя логику на бизнес-процесс, мы получаем:

  1. Автоматическую адресацию: Задача сама «прилетает» нужному руководителю или исполнителю.
  2. Контроль выполнения: Мы видим, на ком «зависла» заявка.
  3. Историю изменений: Все перенаправления и комментарии сохраняются в контексте задачи.

Шаг 1. Интеграция документа в метаданные процесса

Проанализируем техническую сторону. В 1С:ДО связь между процессом и документом осуществляется через механизм Предметов. Если вы просто создали новый документ, система не позволит выбрать его в качестве основания для процесса. Нам необходимо внести изменения в ОпределяемыеТипы.

Найдем в дереве метаданных следующие объекты и добавим в их состав наш новый документ:

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

Шаг 2. Использование механизмов адресации по подразделениям

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

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

  1. Создаем шаблон процесса (например, типовой процесс «Исполнение»).
  2. В настройках исполнителя выбираем роль «Руководитель».
  3. В качестве дополнительного реквизита адресации система подставит подразделение из нашего документа.

Таким образом, задача упадет в список «Задачи отдела» именно тем сотрудникам, которые относятся к данному подразделению в справочнике СтруктураПредприятия.

Шаг 3. Программный запуск бизнес-процесса

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


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

// Вызываем функцию запуска из типового механизма
БизнесПроцессыИЗадачиВызовСервера.СоздатьБизнесПроцессПоШаблону(ПараметрыЗапуска);

Использование БизнесПроцессыИЗадачиВызовСервера гарантирует, что будут заполнены все необходимые регистры сведений (такие как ПредметыПапокБизнесПроцессов), и документ появится в связях процесса.

Шаг 4. Отображение задач в форме документа

Чтобы пользователю было удобно, мы должны вывести список запущенных процессов прямо в форме нашего документа. Рассмотрим, как это реализовано в типовых объектах. Нам нужно добавить на форму Динамический список, который будет выбирать данные из регистра сведений ЗадачиОбъектов (или использовать стандартную командную панель «Процессы и задачи»).

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

Шаг 5. Реализация переадресации

Одним из требований автора была возможность переадресации. В 1С:ДО это «бесплатная» функция. В каждой задаче есть кнопка «Перенаправить». При ее нажатии:

  1. Текущая задача помечается как выполненная с результатом «Перенаправлена».
  2. Создается новая задача на нового исполнителя.
  3. Бизнес-процесс продолжает свое движение, фиксируя в истории, кто и кому передал работу.

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

Выводы и рекомендации

Для правильной реализации задачи по постановке заявок подразделениям в 1С:ДО не нужно изобретать велосипед и рисовать сложные формы отборов. Проанализируем краткий алгоритм действий:

  1. Включаем наш документ в ОпределяемыеТипы для работы с предметами.
  2. Настраиваем Шаблон процесса в пользовательском режиме (без программирования).
  3. Используем Роли исполнителей с привязкой к подразделениям.
  4. Добавляем на форму документа типовую панель навигации для перехода к задачам.

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

← На главную