Процесс в ДО встал: продолжить, перезапустить или найти причину

· 9 мин

Содержание

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

Частое заблуждение — считать, что так же можно вернуть прерванный процесс. Нельзя. «Остановлен» и «Прерван» в ДО — разные состояния. Остановленный процесс стоит на паузе, прерванный завершён окончательно. Его не продолжают, а запускают заново копией. Всё ниже относится к ДО 3.x (ПРОФ и КОРП) на платформе 8.3; в ДО 2.1 логика та же, отличаются названия разделов.

Почему процесс останавливается и чем «завис» отличается от «остановлен»

Прежде чем что-то нажимать, определите, что именно случилось. От этого зависит способ.

Что видит пользовательСостояние на самом делеЧто делать
В карточке пометка «Остановлен», задачи нельзя выполнитьПроцесс на паузеКоманда «Продолжить»
Состояние «Прерван», указана причинаПроцесс завершёнНовый процесс копированием
Процесс активен, но ни у кого нет задачиСбой маршрута или задача ушла «в пустоту»Диагностика, перенаправление
Задача есть, но не выполняется, висит ошибкаБлокировка или ошибка в обработчикеЖурнал регистрации, техжурнал

Типовые причины остановки и «зависания»:

  • 🛑 Остановили вручную. Автор или контролёр нажал «Остановить», например, пока уточняли условия договора.
  • 👤 Исполнитель недоступен. Сотрудника уволили или отключили его пользователя, а задача висит на нём.
  • 👥 Роль без исполнителей. Задача адресована роли (например, «Юрист филиала»), а в роли никого нет.
  • ⏳ Отложенный старт не сработал. Процесс ждал даты старта, а регламентное задание выключено или падает с ошибкой.
  • 🔒 Конфликт блокировок. Два пользователя одновременно меняют один процесс или связанный документ.
  • 🧩 Ошибка в доработке. Обработчик точки маршрута в доработанной конфигурации вызывает исключение, и задача не создаётся.

Как возобновить процесс пользователю: команда «Продолжить»

Если процесс именно остановлен, его продолжают из интерфейса без администратора.

  1. Найдите процесс. Быстрее всего — из карточки документа: на панели связанных процессов видны все процессы по нему. Другой путь — список процессов с отбором по автору или состоянию.
  2. Откройте карточку процесса.
  3. В командной панели нажмите Ещё и выберите «Продолжить».
  4. Проверьте, что пометка «Остановлен» исчезла, а у исполнителей появились задачи.

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

Команды «Продолжить» нет или она неактивна

Три типовые причины:

  • 🔑 Не хватает прав. Остановить и продолжить процесс может его автор и пользователь с полными правами. Исполнителю задачи эта команда обычно недоступна.
  • 📄 Процесс не остановлен, а прерван или завершён. Тогда продолжать нечего.
  • ✏️ Карточка открыта только для просмотра. Кто-то держит процесс открытым на редактирование, и форма открылась без возможности изменений. Попросите коллегу закрыть карточку.

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

Прерванный процесс не возобновляют. Делают так:

  1. Откройте прерванный процесс и выделите его в списке.
  2. Скопируйте его — командой копирования в списке или клавишей F9.
  3. Проверьте исполнителей, сроки и предмет процесса. Старые сроки, скорее всего, уже прошли.
  4. Запустите новый процесс.

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

Задача без исполнителя: перенаправление

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

Если исполнитель уволен или в отпуске. Откройте задачу и выполните команду «Перенаправить». Укажите нового исполнителя и комментарий. Процесс продолжится, история сохранится. Перенаправлять может автор процесса, контролёр или пользователь с административными правами.

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

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

Диагностика: выберите симптом

Регламентные и фоновые задания: что проверить администратору

Часть работы процессов идёт без участия пользователя, через регламентные задания подсистемы «Бизнес-процессы и задачи». Если они выключены, процессы не встают в ошибку — они просто не двигаются.

Где смотреть: в разделе Настройка (в некоторых редакциях — Администрирование) откройте обслуживание и форму «Регламентные и фоновые задания».

Что проверить:

  1. Задание старта отложенных процессов. Отвечает за процессы с датой старта в будущем. Выключено — такие процессы не стартуют.
  2. Задание мониторинга задач и уведомлений. От него зависят напоминания о просроченных задачах. Если оно не работает, процесс формально идёт, но исполнители о задачах не знают.
  3. Колонка с результатом последнего запуска. Откройте задание и посмотрите, когда оно выполнялось и с каким итогом. Ошибка в тексте — первая зацепка.
  4. Пользователь, от имени которого работает задание. Если его отключили или сменили пароль, задание падает на каждом запуске.

Блокировка регламентных заданий на сервере

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

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

Маршрут процесса: где именно он остановился

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

Как найти точку остановки:

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

Типичные места, где маршрут «ломается»

Точка маршрутаЧто происходитКак проверить
УсловиеПроверка условия падает с ошибкой из-за пустого реквизитаЖурнал регистрации на момент выполнения предыдущей задачи
ДействиеЗадачи не создаются: исполнитель не определёнРоль или поле исполнителя в настройке шага
Вложенный процессРодитель ждёт подчинённый процесс, который остановленОткрыть вложенный процесс
СлияниеЖдёт все ветви, одна из них не завершенаСписок задач всех параллельных веток

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

Журнал регистрации и технологический журнал

Если процесс активен, а движения нет, ищите ошибку в журналах.

Журнал регистрации

  1. Откройте журнал регистрации из раздела администрирования (Настройка → обслуживание → «Журнал регистрации»).
  2. Поставьте отбор по периоду: от выполнения последней задачи плюс 10–15 минут.
  3. Уровень — «Ошибка».
  4. Если ошибок много, добавьте отбор по пользователю, который выполнял задачу.

Что искать в тексте ошибок:

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

Технологический журнал

Если ошибки блокировок повторяются, а виновника не видно, включите технологический журнал. Файл logcfg.xml кладут в каталог conf установленной платформы на сервере 1С. Пример настройки только для ошибок и блокировок:

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="C:\1c_techlog" history="24">
    <event>
      <eq property="name" value="EXCP"/>
    </event>
    <event>
      <eq property="name" value="TTIMEOUT"/>
    </event>
    <event>
      <eq property="name" value="TDEADLOCK"/>
    </event>
    <property name="all"/>
  </log>
</config>

history="24" — хранить логи 24 часа. Для поиска одной проблемы этого хватает.

Не оставляйте технологический журнал включённым навсегда. Он быстро занимает диск. Соберите данные за 1–2 дня и удалите или переименуйте logcfg.xml. Платформа подхватывает файл без перезапуска службы, сеансы пользователей не обрываются.

Программная проверка и отладка процессов

Этот раздел — для тех, кто сопровождает доработанный Документооборот и имеет доступ к конфигуратору.

Найти активные процессы без задач

Запрос находит процессы, которые стартованы, не завершены и при этом не имеют ни одной невыполненной задачи. Это кандидаты в «зависшие». Пример для процесса «Исполнение»; имя бизнес-процесса подставьте своё:

ВЫБРАТЬ
    БП.Ссылка КАК Процесс,
    БП.Дата КАК Дата
ИЗ
    БизнесПроцесс.Исполнение КАК БП
        ЛЕВОЕ СОЕДИНЕНИЕ Задача.ЗадачаИсполнителя КАК З
        ПО (З.БизнесПроцесс = БП.Ссылка)
            И (НЕ З.Выполнена)
            И (НЕ З.ПометкаУдаления)
ГДЕ
    БП.Стартован
    И НЕ БП.Завершен
    И НЕ БП.ПометкаУдаления
    И З.Ссылка ЕСТЬ NULL
УПОРЯДОЧИТЬ ПО
    БП.Дата

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

Как возобновить процесс программно

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

Правильный приём: откройте в конфигураторе форму бизнес-процесса, найдите обработчик команды «Продолжить» и посмотрите, какую серверную процедуру он вызывает. Именно её вызывайте в своей обработке для пакетного возобновления.

Отладка обработчиков маршрута

Код точек маршрута (ПередСозданиемЗадач, ПриСозданииЗадач, ПроверкаУсловия, ПриЗавершении) выполняется на сервере. Часть — в фоновых заданиях. Чтобы поймать ошибку:

  1. Включите отладку на сервере: служба агента сервера должна быть запущена с ключом -debug.
  2. В конфигураторе откройте Отладка → Подключение и включите автоматическое подключение к фоновым заданиям.
  3. Поставьте точку останова в обработчике проблемной точки маршрута.
  4. Повторите действие на копии базы: выполните задачу, после которой процесс встаёт.

Добавление ключа -debug требует перезапуска службы агента сервера 1С. Все сеансы пользователей оборвутся. Делайте это вне рабочего времени или на тестовом сервере с копией базы.

Как сделать, чтобы процессы не вставали

Профилактика дешевле разбора.

  • 👥 Роли исполнителей вместо конкретных людей. В шаблонах процессов адресуйте шаги ролям. Ушёл юрист — меняете состав роли, а не сто шаблонов.
  • 🔁 Регламент увольнения. В чек-лист кадровой службы добавьте пункт «перенаправить задачи в ДО» до отключения пользователя.
  • 🗓 Еженедельная проверка. Раз в неделю запускайте запрос из раздела выше и разбирайте найденные процессы.
  • 🧪 Доработки — только через тест. Любую правку обработчиков маршрута проверяйте на копии базы, проведя через неё 2–3 реальных сценария.
  • 🖥 Контроль регламентных заданий. После каждого копирования базы и обновления проверяйте флажок блокировки регламентных заданий.
Можно ли продолжить процесс, если автор уволился?
Да. Продолжить процесс может пользователь с полными правами. Заодно смените автора или контролёра, чтобы уведомления приходили действующему сотруднику.
Сохранятся ли комментарии и визы после остановки и продолжения?
Да. Остановка — это пауза. Выполненные задачи, комментарии и результаты согласования остаются в истории процесса.
Сдвигаются ли сроки задач после возобновления?
Нет, автоматически не сдвигаются. Если процесс стоял неделю, задачи, скорее всего, станут просроченными. Сроки поправьте вручную в карточке процесса или задач.
Почему исполнитель не может выполнить задачу после остановки процесса?
Выполнить задачу остановленного процесса нельзя — в этом смысл остановки. После команды «Продолжить» задача снова станет доступна исполнителю.
Можно ли отменить прерывание процесса?
Нет. Прерывание необратимо. Создайте новый процесс копированием прерванного и запустите его.