Почему в 1С:Документооборот 2.1 не запускается процесс после регистрации документа и как это исправить?

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

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

Понимание асинхронной модели автостарта

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

Шаг 1: Анализ регламентных заданий

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

  1. Старт процессов — основное задание, которое анализирует очередь и инициирует создание процессов.
  2. Фоновое выполнение задач — отвечает за продвижение задач, которые выполняются в фоновом режиме.
  3. Фоновая маршрутизация комплексных процессов — необходимо для обработки сложных схем прохождения документов.
  4. Старт отложенных процессов — если в настройках была указана дата старта.

Убедимся, что данные задания включены и выполняются по расписанию (обычно раз в 1–10 минут). Если нагрузка на сервер большая, время ожидания может увеличиваться.

Шаг 2: Мониторинг регистра «Очередь старта процессов»

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

Шаг 3: Проверка условий автостарта в шаблоне

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

Откроем шаблон бизнес-процесса и перейдем на вкладку Автостарт. Убедимся в следующем:

  1. Галочка установлена именно на событие Регистрация.
  2. Если заданы Условия старта (например, по сумме, организации или подразделению), проверим, заполнены ли эти поля в документе на момент регистрации.
  3. Проверим настройку «Запретить старт нескольких процессов по одному документу». Если процесс уже пытался стартовать ранее (или был запущен вручную), повторный автоматический запуск может быть заблокирован системой.

Шаг 4: Поиск ошибок в Журнале регистрации

Если регламентное задание выполняется, но запись из очереди исчезает без создания процесса, причина всегда фиксируется в Журнале регистрации. Выясним причину сбоя, установив фильтр по событию «Ошибка». Ищем записи, связанные с объектами:

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

Шаг 5: Программная диагностика очереди

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


Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	Очередь.ДокументОбъект,
    |	Очередь.ШаблонПроцесса,
    |	Очередь.ДатаСобытия
    |ИЗ
    |	РегистрСведений.ОчередьСтартаПроцессов КАК Очередь";

РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();

Пока Выборка.Следующий() Цикл
    Сообщить("Документ: " + Выборка.ДокументОбъект + " ожидает запуска по шаблону: " + Выборка.ШаблонПроцесса);
КонецЦикла;

Рекомендации по устранению сбоев

Выясним итоговый порядок действий, если процесс не стартует после «переоткрытия» документа:

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

Соблюдение этих шагов позволит вам локализовать проблему и восстановить корректную работу автоматизации в 1С:Документооборот 2.1.

← На главную