Администрирование · 9 мин
Как включить блокировку базы 1С
Как включить блокировку сеансов базы 1С через консоль кластера и конфигуратор: код разрешения, сообщение пользователям, снятие блокировки и типичные ошибки.
Блокировка базы 1С — это запрет на установку новых соединений с информационной базой, который администратор включает перед регламентными работами: обновлением конфигурации, загрузкой данных, тестированием и исправлением ошибок. Пока блокировка активна, пользователи не могут войти в базу, а уже подключённых можно завершить принудительно — это защищает данные от рассинхронизации и повреждения в момент структурных изменений.
Способ включения зависит от режима работы базы. В клиент-серверном варианте блокировка ставится через консоль администрирования серверов 1С или утилиту rac, в файловом — через параметр запуска конфигуратора или код встроенного языка. Дополнительно в типовых конфигурациях есть штатный механизм «Блокировка работы пользователей» из библиотеки стандартных подсистем.
Когда блокировка базы действительно нужна
Блокировку включают не «на всякий случай», а под конкретные операции, где параллельная работа пользователей создаёт риск. Типичные сценарии: динамическое обновление конфигурации, которое потом всё равно потребует монопольного доступа; загрузка больших пакетов данных через обмен; восстановление базы после сбоя; пакетное перепроведение документов; изменение структуры метаданных.
Если задача — просто попросить пользователей выйти, а сама операция не требует монопольного режима, иногда достаточно штатного механизма завершения сеансов без блокировки. Но для любых действий, меняющих структуру данных или выполняющих массовую перезапись, блокировка обязательна: вошедший «в последний момент» пользователь может получить ошибку, а база — незавершённую транзакцию.
Блокировка через консоль администрирования сервера 1С
Это основной способ для клиент-серверных баз. Откройте оснастку «Администрирование серверов 1С Предприятия» на сервере или на машине администратора, разверните нужный кластер, раскройте ветку «Информационные базы» и найдите свою базу. Кликните по ней правой кнопкой мыши и выберите «Свойства».
В окне свойств найдите группу параметров блокировки. Установите флаг «Блокировка начала сеансов включена». Далее укажите время начала и окончания блокировки — если оставить пустым, блокировка действует с момента сохранения и до ручного снятия. В поле «Сообщение» впишите текст, который увидят пользователи при попытке входа, например: «Ведутся регламентные работы, вход будет доступен после 14:00».
Поле «Код разрешения» — это пароль для обхода блокировки. Задайте его обязательно: без кода вы сами не сможете зайти в базу для выполнения работ, если блокировка уже активна. Войти под блокировкой можно, добавив параметр /UC<код> в командную строку запуска или указав код в диалоге подключения. Сохраните свойства — блокировка вступит в силу немедленно или в заданное время.
Блокировка файловой базы
Для файловой базы консоль кластера недоступна, поэтому используются другие механизмы. Классический способ — параметр командной строки /UC<код> при запуске конфигуратора или предприятия: он позволяет войти в базу, в которой установлена блокировка соединений. Сама блокировка для файловой базы устанавливается программно, через метод встроенного языка УстановитьБлокировкуСеансов, либо через стандартную обработку в типовых конфигурациях.
В типовых решениях (Бухгалтерия, Управление торговлей, ERP и других на базе БСП) есть готовый механизм: раздел «Администрирование» → «Обслуживание» → «Блокировка работы пользователей». Там задаётся период блокировки, текст сообщения и код разрешения. Этот же механизм умеет рассылать пользователям предупреждение о скором завершении работы. Способ работает и для файловых, и для клиент-серверных баз, если конфигурация построена на БСП.
// Установить блокировку сеансов программно
Блокировка = Новый БлокировкаСеансов;
Блокировка.Установлена = Истина;
Блокировка.Начало = ТекущаяДатаСеанса();
Блокировка.КодРазрешения = "Обновление123";
Блокировка.Сообщение = "Идут регламентные работы";
УстановитьБлокировкуСеансов(Блокировка);Как войти в заблокированную базу и снять блокировку
Для входа администратора во время блокировки используется код разрешения. В толстом или тонком клиенте его можно передать параметром запуска /UCКодРазрешения, либо ввести в расширенных настройках списка баз (поле «Дополнительные параметры запуска»). В конфигураторе код указывается так же — через параметр командной строки.
Снятие блокировки выполняется тем же путём, что и установка: в консоли кластера снимите флаг «Блокировка начала сеансов включена» и сохраните свойства; в типовой конфигурации — отключите блокировку в соответствующей обработке; при программной установке — вызовите УстановитьБлокировкуСеансов с пустым объектом или с Установлена = Ложь. Если блокировка была задана с периодом окончания, она снимется автоматически по времени сервера.
Как проверить результат
Появляется сообщение о блокировке с вашим текстом
Пользователь входит в базу как обычно
База открывается штатно
Ошибка доступа — код не совпадает или не передан
Остались только сеансы администратора
Активны пользовательские сеансы и фоновые задания
Типичные ошибки и ограничения
Самая частая ошибка — включить блокировку без кода разрешения и потерять доступ к базе до окончания периода блокировки. Вторая по распространённости — забыть про регламентные задания: обмен с сайтом или отложенное проведение запускаются посреди обновления и конфликтуют с ним. Третья — принудительное завершение сеансов без предупреждения, из-за чего пользователи теряют несохранённые данные.
Учитывайте ограничения: блокировка через консоль кластера действует на уровне сервера и не распространяется на файловые базы; механизм БСП доступен только в конфигурациях, где он внедрён; спящие сеансы пробуждаются автоматически, поэтому их тоже нужно завершать. Если база опубликована на веб-сервере, пользователи через браузер подпадают под ту же блокировку — отдельной настройки не требуется.
Что важно запомнить
Блокировку включают через свойства базы в консоли кластера (клиент-сервер) или штатную обработку БСП, обязательно задают код разрешения, отдельно блокируют регламентные задания и сначала предупреждают пользователей, а потом завершают сеансы.
Частые вопросы
Что будет, если не указать код разрешения при блокировке?
Никто, включая администратора, не сможет войти в базу интерактивно до окончания периода блокировки или до её снятия через консоль кластера. В клиент-серверном варианте блокировку можно снять из консоли без входа в базу, в файловой — придётся ждать окончания периода или снимать её программно из внешнего соединения.
Блокировка завершает уже открытые сеансы автоматически?
Нет. Флаг блокировки запрещает только создание новых сеансов. Активные подключения продолжают работать, их нужно завершать отдельно — через вкладку «Сеансы» в консоли кластера или штатную обработку завершения работы пользователей.
Как заблокировать базу на ночь по расписанию?
В свойствах базы в консоли кластера укажите время начала и окончания блокировки — она включится и снимется автоматически. В конфигурациях на БСП аналогичный период задаётся в обработке «Блокировка работы пользователей». Учтите, что время берётся серверное, а не локальное.
Можно ли заблокировать базу через командную строку без консоли?
Да, для клиент-серверного варианта используется утилита rac с командой infobase update и параметрами --sessions-deny=on и --permission-code. Это удобно для автоматизации регламентных работ скриптами. Утилита входит в состав сервера 1С и требует указания адреса агента кластера.
Работают ли фоновые задания при включённой блокировке сеансов?
Регламентные задания блокируются отдельным флагом «Блокировка регламентных заданий включена». Если его не установить, они продолжат выполняться. Фоновые задания, запущенные пользователем до блокировки, продолжат работу в рамках своего сеанса, пока он не завершён.
Пользователь видит пустое сообщение вместо текста блокировки — почему?
Поле «Сообщение» в свойствах базы не заполнено или содержит только пробелы. Откройте свойства информационной базы в консоли кластера и впишите понятный текст с причиной и ориентировочным временем окончания работ — это снизит количество обращений пользователей к администратору.