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

Администрирование · 10 мин

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

Разбираем, почему регламентное задание в 1С не выполняется: блокировки, расписание, ошибки кода, права и фоновые процессы. Пошаговая диагностика и решения.

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

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

Главный инструмент диагностики — журнал регистрации и консоль заданий. Без их анализа любые действия будут перебором наугад. Ниже разобраны типовые причины от простых к сложным с конкретными шагами проверки.

Проверьте базовые настройки задания

Первое, что нужно исключить, — задание просто отключено. Откройте раздел «Администрирование» → «Обслуживание» → «Регламентные операции» (или «Регламентные и фоновые задания») и найдите нужное задание в списке. Проверьте флаг «Использование»: если он снят, задание существует в конфигурации, но планировщик его игнорирует.

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

Обратите внимание на поле «Количество повторов при аварийном завершении» и «Интервал повтора». Если задание падает с ошибкой и повторы не настроены, оно молча прекращает попытки до следующего планового запуска.

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

Как проверить настройки задания

Флаг «Использование»
Норма

Флаг установлен, задание активно

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

Флаг снят — задание не запускается планировщиком

Расписание
Норма

Ближайший запуск в будущем, периодичность соответствует задаче

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

Дата запуска в прошлом или расписание пустое

Пользователь задания
Норма

Указан пользователь с нужными правами

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

Пользователь не задан или отключён

Разберитесь с блокировками в файловой базе

В файловом варианте работы 1С регламентные задания выполняет отдельный сеанс фонового задания, который запускается из клиентского приложения. Если ни один пользователь не работает в базе, фоновые задания просто не стартуют — это встроенное ограничение файлового режима, а не ошибка.

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

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

Проверьте журнал регистрации и ошибки выполнения

Если задание запускается, но результата нет, откройте журнал регистрации («Администрирование» → «Обслуживание» → «Журнал регистрации») и отфильтруйте события по имени задания и уровню «Ошибка». Там будет видно, запускался ли фоновый процесс и с каким сообщением завершился.

Типовые ошибки в журнале: «Метод объекта не обнаружен» — после обновления конфигурации изменилось имя процедуры, а задание ссылается на старое; «Нарушение прав доступа» — у пользователя, от имени которого выполняется задание, нет прав на нужные объекты; «Конфликт блокировок» — задание столкнулось с работой пользователей и откатилось.

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

Порядок диагностики по журналу регистрации
  1. 1
    Откройте журнал регистрации и установите отбор по уровню «Ошибка» за период предполагаемого запуска
  2. 2
    Найдите события, связанные с именем регламентного задания
  3. 3
    Прочитайте текст ошибки и определите: ошибка кода, прав доступа или блокировки
  4. 4
    Выполните процедуру задания вручную через консоль заданий под тем же пользователем
  5. 5
    Исправьте причину и дождитесь ближайшего планового запуска либо запустите задание принудительно

Особенности клиент-серверного режима

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

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

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

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

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

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

Частая ошибка разработчиков — использование в коде обработчика интерактивных элементов: Предупреждение(), Вопрос(), ОткрытьФорму(). На сервере в фоновом задании эти вызовы недоступны и приводят к аварийному завершению. Весь код обработчика должен работать без участия пользователя.

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

Задание выполняется, но результата нет

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

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

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

Маршрут решения

Как выбрать действие

В журнале регистрации нет событий запуска заданияПроверяйте флаг «Использование», расписание и блокировку заданий в базе или кластере
В журнале есть ошибка с текстом про права доступаНазначьте заданию пользователя с достаточными правами или включите привилегированный режим
Задание завершается успешно, но данных нетПроверяйте логику отбора и входные настройки обработчика, запустите вручную с отладкой
Ошибка «Метод объекта не обнаружен»Сверьте имя процедуры в свойствах задания с актуальным кодом после обновления конфигурации

FAQ

Как запустить регламентное задание вручную, не дожидаясь расписания?

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

Почему задание работает в тестовой базе, но не в рабочей?

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

Можно ли узнать, сколько времени выполняется задание?

Да, в консоли заданий видны дата начала и окончания каждого фонового задания. Если длительность растёт от запуска к запуску, проверьте объём обрабатываемых данных и возможные блокировки со стороны пользователей.

Что делать, если задание зависло в состоянии «Выполняется»?

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

Влияет ли обновление конфигурации на регламентные задания?

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

Почему в файловой базе задания не выполняются по ночам?

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

Итог

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

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