Применяются ли изменения условий маршрута к запущенным процессам в 1С:Документооборот 2.1?

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

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

Базовый принцип: статичность шаблонов в запущенных процессах

Если мы изменим глобальное условие маршрутизации или сам шаблон процесса в справочнике «Шаблоны бизнес-процессов», эти изменения не применятся автоматически к уже запущенным задачам. На форуме участники абсолютно правы, лаконично отвечая: «все статично».

Давайте проанализируем, почему так происходит с технической точки зрения:

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

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

Лайфхак для 1С:ДО 2.1: Редактирование схемы активного процесса вручную

Вопреки категоричному утверждению участников форума о том, что всё статично, разработчики фирмы «1С» предусмотрели специальный инструмент для администраторов. Начиная с релиза 1С:Документооборот 2.1.8, в системе появилась возможность корректировать маршрут комплексного процесса прямо во время его выполнения.

Рассмотрим по шагам, как мы можем изменить условия или состав шагов в уже запущенном процессе:

  1. Приостановка процесса. Первым делом мы должны временно остановить движение документа. Для этого в карточке процесса нажимаем кнопку «Остановить». В этот момент все текущие невыполненные задачи этого процесса временно скрываются из списков «Мне поступило» у конечных исполнителей, чтобы избежать коллизий при изменении схемы.
  2. Редактирование схемы. Переходим к схеме процесса. Теперь, когда процесс на паузе, нам доступна интерактивная корректировка: мы можем добавлять новые этапы согласования, удалять старые, перенаправлять стрелки связей и менять условия ветвления.
  3. Установка текущей позиции. Это самый важный шаг. После изменения схемы нам нужно указать системе, с какой именно точки возобновить работу. С помощью контекстного меню на схеме процесса выбираем нужный шаг и принудительно устанавливаем для него статус «Текущая позиция». Предыдущие незавершенные ветки будут корректно прерваны системой.
  4. Запуск процесса. Нажимаем кнопку «Продолжить». Процесс возобновит свою работу по новой, отредактированной нами схеме.

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

Динамическое вычисление условий по предмету процесса

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

Рассмотрим конкретный пример. В шаблоне процесса настроено условие: Если СуммаДоговора > 100000 Тогда согласование идет с Финансовым директором, Иначе — с Руководителем отдела.

Проанализируем следующую ситуацию:

  1. Пользователь запустил процесс согласования договора, сумма в котором изначально была указана как 50 000 рублей.
  2. Процесс пошел по первой задаче (например, подготовка документов). В этот момент условие по сумме еще не вычислялось, так как развилка находится дальше по схеме.
  3. Пока первая задача находится в работе, инициатор понимает, что допустил ошибку, открывает карточку договора и меняет сумму на 150 000 рублей.
  4. Когда первый исполнитель завершает свою задачу, процесс переходит к точке ветвления (развилке).
  5. Система в этот самый момент обращается к реквизитам предмета (нашего договора) и вычисляет условие заново по актуальным данным.

В результате процесс успешно пойдет по ветке «Финансовый директор», так как на момент прохождения развилки сумма договора составила 150 000 рублей. Сама схема при этом не менялась, но динамическое вычисление условий по предмету отработало корректно.

Как изменилась логика в 1С:Документооборот 3.0?

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

Таким образом, при работе в 1С:Документооборот 2.1 у администраторов сохраняется гораздо больше свободы для оперативного вмешательства в текущие задачи «на лету», в то время как версия 3.0 ориентирована на строгий контроль версионирования схем документооборота.

← На главную