Администрирование · 10 мин
Как включить блокировку регламентных заданий в 1С
Как включить блокировку регламентных заданий в 1С: через консоль кластера, конфигуратор и код. Разбор ошибок, проверка результата и ответы на вопросы.
Блокировка регламентных заданий в 1С — это механизм, который полностью останавливает выполнение фоновых процессов в информационной базе: обменов данными, расчёта итогов, загрузки курсов валют, архивации и других автоматических операций. Администраторы включают её перед обновлением конфигурации, восстановлением из копии, переносом базы на другой сервер или массовой загрузкой данных, чтобы фоновые задания не мешали работе и не испортили данные.
Способ включения блокировки зависит от режима работы базы. В клиент-серверном варианте основной инструмент — консоль кластера серверов 1С, в файловом — настройка через конфигуратор или типовую обработку из состава БСП. Дополнительно блокировку можно установить программно, через встроенный язык, что удобно для автоматизации обновлений.
Частая ошибка — забыть снять блокировку после завершения работ. В результате пользователи жалуются, что «перестали приходить письма», «не уходят заказы на сайт» или «не обновляются курсы валют». Поэтому включение блокировки всегда нужно рассматривать вместе с контролем её снятия.
Когда блокировку включать, а когда нельзя
Блокировка регламентных заданий оправдана в ситуациях, когда фоновые процессы могут помешать обслуживанию базы или привести к рассогласованию данных. Типичные случаи: обновление конфигурации с реструктуризацией, загрузка начальных данных, восстановление из резервной копии, тестирование обменов на копии базы, переезд на новый сервер СУБД.
Особенно важно включать блокировку при развёртывании копии рабочей базы. Если этого не сделать, копия начнёт выполнять те же обмены, что и рабочая система: отправлять заказы клиентам повторно, выгружать данные в бухгалтерию, дублировать сообщения в интеграционные шины. Это один из самых опасных сценариев с точки зрения порчи данных.
Не следует включать блокировку «на всякий случай» в работающей системе без необходимости. Остановятся все регламентные операции, включая критичные: синхронизацию с сайтом, расчёт зарплаты по расписанию, формирование отчётов для руководства. Если обслуживание затягивается, блокировка превращается в источник проблем.
Блокировка в клиент-серверной базе через консоль кластера
В клиент-серверном варианте работы блокировка устанавливается на уровне кластера серверов 1С:Предприятия. Откройте консоль «Администрирование серверов 1С:Предприятия» на сервере или на машине администратора, разверните нужный кластер, затем ветку «Информационные базы».
Найдите нужную базу, щёлкните по ней правой кнопкой мыши и выберите «Свойства». В открывшемся окне найдите параметр «Блокировка регламентных заданий включена» и установите флаг. Подтвердите изменение кнопкой «ОК» — блокировка вступает в силу сразу, перезапуск служб не требуется.
Обратите внимание: в том же окне есть отдельный параметр «Блокировка начала сеансов включена» — он запрещает подключение пользователей. Это разные механизмы. Для остановки фоновых заданий достаточно блокировки регламентных заданий, пользователей при этом можно не отключать.
- 1Откройте консоль администрирования серверов 1С с правами администратора кластера
- 2Разверните кластер → ветку «Информационные базы»
- 3Откройте свойства нужной базы через контекстное меню
- 4Установите флаг «Блокировка регламентных заданий включена» и нажмите «ОК»
- 5Проверьте в консоли заданий, что новые регламентные задания не стартуют
Блокировка в файловой базе и через типовую обработку
В файловой информационной базе нет консоли кластера, поэтому используются другие механизмы. В конфигурациях на базе Библиотеки стандартных подсистем (БСП) — а это практически все современные типовые решения вроде «Управление торговлей», «Бухгалтерия предприятия», «Зарплата и управление персоналом» — есть встроенный механизм зависимости регламентных заданий от функциональных опций и блокировки работы с внешними ресурсами.
Для файловой базы типовой путь такой: раздел «Администрирование» → «Обслуживание» → «Регламентные операции» (в разных конфигурациях название может отличаться). Там доступна настройка блокировки, а также обработка отключения обменов и работы с внешними ресурсами. В ряде конфигураций при копировании базы система сама предлагает заблокировать регламентные задания при первом запуске копии.
Если типовой обработки нет или конфигурация самописная, блокировку устанавливают программно — об этом в следующем разделе. Учтите, что в файловом режиме консоль заданий платформы недоступна, поэтому контроль выполняется через журнал регистрации и встроенные средства конфигурации.
Программное включение и снятие блокировки
Для автоматизации обновлений и обслуживания удобно управлять блокировкой из кода. Встроенный язык 1С предоставляет методы УстановитьБлокировкуРегламентныхЗаданий() и ПолучитьБлокировкуРегламентныхЗаданий(). Первый включает или отключает блокировку, второй возвращает текущее состояние.
Типовой сценарий: внешняя обработка или скрипт пакетного обновления перед началом работ включает блокировку, а после успешного завершения — снимает её. Это исключает человеческий фактор, когда администратор забыл зайти в консоль кластера.
// Включить блокировку регламентных заданий
УстановитьБлокировкуРегламентныхЗаданий(Истина);
// Проверить текущее состояние
Если ПолучитьБлокировкуРегламентныхЗаданий() Тогда
Сообщить("Блокировка включена");
КонецЕсли;
// Снять блокировку после обслуживания
УстановитьБлокировкуРегламентныхЗаданий(Ложь);Для выполнения кода нужны права администратора. В клиент-серверном режиме метод меняет тот же параметр, что и консоль кластера, поэтому состояние будет видно и там. В файловом режиме настройка сохраняется в самой базе.
Как проверить, что блокировка работает
После включения блокировки нужно убедиться, что фоновые процессы действительно остановились. В клиент-серверном режиме откройте в консоли кластера раздел «Задания»: новые регламентные задания не должны появляться, а уже выполняющиеся завершатся по окончании текущей итерации.
Второй способ — журнал регистрации. Отфильтруйте события по фоновым заданиям: после момента включения блокировки записей о запуске новых заданий быть не должно. Если задания продолжают стартовать, проверьте, в той ли базе вы установили флаг — в кластере часто несколько баз с похожими именами.
Дополнительно проверьте состояние из кода функцией ПолучитьБлокировкуРегламентныхЗаданий() и убедитесь, что в свойствах базы в консоли кластера флаг установлен. Эти два источника должны показывать одинаковое состояние.
Как проверить результат
Новые регламентные задания не появляются
Задания продолжают стартовать по расписанию
Нет записей о запуске фоновых заданий после включения
Записи о выполнении заданий продолжают добавляться
Флаг установлен, функция возвращает Истина
Флаг сброшен или проверяли не ту базу
Типичные ошибки и как их избежать
Самая частая ошибка — включить блокировку в одной базе, а обслуживать другую. В кластере с десятками баз легко перепутать тестовую и рабочую. Перед изменением сверяйте имя базы, сервер СУБД и имя базы данных в свойствах.
Вторая ошибка — забыть снять блокировку. Рекомендуется сразу после включения создать напоминание или зафиксировать действие в регламенте обслуживания. Если блокировка установлена программно в скрипте обновления, добавьте снятие в тот же скрипт с обработкой ошибок, чтобы при сбое состояние было видно в логе.
Третья ошибка — путать блокировку регламентных заданий с блокировкой сеансов. Администратор иногда включает блокировку сеансов, считая, что это остановит фоновые задания, но уже запущенные задания при этом продолжают работать. Для полной остановки перед обновлением обычно нужны обе блокировки плюс завершение активных сеансов и заданий.
Часто задаваемые вопросы
Блокировка остановит уже выполняющиеся задания?
Нет. Блокировка запрещает запуск новых регламентных заданий, но уже выполняющиеся завершатся сами. Если нужно остановить текущее задание немедленно, найдите его в консоли кластера в разделе «Задания» и принудительно снимите, либо дождитесь завершения перед реструктуризацией.
Как включить блокировку в файловой базе без конфигураций на БСП?
Используйте программный метод УстановитьБлокировкуРегламентныхЗаданий(Истина) через любую внешнюю обработку или консоль кода, запущенную с правами администратора. Настройка сохранится в базе и будет действовать при следующих запусках.
Почему после снятия блокировки задания не запускаются сразу?
Регламентные задания стартуют по своему расписанию, а не в момент снятия блокировки. Если расписание задано, например, «каждые 10 минут», задание запустится в ближайший подходящий момент. Для немедленного запуска выполните задание вручную из консоли заданий или обработки администрирования.
Нужна ли блокировка при обновлении конфигурации в монопольном режиме?
Да, желательна. Монопольный режим не даёт подключаться новым сеансам пользователей, но в клиент-серверном варианте регламентные задания выполняются рабочими процессами кластера и могут стартовать независимо. Блокировка гарантирует, что фоновое задание не начнётся в середине реструктуризации.
Можно ли заблокировать только одно конкретное задание?
Да, отдельное задание можно отключить, сняв флаг «Использование» в его свойствах — в консоли заданий кластера или в разделе «Регламентные и фоновые задания» в режиме 1С:Предприятие. Общая блокировка нужна, когда требуется остановить все задания сразу.
Как узнать, кто и когда включил блокировку?
Изменение свойств базы в консоли кластера фиксируется в журналах сервера, а программная установка — в журнале регистрации информационной базы, если включена регистрация соответствующих событий. Проверьте настройки журнала регистрации: для аудита таких действий уровень регистрации должен включать административные события.
Что важно запомнить
Блокировка регламентных заданий включается в консоли кластера (клиент-сервер) или программно методом УстановитьБлокировкуРегламентныхЗаданий (любой режим). Она запрещает запуск новых заданий, но не прерывает выполняющиеся. После обслуживания блокировку обязательно снимают и проверяют, что задания снова выполняются по расписанию.