Администрирование · 10 мин
Почему не запускается регламентное задание 1С: диагностика и решение
Разбираем, почему не запускается регламентное задание в 1С: блокировки, расписание, права, режим работы. Пошаговая диагностика и способы устранения проблемы.
Регламентные задания — основа автоматизации в 1С: обмен данными, расчёт итогов, рассылка отчётов, загрузка курсов валют. Когда задание молча перестаёт выполняться, последствия замечают поздно: не ушла выгрузка на сайт, не актуализировались цены, не сформировалась рассылка. При этом сама платформа редко выводит явное сообщение об ошибке пользователю — сбой виден только в журнале регистрации или консоли заданий.
Причины незапуска делятся на пять групп: административные блокировки, ошибки расписания, проблемы с правами и пользователем-исполнителем, сбои внутри кода обработчика и особенности файлового или клиент-серверного режима. Ниже разберём каждую группу с конкретными шагами диагностики и устранения.
Как устроен механизм и откуда начинать диагностику
Регламентное задание — это объект метаданных, который по расписанию порождает фоновое задание. Фоновое задание выполняет код обработчика от имени указанного пользователя. Сбой может произойти на любом из трёх уровней: расписание не сработало, фоновое задание не стартовало, обработчик упал с ошибкой.
Первый инструмент диагностики — консоль заданий. В типовых конфигурациях на БСП она находится в разделе «Администрирование» → «Обслуживание» → «Регламентные и фоновые задания». Здесь видно состояние каждого задания: выполняется, завершено, ошибка, заблокировано. Второй инструмент — журнал регистрации с отбором по событию «Фоновое задание» за нужный период.
- 1Откройте консоль регламентных и фоновых заданий и найдите нужное задание
- 2Посмотрите состояние последнего запуска и текст ошибки
- 3Откройте журнал регистрации с отбором по фоновым заданиям за период сбоя
- 4Проверьте, не установлена ли блокировка регламентных заданий
- 5Проверьте расписание и дату последнего успешного выполнения
- 6Запустите задание вручную и наблюдайте результат
Блокировка регламентных заданий
Самая частая причина в клиент-серверном варианте — установленный флаг «Блокировка регламентных заданий включена» в параметрах информационной базы. Его выставляют при обновлении конфигурации, восстановлении из копии или переносе базы, чтобы задания не выполнялись во время обслуживания. После завершения работ флаг часто забывают снять.
Проверить и снять блокировку можно через консоль кластера серверов 1С (свойства информационной базы) или программно — методом УстановитьБлокировкуРегламентныхЗаданий(Ложь). В типовых конфигурациях есть обработка «Блокировка работы с внешними ресурсами», которая при копировании базы автоматически отключает задания, работающие с внешними системами, — после восстановления рабочей базы её тоже нужно проверить.
Проблемы с расписанием
Задание может быть исправно, но не запускаться из-за расписания. Типичные ситуации: расписание задано «каждый день с 9:00 до 18:00», а сервер в это время выключен; задан интервал повторения, но не задано время начала; расписание привязано к часовому поясу, который изменили при переносе сервера. Проверьте также, не снят ли флаг «Использование» у самого регламентного задания — при обновлении конфигурации или ручных манипуляциях задание иногда отключают.
Отдельный случай — предопределённые регламентные задания. Их расписание хранится в базе и могло быть изменено пользователем с правами администратора. Если задание внезапно перестало запускаться «после того как кто-то что-то настраивал», сравните текущее расписание с тем, что задано в конфигураторе.
Проверка расписания вручную
В консоли заданий откройте расписание и убедитесь, что ближайшее расчётное время выполнения находится в будущем и попадает в ожидаемый период. Полезный приём — временно установить запуск «каждую минуту» и понаблюдать, стартует ли фоновое задание. Если стартует — проблема была в расписании, верните корректные настройки.
Права и пользователь-исполнитель
Фоновое задание выполняется от имени пользователя, указанного в свойствах регламентного задания. Если пользователь не задан, задание работает от имени пользователя с пустым именем — с полными правами, но без сеанса интерактивного пользователя. Если пользователь задан, но у него отобрали роль, нужную обработчику, задание будет падать с ошибкой нарушения прав доступа.
Частая ситуация после кадровых перестановок: задание настроено на конкретного сотрудника, его учётную запись отключили — и задание перестало запускаться или начало аварийно завершаться. В журнале регистрации это выглядит как ошибка аутентификации или отказ в доступе. Решение — переназначить задание на служебного пользователя с минимально необходимым набором ролей.
Ошибки в коде обработчика
Если фоновое задание стартует, но завершается с ошибкой, причина внутри обработчика. Текст ошибки и место возникновения видны в журнале регистрации: откройте событие с состоянием «Ошибка» и разверните комментарий. Типовые причины: недоступен внешний ресурс (сайт, FTP, почтовый сервер), истекла сессия обмена, в данных появилась запись, которую код не ожидал, закончилось место на диске при выгрузке файлов.
Для отладки полезно запустить обработчик вручную в толстом клиенте или через внешнюю обработку, вызывающую тот же метод. Так видно ошибку интерактивно, а не в виде записи журнала. Учтите: на сервере код выполняется в другом контексте — недоступны модальные вызовы, диалоги выбора файлов и всё, что требует интерфейса. Обработчик, содержащий такие вызовы, гарантированно падает в фоне.
Особенности файлового и клиент-серверного режимов
В файловом варианте нет планировщика на стороне сервера: регламентные задания запускает отдельный сеанс, в котором выполняется команда «Выполнить обработку ожидания». Пока не запущен такой сеанс, задания не выполняются вообще. Практика — запускать специальный сеанс с параметром /CВыполнитьРегламентныеЗадания или периодически вызывать ВыполнитьОбработкуОповещения из сеанса дежурного пользователя.
В клиент-серверном варианте заданиями управляет планировщик кластера. Здесь важно, чтобы на рабочем сервере был разрешён запуск фоновых заданий и хватало рабочих процессов. Если база опубликована через веб-сервер и задания инициируются через веб-клиент, проверьте, что в настройках публикации не отключён механизм фоновых заданий.
Файловый и клиент-серверный режимы
Задания выполняются только при работающем сеансе-инициаторе. Подходит для небольших баз; ограничение — нет сеанса, нет выполнения.
Планировщик кластера запускает задания автономно. Требует контроля блокировок базы и нагрузки на рабочие процессы.
Конкуренция заданий и длительное выполнение
Задание может формально запускаться, но результата нет, потому что предыдущий экземпляр ещё выполняется. Платформа не запускает новый экземпляр регламентного задания, пока активен предыдущий. Если обработчик завис (например, ждёт ответа недоступного веб-сервиса), все последующие запуски будут пропускаться. В консоли заданий это видно по состоянию «Выполняется», которое не меняется часами.
Решение — найти зависшее фоновое задание и отменить его, а в обработчик добавить таймауты обращений к внешним ресурсам. Также проверьте взаимоблокировки: два задания, изменяющие одни и те же данные, могут регулярно конфликтовать, и одно из них будет аварийно завершаться с ошибкой управляемых блокировок.
Как проверить результат
«Завершено» с актуальной датой последнего выполнения
«Ошибка», «Заблокировано» или зависшее «Выполняется»
События запуска и успешного завершения фонового задания по расписанию
Записи об ошибках, отказе в доступе или полное отсутствие событий
Данные реально обновились: выгрузка создана, письма отправлены, курсы актуальны
Задание «выполнено», но данные не изменились — ошибка в логике обработчика
Профилактика: как не пропустить сбой в будущем
Разовое исправление не защищает от повторения. Настройте контроль: в типовых конфигурациях есть отчёт по результатам выполнения регламентных заданий, а для самописных решений полезно добавить в конец каждого обработчика запись результата в журнал регистрации или специальный регистр. Тогда по отсутствию записи за ожидаемый период легко обнаружить молчаливый сбой.
Для критичных заданий (обмены, платежи, рассылки) настройте уведомление администратору при аварийном завершении — через подписку на событие журнала или внешний мониторинг. И закрепите регламент: после любого обновления, восстановления из копии или переноса базы первым делом проверяйте блокировку заданий и расписание.
Что важно запомнить
Диагностику начинайте с консоли заданий и журнала регистрации. Самые частые причины — блокировка регламентных заданий, снятый флаг использования, отключённый пользователь-исполнитель и ошибки в коде обработчика. В файловом режиме проверяйте наличие сеанса-инициатора, в клиент-серверном — настройки кластера.
Частые вопросы
Задание выполняется, но результата нет — что это значит?
Фоновое задание завершилось штатно, но обработчик не сделал ожидаемых действий. Обычно причина в логике: отбор не нашёл данных, условие в коде не сработало, результат записан не туда. Запустите обработчик вручную с тестовыми данными и проверьте каждую ветку логики, а также добавьте в код запись промежуточных результатов в журнал регистрации.
Как запустить регламентное задание вручную для проверки?
В консоли заданий типовой конфигурации выделите задание и нажмите «Выполнить сейчас» — платформа создаст фоновое задание вне расписания. Если такой команды нет, используйте внешнюю обработку, вызывающую метод обработчика напрямую, или временно установите расписание на ближайшую минуту.
Почему после обновления конфигурации задания перестали работать?
При обновлении часто включается блокировка регламентных заданий, а в типовых конфигурациях срабатывает механизм отключения заданий, работающих с внешними ресурсами. Проверьте оба параметра после завершения обновления и убедитесь, что отложенные обработчики обновления завершились — до их окончания часть заданий может быть недоступна.
Задание работает на сервере, но не работает в файловой копии — почему?
В файловом режиме нет автономного планировщика: задания выполняются только в сеансе, где вызван механизм обработки ожидания. Запустите отдельный сеанс с параметром запуска для выполнения регламентных заданий либо используйте дежурный сеанс пользователя, в котором периодически вызывается обработка оповещений.
Можно ли выполнять задание чаще, чем раз в минуту?
Нет, минимальный интервал повторения регламентного задания в платформе — одна минута. Если требуется более частая обработка, внутри одного запуска организуйте цикл с обработкой нескольких порций данных или пересмотрите архитектуру в пользу событийных механизмов — подписок на события и очередей.
Как узнать, от чьего имени выполняется задание?
Откройте свойства регламентного задания в конфигураторе или консоли заданий — там указано имя пользователя. Если поле пустое, задание выполняется от имени служебного пользователя с полными правами. Фактического исполнителя конкретного запуска видно в записи журнала регистрации по событию фонового задания.