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

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

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

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

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

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

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

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

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

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

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

Блокировка регламентных заданий через конфигуратор

Это основной способ, доступный администратору без программирования. Порядок действий одинаков для файловых и клиент-серверных баз, но для клиент-серверного варианта часть настроек находится в консоли кластера.

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

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

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

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

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

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

Программный способ — через встроенный язык, например из внешней обработки или консоли кода:

Отбор = Новый Структура("Состояние", СостояниеФоновогоЗадания.Активно);

Задания = ФоновыеЗадания.ПолучитьФоновыеЗадания(Отбор);

Для Каждого Задание Из Задания Цикл

Если Задание.ИмяМетода = "ОбменДаннымиССайтом" Тогда

Задание.Отменить();

КонецЕсли;

КонецЦикла;

Если задание не реагирует на отмену (код не проверяет запрос на прерывание или выполняется запрос к СУБД), в клиент-серверном варианте помогает принудительное завершение рабочего процесса rphost в консоли кластера. Это крайняя мера: вместе с заданием завершатся все сеансы, обслуживаемые этим процессом.

Блокировка на уровне кластера серверов 1С

В клиент-серверном варианте те же свойства доступны в консоли кластера (оснастка «Администрирование серверов 1С Предприятия»). Откройте ветку «Кластер → Информационные базы», найдите нужную базу, вызовите контекстное меню «Свойства».

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

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

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

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

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

Программно использование задания отключается так:

Задание = РегламентныеЗадания.НайтиПредопределенное(

Метаданные.РегламентныеЗадания.ОбменДаннымиССайтом);

Задание.Использование = Ложь;

Задание.Записать();

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

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

Блокировка через конфигуратор

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

Свойства базы в консоли кластера

Тот же эффект, но доступен без запуска конфигуратора. Только для клиент-серверного варианта.

Отключение задания в консоли заданий

Точечная остановка одного задания. Требует наличия обработки консоли заданий и прав на её запуск.

Программный способ

Гибкая автоматизация: отбор по имени, состоянию, расписанию. Требует прав и навыков работы со встроенным языком.

Типовой сценарий: блокировка заданий в копии базы

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

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

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

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

Проверка результата и снятие блокировки

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

Второй способ проверки — журнал регистрации (в конфигураторе «Администрирование → Журнал регистрации»). Отфильтруйте события по фоновым заданиям: после момента блокировки записей о запуске регламентных заданий быть не должно.

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

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

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

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

Новые задания от регламентных не появляются

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

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

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

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

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

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

Свойства базы в конфигураторе или кластере
Норма

Флажок «Блокировка регламентных заданий включена» установлен

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

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

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

Блокировка регламентных заданий остановит фоновые задания, запущенные пользователями из форм?

Нет. Блокировка действует только на запуск по расписанию. Задания, созданные методом ФоновыеЗадания.Выполнить() из кода формы или обработки, продолжат работать. Их можно только отменить по одному через консоль заданий или программно.

Нужно ли перезапускать сервер 1С после включения блокировки?

Нет, настройка применяется немедленно. Платформа проверяет свойство базы при каждом срабатывании расписания, поэтому ни перезапуск сервера, ни перезапуск сеансов не требуется.

Как заблокировать задания, если база недоступна из-за зависшего процесса?

В клиент-серверном варианте используйте консоль кластера: свойства информационной базы доступны независимо от сеансов внутри базы. Зависший рабочий процесс rphost при необходимости завершается там же, но это затронет все его сеансы.

Почему после обновления конфигурации отключенное задание снова запускается?

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

Можно ли заблокировать задания только для одного пользователя?

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

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

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

Итог

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

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