К статье
Практический материал

Автоматизация · 11 мин

Как откатить бизнес-процесс в 1С

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

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

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

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

Определяем, что именно нужно откатить

Прежде чем действовать, ответьте на три вопроса. Первый: процесс ещё активен или уже завершён? Активный процесс можно скорректировать, завершённый — только компенсировать (отменить документы, запустить обратный процесс). Второй: выполнялись ли в рамках процесса необратимые действия — проведение документов, отправка писем, обмен с ЭДО? Третий: процесс типовой или доработанный — от этого зависит, какие инструменты доступны.

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

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

Доступны возврат на доработку и перенаправление

Задача выполнена, процесс ушёл дальшеСредняя сложность

Нужен возврат на предыдущую точку или прерывание

Процесс завершёнОткат невозможен

Только компенсирующие действия: отмена документов, новый процесс

Есть проведённые документыПовышенный риск

Сначала распроведите или отмените связанные документы

Возврат задачи на доработку — штатный способ

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

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

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

Перенаправление задачи другому исполнителю

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

Массовое перенаправление доступно администратору: в 1С:Документообороте есть обработка перенаправления задач, позволяющая выбрать несколько задач и назначить нового исполнителя. Это полезно, когда сотрудник уволился или ушёл в отпуск, а его задачи «висят» и блокируют процессы.

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

Прерывание процесса и повторный запуск

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

Последовательность действий: зафиксируйте, на каком этапе процесс остановлен и какие документы успели создаться или провестись. Затем прервите процесс, при необходимости отмените связанные документы и запустите новый процесс по тому же объекту с правильными настройками маршрута и исполнителями.

Порядок действий при прерывании процесса
  1. 1
    Откройте карточку бизнес-процесса и изучите карту маршрута: текущая точка, выполненные задачи, связанные документы
  2. 2
    Сделайте резервную копию базы или как минимум зафиксируйте состояние ключевых документов
  3. 3
    Отмените или распроведите документы, созданные ошибочными шагами процесса
  4. 4
    Выполните команду «Прервать» в карточке процесса
  5. 5
    Запустите новый процесс с корректными параметрами
  6. 6
    Проверьте, что задачи появились у правильных исполнителей, а у старого процесса активных задач не осталось

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

Программный откат: изменение точки маршрута

В конфигурациях на обычных механизмах БСП (без доработанного согласования) возврат на предыдущую точку часто делается программно. У объекта «Бизнес-процесс» есть табличная часть или реквизиты с точками маршрута; технически можно создать новую задачу по нужной точке и закрыть ошибочную. Это работа для разработчика, выполняемая через консоль кода или специальную обработку.

Упрощённый пример логики: находим активную задачу процесса, устанавливаем ей признак выполнения с нужным результатом либо создаём объект задачи с привязкой к бизнес-процессу и нужной точке маршрута, затем записываем. После этого вызываем обработчики, которые конфигурация использует при выполнении задач, чтобы маршрут пересчитался корректно.

bsl
// Пример: программное выполнение задачи с возвратом
ЗадачаОбъект = ЗадачаСсылка.ПолучитьОбъект();
ЗадачаОбъект.Выполнена = Истина;
ЗадачаОбъект.РезультатВыполнения = "Возвращено на доработку";
ЗадачаОбъект.Записать();
// Далее механизм конфигурации создаст задачу по предыдущей точке маршрута

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

Откат через восстановление резервной копии

Единственный способ вернуть базу в состояние «как было до ошибки» — восстановление из резервной копии. Это крайняя мера, оправданная, когда ошибочный процесс успел наделать массовых изменений: провёл десятки документов, разослал задачи сотням пользователей, запустил обмены.

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

Типичные ошибки
01
Удаление задач напрямую из списка — процесс зависает, потому что маршрут ожидает результата выполнения
02
Откат процесса без отмены связанных документов — в учёте остаются проведённые документы, созданные ошибочной веткой
03
Редактирование объектов в рабочей базе без копии — при ошибке восстановить состояние нечем
04
Прерывание процесса без уведомления исполнителей — пользователи продолжают работать по устаревшим задачам
05
Попытка «откатить» завершённый процесс вместо запуска компенсирующего — теряется время и история

Проверка результата после отката

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

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

Контрольные точки

Как проверить результат

Карта маршрута процесса
Норма

Текущая точка соответствует нужному этапу, история читается

Тревожный признак

Процесс активен, но текущей точки нет или она неожиданная

Задачи исполнителей
Норма

Активные задачи только у нужных пользователей

Тревожный признак

Задачи-дубли или задачи у сотрудников из старой итерации

Связанные документы
Норма

Ошибочные документы распроведены или помечены на удаление

Тревожный признак

Документы проведены и дают движения по регистрам

Очередь обменов и ЭДО
Норма

Нет исходящих сообщений по отменённым шагам

Тревожный признак

Сообщения стоят в очереди или уже отправлены контрагенту

Часто задаваемые вопросы

Можно ли откатить уже завершённый бизнес-процесс?

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

Почему в карточке задачи нет кнопки «Вернуть на доработку»?

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

Что будет с задачами пользователей, если прервать процесс?

При штатном прерывании все активные задачи по процессу закрываются и исчезают из списков исполнителей. Если задачи удалить вручную вместо прерывания, процесс останется активным и будет «ждать» результата — так делать нельзя.

Как откатить процесс, если согласующий уже уволен?

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

Можно ли откатить только один шаг, не трогая остальные?

Да, если маршрут поддерживает возврат на предыдущую точку — выполните текущую задачу с результатом «на доработку». Если такой ветки нет, потребуется программное создание задачи по нужной точке маршрута, что относится к зоне ответственности разработчика и требует проверки на тестовой базе.

Поможет ли откат конфигурации на прошлый релиз?

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

Итог

Что важно запомнить

Откат бизнес-процесса в 1С — это не одна кнопка, а выбор способа под ситуацию: возврат на доработку, перенаправление, прерывание с повторным запуском, программная корректировка или восстановление из копии. Всегда начинайте с анализа карты маршрута, делайте резервную копию и после отката проверяйте задачи, документы и очереди обменов.