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

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

Установить блокировку регламентных заданий 1С: что это и как сделать

Что означает блокировка регламентных заданий в 1С, когда её устанавливать и как это сделать через консоль кластера, код и внешние обработки.

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

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

Блокировка устанавливается на уровне конкретной информационной базы и действует до тех пор, пока её не снимут. Способ установки зависит от режима работы: файловая база или клиент-серверный вариант с СУБД. Ниже разберём все варианты и типичные ситуации.

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

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

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

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

Как установить блокировку в клиент-серверном варианте

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

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

Обратите внимание: блокировка в консоли кластера не завершает уже запущенные фоновые задания — она запрещает только новые запуски. Если в момент установки блокировки какое-то задание уже выполняется, его нужно остановить отдельно через консоль кластера (список сеансов) или дождаться завершения.

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

Как установить блокировку программно и через обработки

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

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

// Проверить состояние
Если ПолучитьБлокировкуРегламентныхЗаданий() Тогда
    Сообщить("Блокировка установлена");
КонецЕсли;

// Снять блокировку
УстановитьБлокировкуРегламентныхЗаданий(Ложь);

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

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

Блокировка в файловом варианте работы

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

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

Сравнение способов блокировки

Консоль кластера серверов

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

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

Универсально для файловых и клиент-серверных баз. Требует входа в базу с административными правами и выполнения кода.

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

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

Типовой механизм «копия базы» в БСП

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

Когда блокировка обязательна, а когда не нужна

Блокировка обязательна при развёртывании копии рабочей базы для тестирования или разработки. Последствия пропуска этого шага бывают серьёзными: тестовая копия может отправить контрагентам дубли документов по ЭДО, выгрузить устаревшие остатки на сайт, отправить письма клиентам или создать дублирующие записи в синхронизируемых системах. Исправлять такие последствия намного сложнее, чем установить блокировку.

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

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

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

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

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

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

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

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

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

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

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

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

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

Флажок снят — блокировка не действует

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

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

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

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

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

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

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

Есть ошибки и запуски заданий — проверьте, на ту ли базу установлена блокировка

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

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

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

Третья ошибка — установка блокировки не на ту базу. В кластере может быть несколько баз с похожими именами (например, рабочая и тестовая). Перед изменением свойств проверьте имя базы данных и сервер СУБД в свойствах.

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

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

Блокировка регламентных заданий мешает пользователям работать?

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

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

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

Как заблокировать не все задания, а только некоторые?

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

Работает ли блокировка в файловой базе?

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

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

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

Нужно ли блокировать задания при обновлении через «Поддержка → Обновить конфигурацию»?

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

Итог

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

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