Администрирование · 9 мин
Как заблокировать 1С для обновления
Как заблокировать работу пользователей в 1С перед обновлением: через консоль кластера, кодом и функциональными опциями. Завершение сеансов, проверка и снятие блокировки.
Обновление конфигурации 1С нельзя безопасно выполнить, пока в базе работают пользователи. Активные сеансы удерживают монопольные блокировки на таблицах, а реструктуризация данных при обновлении требует монопольного доступа к информационной базе. Если запустить обновление без блокировки, процесс либо завершится ошибкой «Конфликт блокировок», либо, что хуже, прервётся на середине и оставит базу в неконсистентном состоянии.
Блокировка базы решает две задачи: не даёт пользователям создавать новые сеансы и даёт администратору контролируемо завершить уже открытые. При этом сам администратор сохраняет доступ к базе — для этого используется код разрешения (пароль блокировки), который передаётся при запуске конфигуратора или сеанса обслуживания.
Порядок действий зависит от режима работы базы: файловая или клиент-серверная. В файловом варианте блокировка выполняется программно или через параметры запуска, в клиент-серверном — через консоль кластера серверов 1С. Ниже разобраны оба сценария, а также автоматизация через типовые механизмы Библиотеки стандартных подсистем.
Подготовка: что сделать до включения блокировки
Блокировка — это не первое действие, а часть процедуры. Сначала убедитесь, что у вас есть актуальная резервная копия базы: выгрузка в dt через конфигуратор или копия средствами СУБД для клиент-серверного варианта. Обновление без копии — главный источник необратимых потерь данных.
Предупредите пользователей заранее о времени окончания работы. В типовых конфигурациях на базе БСП это делается автоматически: при установке блокировки пользователям выводится сообщение с текстом и временем, через которое сеанс будет завершён. В самописных решениях достаточно рассылки или объявления.
Проверьте, что в базе не выполняются длительные регламентные операции: закрытие месяца, большие проведения, обмены данными. Прерывание таких операций на середине может оставить неполные данные, которые придётся исправлять вручную.
Блокировка сеансов в клиент-серверной базе через консоль кластера
Это основной способ для серверных баз. Откройте консоль кластера серверов 1С: Предприятия, найдите нужную информационную базу в списке, откройте её свойства (правая кнопка — «Свойства»). В разделе блокировки установите флаг «Блокировка начала сеансов включена», укажите время начала и окончания блокировки, текст сообщения пользователям и код разрешения.
Код разрешения — произвольная строка, например «Обновление2026». С ней можно войти в заблокированную базу: параметр /UC"КодРазрешения" в строке запуска толстого клиента или параметр UC в командной строке конфигуратора. Без кода новые сеансы будут отклоняться с текстом сообщения, который вы указали.
Уже открытые сеансы блокировка не закрывает автоматически. Их нужно завершить вручную: в консоли кластера перейдите в ветку «Сеансы», отсортируйте по базе и удалите сеансы пользователей. Удаление сеанса — принудительное: несохранённые данные пользователя будут потеряны, поэтому перед этим убедитесь, что все получили предупреждение.
- 1Откройте консоль кластера и свойства информационной базы
- 2Включите блокировку начала сеансов, задайте время, сообщение и код разрешения
- 3Проверьте список активных сеансов и фоновых заданий
- 4Завершите сеансы пользователей и остановите регламентные задания
- 5Войдите в конфигуратор с параметром /UC и выполните обновление
- 6После обновления снимите блокировку в свойствах базы
Блокировка файловой базы
В файловом варианте консоли кластера нет, поэтому блокировку выполняют программно или через типовой механизм. Если конфигурация построена на БСП (УТ, ERP, Бухгалтерия, ЗУП), используйте штатную обработку: раздел «Администрирование» — «Обслуживание» — «Блокировка работы пользователей». Там задаётся период блокировки, сообщение и код разрешения, а активные сеансы завершаются по таймауту с предупреждением.
Программный вариант — метод УстановитьБлокировкуСеансов. Он работает и в файловом, и в серверном режиме:
Блокировка = Новый БлокировкаСеансов;
Блокировка.Установлена = Истина;
Блокировка.Начало = ТекущаяДатаСеанса();
Блокировка.Конец = ТекущаяДатаСеанса() + 3600;
Блокировка.КодРазрешения = "Обновление";
Блокировка.Сообщение = "Идёт обновление базы, вход будет доступен через час";
УстановитьБлокировкуСеансов(Блокировка);Для файловой базы также важно физически исключить запуск: убедитесь, что у пользователей не осталось открытых сеансов (файл 1Cv8.1CL в каталоге базы — признак активных подключений), и при необходимости временно ограничьте доступ к сетевой папке на уровне прав файловой системы.
Завершение активных сеансов и фоновых заданий
Недостаточно запретить новые входы — нужно освободить базу от текущих подключений. В консоли кластера список сеансов показывает пользователя, приложение, время начала и активность. Сеансы фоновых заданий помечены отдельно; их тоже нужно завершить, иначе регламентные операции продолжат работать во время обновления.
Дополнительно отключите расписание регламентных заданий: в свойствах базы консоли кластера есть флаг «Блокировка регламентных заданий включена». Это предотвратит запуск новых фоновых задач на время обновления. Не забудьте снять эту блокировку после — иначе обмены, синхронизации и расчёты остановятся надолго.
В типовых конфигурациях завершение сеансов можно делегировать самой системе: механизм блокировки БСП сначала предупреждает пользователей, затем по истечении заданного интервала принудительно завершает их сеансы. Это мягче, чем ручное удаление в консоли.
Обновление конфигурации и снятие блокировки
Когда база заблокирована и сеансов нет, запустите конфигуратор с параметром /UC"КодРазрешения" (для серверной базы) или просто откройте файловую базу, если блокировка выставлена через БСП — конфигуратору она не мешает. Выполните обновление конфигурации базы данных (F7), дождитесь окончания реструктуризации.
После обновления запустите базу в режиме предприятия под администратором, чтобы отработали обработчики обновления (в типовых конфигурациях они выполняются при первом запуске и могут занимать заметное время на больших базах). Только после их завершения база готова к работе пользователей.
Снимите блокировку в том же месте, где устанавливали: в консоли кластера снимите флаг блокировки начала сеансов и блокировки регламентных заданий, в БСП — отключите блокировку работы пользователей. Проверьте вход под обычной учётной записью без кода разрешения.
Как проверить результат
Во время работ — отказ с текстом сообщения; после снятия — нормальный вход
Вход доступен во время обновления или отказ после снятия блокировки
Только сеанс конфигуратора/администратора
Активные пользовательские или фоновые сеансы
Выполняются по расписанию
Не запускаются — забыли снять блокировку регламентных заданий
Типичные ошибки и ограничения
Самая частая ошибка — забыть код разрешения или не записать его. Тогда администратор сам не сможет войти в заблокированную базу; снять блокировку в этом случае можно только через консоль кластера (для серверной базы) или программно из внешнего подключения.
Вторая ошибка — обновление при живых фоновых заданиях. Даже если пользовательских сеансов нет, активное регламентное задание удерживает блокировки и обновление падает с конфликтом. Всегда проверяйте ветку «Сеансы» целиком, а не только пользовательские подключения.
Третья — забыть снять блокировку регламентных заданий. Пользователи работают, а обмены с сайтом, банком и ЭДО молча стоят. После каждого обновления проверяйте журнал регистрации на предмет выполнения регламентных операций.
FAQ
Можно ли обновить 1С без блокировки пользователей?
Нет. Обновление конфигурации базы данных требует монопольного доступа: реструктуризация таблиц несовместима с активными сеансами. Динамическое обновление существует только для изменений, не затрагивающих структуру данных, и требует последующего перезапуска сеансов — для полноценного обновления оно не подходит.
Что увидят пользователи при попытке войти в заблокированную базу?
Окно с текстом сообщения, которое вы указали при установке блокировки, и отказ в создании сеанса. Если сообщение не задано, пользователь увидит стандартное уведомление о блокировке начала сеансов без пояснений — поэтому текст стоит заполнять всегда.
Как войти в заблокированную базу администратору?
Через код разрешения: добавьте параметр /UC"КодРазрешения" в строку запуска клиента или укажите UC=КодРазрешения в командной строке конфигуратора. Для серверной базы блокировку можно также просто снять в консоли кластера, не зная кода.
Что делать, если обновление прервалось с ошибкой блокировок?
Проверьте в консоли кластера оставшиеся сеансы и фоновые задания, завершите их и повторите обновление. Если реструктуризация прервалась на середине и база не открывается — восстанавливайте резервную копию и повторяйте процедуру с полной блокировкой.
Нужно ли блокировать базу при обновлении платформы, а не конфигурации?
Обновление платформы на сервере требует остановки службы агента сервера 1С, что само по себе завершит все сеансы. Пользователей нужно предупредить, но отдельная установка блокировки сеансов в этом случае не обязательна — достаточно контролируемой остановки служб.
Что важно запомнить
Перед обновлением сделайте резервную копию, включите блокировку начала сеансов с кодом разрешения и сообщением пользователям, завершите активные сеансы и регламентные задания, выполните обновление и обработчики первого запуска, затем снимите обе блокировки и проверьте вход обычного пользователя.