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

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

Как установить блокировку фоновых заданий в 1С

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

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

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

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

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

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

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

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

Основной способ для серверных баз — консоль администрирования серверов 1С. Откройте консоль, разверните нужный кластер, найдите информационную базу в списке и откройте её свойства (правый клик → «Свойства»).

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

Учтите: блокировка действует на уровне кластера, поэтому её состояние видно всем сеансам базы. Если база опубликована и на веб-сервере, перезапуск публикации не требуется — настройка подхватывается автоматически.

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

Блокировка в файловой базе и программный способ

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

bsl
УстановитьБлокировкуРегламентныхЗаданий(Истина);
// Проверка текущего состояния:
Сообщить(ПолучитьБлокировкуРегламентныхЗаданий());

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

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

Чем блокировка отличается от отключения заданий

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

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

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

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

Отключение конкретных заданий

Подходит, когда мешает одна-две задачи. Требует помнить, какие задания отключены, и включать их по одному.

Завершение сеансов пользователей

Дополняет блокировку, когда нужно выгнать пользователей из базы перед обновлением. Само по себе задания не останавливает.

Как проверить, что блокировка сработала

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

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

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

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

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

ПолучитьБлокировкуРегламентныхЗаданий() возвращает Истина

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

Возвращает Ложь — блокировка не установлена или уже снята

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

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

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

Задания продолжают стартовать по расписанию

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

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

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

Появляются новые фоновые сеансы — проверьте, что блокировка включена именно для этой базы

Типичные ошибки и ограничения

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

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

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

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

Блокировка остановит уже запущенное фоновое задание?

Нет. Блокировка запрещает только новые запуски. Выполняющееся задание нужно дождаться или завершить его сеанс принудительно через консоль кластера.

Чем блокировка отличается от установки монопольного режима?

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

Как узнать, кто и когда включил блокировку?

Прямой записи об установке блокировки в журнале регистрации может не быть. Ориентируйтесь на текущее состояние через ПолучитьБлокировкуРегламентныхЗаданий() и договорённости в команде администраторов.

Блокировка влияет на фоновые задания, запущенные пользователями вручную?

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

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

Да. Вместо общей блокировки откройте настройки конкретного задания (консоль заданий или типовая обработка регламентных операций) и снимите флажок «Использование». Остальные задания продолжат работать по расписанию.

Итог

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

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