Что делать, если после переноса базы 1С:Документооборот перестали выполняться регламентные задания?

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

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

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

Почему блокируются регламентные задания при переносе базы?

При переносе базы данных на другой сервер или изменении параметров подключения (имени СУБД, имени сервера 1С) платформа автоматически определяет изменения. При первом запуске администратор видит диалоговое окно с вопросом: «Информационная база перемещена или скопирована?».

Если выбрать вариант «Копия информационной базы», система автоматически блокирует регламентные задания на уровне кода Библиотеки стандартных подсистем (БСП) и отключает интеграцию с внешними ресурсами (чтобы тестовая база случайно не начала отправлять реальные письма клиентам или обмениваться данными с другими системами). Но даже если вы выбрали правильный вариант — «Информационная база перемещена», — регламентные задания могут зависнуть или перестать выполняться автоматически по ряду причин: от накопления фантомных записей в таблицах СУБД до программных сбоев механизма блокировок БСП.

Давайте рассмотрим пошаговый алгоритм устранения этой неисправности.

Шаг 1. Проверка глобальных блокировок в кластере и БСП

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

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

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

Шаг 2. Поиск и устранение «фантомных» зависших фоновых заданий

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

Проанализируем список фоновых заданий:

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

Шаг 3. Перезапуск регламентных заданий («Выключить — Включить»)

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

  1. Откроем список регламентных заданий.
  2. Выделим все задания в списке с помощью комбинации клавиш CTRL + A.
  3. Нажмем правую кнопку мыши и выберем пункт Выключить (снимите флаг активности).
  4. Подождем 10–15 секунд, чтобы изменения записались в базу данных.
  5. Снова выделим все задания и выберем пункт Включить.

Эта несложная манипуляция заставляет планировщик платформы полностью пересчитать и перезаписать даты следующего запуска для каждого регламентного задания в соответствии с их расписанием.

Шаг 4. Очистка серверного кэша и перезапуск службы «Агент сервера 1С»

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

  1. Остановим службу «Агент сервера 1С:Предприятия 8.3» (через консоль services.msc или командную строку).
  2. Перейдем в каталог хранения служебных файлов сервера 1С. По умолчанию для Windows это папка:

    C:\Program Files\1cv8\srvinfo\reg_1541\

  3. Найдем внутри этой папки директории, имена которых соответствуют уникальным идентификаторам (UUID) информационных баз (например, 1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d).
  4. Внутри папки нашей проблемной информационной базы удалим временные каталоги кэша (папки snccntry, reg_1541 и файлы с расширениями временных данных, исключая саму конфигурацию базы данных, если это файловый вариант).
  5. Запустим службу «Агент сервера 1С:Предприятия 8.3».

Шаг 5. Снятие флага проверки имени сервера программным путем

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


ПараметрыБлокировки = Константы.ПараметрыБлокировкиРаботыСВнешнимиРесурсами.Получить().Получить();
Если ТипЗнч(ПараметрыБлокировки) = Тип("Структура") Тогда
    ПараметрыБлокировки.Вставить("ПроверятьИмяСервера", Ложь);
    Константы.ПараметрыБлокировкиРаботыСВнешнимиРесурсами.Установить(Новый ХранилищеЗначения(ПараметрыБлокировки));
    ЗаписьЖурналаРегистрации("НастройкаРегламентныхЗаданий", УровеньЖурналаРегистрации.Информация,,, "Проверка имени сервера успешно отключена.");
КонецЕсли;

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

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

← На главную