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

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

Как заблокировать фоновые задания в 1С

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

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

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

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

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

В платформе 1С существует два связанных, но разных механизма. Регламентные задания — это расписание: они описаны в конфигурации и запускаются по расписанию (каждые 10 минут, раз в день и т.д.). Фоновые задания — это конкретные исполняемые экземпляры: когда регламентное задание срабатывает, платформа создаёт фоновое задание, которое и выполняет код.

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

Блокировка через консоль кластера серверов

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

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

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

Порядок действий в консоли кластера
  1. 1
    Откройте консоль администрирования серверов 1С и раскройте нужный кластер
  2. 2
    Найдите информационную базу и откройте её свойства
  3. 3
    Установите флажок «Блокировка регламентных заданий включена»
  4. 4
    Откройте список сеансов и завершите сеансы типа «Фоновое задание»
  5. 5
    После завершения работ снимите блокировку тем же способом

Блокировка в файловом режиме

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

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

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

Программная блокировка через встроенный язык

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

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

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

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

Блокировка при обновлении конфигурации

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

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

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

Проверка результата и типичные ошибки

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

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

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

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

Нет новых сеансов типа «Фоновое задание»

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

Новые фоновые сеансы появляются по расписанию

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

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

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

Записи о запуске продолжают появляться

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

Флажок «Используется» снят, заданий в состоянии «Выполняется» нет

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

Задания остаются активными или зависли в состоянии «Выполняется»

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

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

Чем отличается блокировка регламентных заданий от блокировки сеансов?

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

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

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

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

После восстановления копии включите блокировку регламентных заданий в свойствах базы (для серверного режима) или выполните код, перебирающий все регламентные задания и устанавливающий Использование = Ложь. Это предотвратит случайную отправку данных в реальные системы из тестовой копии.

Что делать, если фоновое задание зависло и не завершается?

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

Опасно ли отключать регламентные задания в рабочей базе?

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

Итог

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

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