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

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

Как остановить регламентное задание в 1С

Как остановить, отключить или заблокировать регламентное задание в 1С: через консоль заданий, код и кластер серверов. Проверка результата и типичные ошибки.

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

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

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

Определите, что именно нужно остановить

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

Полезно помнить разницу между регламентным и фоновым заданием. Регламентное — это настройка с расписанием, которая порождает запуски. Фоновое — конкретный экземпляр выполнения. Отмена фонового задания останавливает текущий запуск, но по расписанию стартует следующий. Отключение регламентного задания предотвращает новые запуски, но уже идущий процесс нужно отменять отдельно.

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

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

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

Остановка через консоль «Регламентные и фоновые задания»

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

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

Порядок действий в консоли заданий
  1. 1
    Откройте Администрирование → Обслуживание → Регламентные и фоновые задания
  2. 2
    На закладке «Регламентные задания» найдите задание по имени
  3. 3
    Снимите флаг «Использование» и запишите изменение
  4. 4
    Перейдите на закладку «Фоновые задания» и отфильтруйте по состоянию «Выполняется»
  5. 5
    Если текущий запуск ещё идёт — выделите его и нажмите «Отменить»
  6. 6
    Проверьте, что задание перешло в состояние «Отменено» или исчезло из списка активных

Отмена выполняющегося фонового задания

На закладке «Фоновые задания» установите отбор по состоянию «Выполняется» — так вы увидите только активные процессы. Выделите нужное и нажмите «Отменить». Учтите: отмена прерывает выполнение кода «как есть». Если задание в этот момент записывало данные вне транзакции, возможны незавершённые изменения — после отмены проверьте журнал регистрации и целостность связанных данных (например, остатки по обмену).

Остановка через кластер серверов 1С

В клиент-серверном варианте работы фоновые задания исполняются на сервере, и управлять ими можно через консоль кластера. Откройте оснастку «Администрирование серверов 1С:Предприятия», разверните кластер, найдите ветку «Сеансы» нужной информационной базы. Фоновые задания отображаются как сеансы с типом «Фоновое задание».

Выделите сеанс зависшего задания и нажмите «Удалить» — сеанс будет принудительно завершён. Это грубый, но рабочий способ, когда задание не отвечает на штатную отмену из консоли заданий. Кроме того, в свойствах информационной базы на закладке параметров можно установить флаг «Блокировка регламентных заданий включена» — тогда сервер перестанет запускать любые регламентные задания этой базы.

Отключение задания программно

В файловых базах без БСП, а также в сценариях автоматизации удобно управлять заданиями кодом. Метод ПолучитьРегламентныеЗадания() возвращает коллекцию, у каждого объекта есть свойства Использование, Расписание, Наименование. Для отключения достаточно установить Использование = Ложь и вызвать Записать().

bsl
Отбор = Новый Структура("ИмяМетода", "ОбменДаннымиССайтом");
Задания = РегламентныеЗадания.ПолучитьРегламентныеЗадания(Отбор);
Для Каждого Задание Из Задания Цикл
    Задание.Использование = Ложь;
    Задание.Записать();
КонецЦикла;

Для отмены выполняющегося фонового задания используйте ФоновыеЗадания.ПолучитьФоновыеЗадания() с отбором по состоянию и метод Отменить(). Программный способ удобен, когда нужно отключить группу заданий разом — например, все задания обменов перед обновлением конфигурации.

Блокировка всех регламентных заданий базы

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

В файловом варианте блокировку можно установить программно: УстановитьБлокировкуРегламентныхЗаданий(Истина). После завершения работ не забудьте снять блокировку — это одна из самых частых причин «внезапно переставших работать» обменов и рассылок отчётов.

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

Проверка результата

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

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

Как проверить результат

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

Флаг снят, изменение записано

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

Флаг снова установлен — возможно, его возвращает обмен настройками или другое задание

Список фоновых заданий за последний час
Норма

Нет новых запусков отключённого метода

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

Появляются новые записи — задание запускается из другой базы или внешним планировщиком

Журнал регистрации
Норма

Нет ошибок и новых событий задания

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

Ошибки «задание уже выполняется» или повторные старты

Блокировка регламентных заданий базы
Норма

Состояние соответствует плану (включена на время работ, снята после)

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

Блокировка осталась включённой после завершения работ

Ограничения и особенности

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

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

FAQ

Задание снова запускается, хотя я его отключил. Почему?

Чаще всего флаг «Использование» возвращает код конфигурации — например, при записи настроек синхронизации или обмена. Также проверьте, не работает ли копия базы на другом сервере и не запускает ли задание внешний планировщик (скрипты, запускающие 1С с выполнением обработки).

Как остановить задание, если консоль «Регламентные и фоновые задания» недоступна?

Используйте консоль кластера серверов: завершите сеанс фонового задания и при необходимости включите блокировку регламентных заданий в свойствах базы. Альтернатива — выполнить код отключения через внешнюю обработку или консоль кода.

Опасно ли отменять выполняющееся фоновое задание?

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

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

Включите блокировку регламентных заданий информационной базы: в кластере серверов — флаг в свойствах базы, в файловом варианте — кодом УстановитьБлокировкуРегламентныхЗаданий(Истина). После обновления снимите блокировку и убедитесь, что задания снова выполняются по расписанию.

Можно ли удалить регламентное задание совсем?

Предопределённые задания, заданные в конфигураторе, удалить нельзя — только отключить снятием флага «Использование». Непредопределённые задания, созданные программно, удаляются методом Удалить() объекта регламентного задания.

В файловой базе задание не выполняется вообще — это нормально?

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

Итог

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

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