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

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

Как отключить фоновое задание в 1С

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

Фоновые задания в 1С выполняют обмены данными, расчёт итогов, рассылку отчётов и другие операции без участия пользователя. Иногда такое задание зависает, грузит сервер или мешает обновлению конфигурации — и его нужно остановить или отключить совсем. Способ зависит от того, что именно требуется: прервать одно текущее выполнение или запретить заданию запускаться по расписанию.

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

Чем фоновое задание отличается от регламентного

Регламентное задание хранится в метаданных конфигурации и описывает, какой метод и по какому расписанию запускать. Когда наступает время выполнения, платформа создаёт фоновое задание — отдельный сеанс на сервере или в файловой базе, который выполняет код этой процедуры.

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

Как найти запущенное фоновое задание

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

Если типовой консоли нет, список активных сеансов виден в консоли кластера серверов 1С: ветка «Сеансы» показывает сеансы с типом «Фоновое задание», а ветка «Соединения» — занятые рабочие процессы. В файловой базе активные задания видны только из самой базы через встроенные средства.

Задание висит часамиВозможно зависание или ожидание блокировки

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

Задание падает с ошибкойОшибка в коде или данных

Откройте журнал регистрации по событию задания

Задание запускается сноваРаботает расписание регламентного задания

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

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

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

Порядок действий
  1. 1
    Откройте «Функции для технического специалиста» → «Фоновые задания»
  2. 2
    Найдите нужное задание по имени и времени запуска
  3. 3
    Нажмите «Отменить» и дождитесь смены состояния
  4. 4
    Проверьте в журнале регистрации, что задание завершилось с признаком отмены
  5. 5
    Если задание не отменяется — найдите его сеанс в консоли кластера и завершите сеанс

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

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

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

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

Сравнение вариантов

Отмена фонового задания

Останавливает один текущий запуск; по расписанию задание стартует снова

Снятие флага «Использование»

Отключает конкретное регламентное задание; легко включить обратно

Блокировка в кластере

Отключает все задания базы; подходит для копий и тестовых баз

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

Разработчик может управлять заданиями из встроенного языка. Методы объекта «РегламентныеЗадания» позволяют найти задание и изменить его свойства, а для отмены фонового задания используется метод «Отменить» объекта фонового задания.

1c
Задание = РегламентныеЗадания.НайтиПредопределенное("ОчисткаУстаревшихДанных");
Задание.Использование = Ложь;
Задание.Записать();

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

Особенности файловых и серверных баз

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

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

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

Как проверить результат и что делать при проблемах

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

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

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

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

Список регламентных заданий
Норма

У задания снят флаг использования

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

Флаг снова установлен без вашего действия

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

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

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

Появляются новые записи о выполнении

Сеансы в кластере
Норма

Нет активных сеансов фонового задания

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

Сеанс висит в активных после отмены

Итог

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

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

Частые вопросы

Задание не отменяется через консоль заданий. Что делать?

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

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

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

Отключённое задание снова стало активным. Почему?

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

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

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

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

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

Нужны ли особые права для отключения заданий?

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