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