Закрываем доступ к базе 1С на время регламентных работ
Содержание
Самый надёжный способ закрыть доступ к базе 1С — штатная блокировка соединений. В толстом или тонком клиенте конфигуратора это пункт Администрирование → Блокировка соединений с информационной базой, на сервере — флажок «Блокировка начала сеансов» в свойствах базы через консоль кластера. После этого новые пользователи в базу не войдут, а вы спокойно обновите платформу, загрузите конфигурацию или сделаете архивную копию.
Заблокировать базу 1С:Предприятие приходится всякий раз, когда с данными нельзя работать параллельно: установка нового релиза, тестирование и исправление, загрузка .dt, перенос базы. Способ зависит от того, файловая у вас база или клиент-серверная, и от того, успеваете ли вы предупредить людей заранее.
Ниже — все рабочие методы блокировки: от мягкого запрета входа с кодом разрешения для администратора до аварийного завершения зависших сеансов.
С чего начать и какой способ подойдёт вашей базе
Выбор механизма зависит от типа базы и от запаса времени.
rac. Это не трогает конфигуратор и работает централизованно.Перед любой блокировкой пройдите короткий чек-лист — он экономит нервы, если что-то пойдёт не так.
Код разрешения (он же код для соединения) — это пароль, с которым администратор проходит сквозь собственную блокировку. Без него вы рискуете заблокировать базу и для себя.
Штатная блокировка соединений через конфигуратор
Это универсальный способ: подходит и для файловой, и для клиент-серверной базы, потому что запись о блокировке хранится в самой информационной базе.
Порядок действий:
- Запустите базу в режиме
Конфигуратор. - Откройте
Администрирование → Блокировка соединений с информационной базой. - Поставьте флажок «Установить блокировку».
- Заполните поля:
- Код разрешения — любая строка, например
admin2026. С ней вы войдёте в базу, пока блокировка активна. - Сообщение — текст, который увидят пользователи при попытке входа. Напишите понятно: «База закрыта на обновление до 19:00».
- Начало и Конец — период действия блокировки. Можно оставить начало текущим временем, а конец — с запасом.
- Код разрешения — любая строка, например
- Отдельно установите флажок «Блокировка регламентных заданий», если нужно остановить фоновые задачи (обмены, автозакрытие месяца).
- Нажмите «ОК».
После этого каждый новый пользователь при запуске получит ваше сообщение и в базу не попадёт.
Чтобы войти самому в заблокированную базу, добавьте к команде запуска параметр с кодом разрешения:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /IBName "Бухгалтерия" /UC admin2026
Параметр /UC и есть тот самый код разрешения. Его же можно указать в свойствах ярлыка или в поле «Дополнительные параметры запуска» в окне выбора базы.
Блокировка соединений не выгоняет тех, кто уже работает в базе. Она закрывает только новые входы. Чтобы завершить активные сеансы, переходите к разделу о завершении сеансов ниже.
Снимается блокировка там же: Администрирование → Блокировка соединений с информационной базой → снять флажок → «ОК».
Блокировка на сервере 1С:Предприятие через консоль кластера
Для клиент-серверных баз удобнее управлять блокировкой на уровне кластера — не трогая конфигуратор и не завися от конкретного клиента.
Через «Администрирование серверов 1С:Предприятие» (консоль кластера):
- Разверните узел кластера → «Информационные базы».
- Откройте свойства нужной базы (двойной клик).
- Поставьте флажок «Блокировка начала сеансов включена».
- Заполните «Код разрешения», «Сообщение» и период блокировки — так же, как в конфигураторе.
- При необходимости включите флажок «Блокировка регламентных заданий включена».
- Примените изменения.
Разница с конфигуратором в том, что здесь блокировка — свойство базы в кластере. Она действует мгновенно для всех сеансов и снимается одним снятием флажка.
Монопольный режим на сервере не нужен для самой блокировки. Монопольный (исключительный) доступ требуется платформе отдельно — при обновлении структуры конфигурации, загрузке .dt, тестировании и исправлении базы. Блокировка начала сеансов как раз готовит базу к таким операциям, освобождая её от пользователей.
Сравним два штатных способа:
| Критерий | Конфигуратор | Консоль кластера / rac |
|---|---|---|
| Тип базы | файловая и серверная | только клиент-серверная |
| Где хранится признак | в самой базе | в кластере серверов |
| Нужен доступ к серверу | нет | да |
| Снятие блокировки | через конфигуратор | через консоль или rac |
| Удобно автоматизировать | ограниченно | да, скриптом |
Как заблокировать файловую базу
У файловой базы нет кластера и сервера, поэтому вариантов меньше, но они есть.
Способ 1 — блокировка соединений (рекомендуется). Работает ровно так, как описано выше для конфигуратора: запись о блокировке хранится в файле базы и действует для всех, кто её открывает. Это самый безопасный путь для файлового варианта.
Способ 2 — права на уровне папки. Если пользователи ходят в базу по сетевой папке, временно закройте им доступ средствами Windows: в свойствах папки на вкладке «Безопасность» уберите права на чтение/запись для группы пользователей. Минус — вошедшие ранее продолжат работать, пока не выйдут.
Способ 3 — перенос файла базы (крайний случай). Файл файловой базы называется 1Cv8.1CD. Если его переименовать или переместить, открыть базу
станет невозможно.
Переименовывать или перемещать файл 1Cv8.1CD можно только после того, как из базы вышли все пользователи. Если сделать это при открытых сеансах, база может быть повреждена. Сначала убедитесь, что активных сеансов нет, и обязательно имейте свежую архивную копию.
Служебный файл блокировки сеансов 1Cv8.1CL платформа создаёт и удаляет сама. Руками его трогать не нужно — удаление при работающих пользователях ни к чему хорошему не приведёт.
Ограничение входа через пользователей и роли
Иногда закрыть базу нужно не целиком, а для отдельных людей — например, на период передачи дел или проверки. Тогда работают настройки пользователей.
В режиме 1С:Предприятие (для типовых конфигураций на «Библиотеке стандартных подсистем»):
- Откройте
Администрирование → Настройки пользователей и прав → Пользователи. - Выберите пользователя.
- Снимите флажок «Вход в программу разрешён» (или поставьте «Вход запрещён» — название зависит от конфигурации).
- Запишите изменения.
В конфигураторе (для любой базы):
Администрирование → Пользователи.- Откройте пользователя.
- На вкладке «Основные» снимите флажок «Аутентификация 1С:Предприятия» либо ограничьте доступные роли.
Если нужно оставить людям возможность входа, но запретить изменения, уберите у их ролей права на запись и проведение. Это мягкий сценарий: база открыта, но данные защищены от правок во время работ.
Для разовой блокировки на час-другой права пользователей — слишком грубый инструмент: придётся всё возвращать вручную. Для коротких работ лучше штатная блокировка соединений с кодом разрешения.
Как завершить активные сеансы перед работами
Блокировка закрывает вход, но уже работающих не трогает. Чтобы освободить базу полностью, сеансы завершают принудительно.
В режиме 1С:Предприятие. Откройте Администрирование → Обслуживание → Активные пользователи (или одноимённый пункт в сервисных функциях). Увидите список сеансов. Администратор может завершить чужой сеанс кнопкой «Завершить сеанс».
Через консоль кластера. В узле кластера откройте «Сеансы», выделите нужные и выберите «Удалить». Для серверных баз это самый прямой способ.
Через командную строку rac. Сначала посмотрите список сеансов, затем завершите нужный по его идентификатору:
rac session list --cluster=<uuid-кластера>
rac session terminate --session=<uuid-сеанса> --cluster=<uuid-кластера>
Идентификатор кластера узнаёте командой rac cluster list. Полный список параметров — в rac help.
Завершение сеанса обрывает работу пользователя. Несохранённые данные в открытых, но не записанных документах будут потеряны. Завершайте сеансы только после того, как предупредили людей, и в согласованное окно работ — не посреди рабочего дня.
Крайняя мера — перезапуск рабочих процессов rphost или службы сервера 1С. Это обрывает все сеансы сразу и применяется, только если сеансы зависли и не завершаются штатно. Делать это стоит в последнюю очередь и с архивной копией под рукой.
Автоматизация блокировки через rac и скрипты
Если базу приходится закрывать регулярно (ночные обновления, еженедельные обмены), блокировку удобно повесить на скрипт.
Для командной строки используется утилита rac, которая обращается к серверу администрирования ras. Базовая логика скрипта: получить идентификаторы кластера и базы, затем включить запрет сеансов.
@echo off
rem Получаем идентификатор кластера
rac cluster list
rem Включаем запрет новых сеансов и регламентных заданий
rac infobase update --infobase=<uuid-базы> --cluster=<uuid-кластера> ^
--infobase-user=<админ-базы> --infobase-pwd=<пароль> ^
--sessions-deny=on --scheduled-jobs-deny=on --permission-code=admin2026
Снятие блокировки — та же команда с --sessions-deny=off и --scheduled-jobs-deny=off.
В скрипте участвуют логин и пароль администратора базы. Храните .bat в защищённой папке, а не на общем сетевом диске.
Несколько правил для надёжной автоматизации:
- 🔑 Не придумывайте параметры
racпо памяти — сверяйтесь сrac help: команда покажет точный синтаксис для вашей версии платформы. - 🕒 Ставьте блокировку и снятие по расписанию (планировщик Windows), чтобы база не осталась закрытой до утра.
- 🧪 Прогоните скрипт на тестовой базе, прежде чем пускать на рабочую.
- 📋 Логируйте вывод команд в файл — так вы поймёте, на каком шаге что-то не сработало.
Внутри самой конфигурации на «Библиотеке стандартных подсистем» есть регламентное задание «Блокировка работы пользователей» — им можно задать плановое закрытие базы без командной строки, через Администрирование → Обслуживание.
Что проверить после снятия блокировки
Разблокировать базу — половина дела. Пока блокировка стояла, фоновые процессы были приостановлены, и перед тем как пускать людей, стоит убедиться, что всё вернулось в норму.
Короткий порядок проверки:
- Снимите саму блокировку там же, где ставили: флажок «Установить блокировку» в конфигураторе, «Блокировка начала сеансов» в консоли кластера или
--sessions-deny=offвrac. - Включите обратно регламентные задания, если отключали их отдельным флажком. Иначе обмены, автозакрытие периода и прочие фоновые задачи так и останутся остановленными.
- Проверьте результат работ: после обновления — что конфигурация той версии, что планировали; после загрузки
.dt— что открываются ключевые документы и отчёты. - Зайдите обычным пользователем (не администратором), чтобы убедиться: вход открыт, сообщение о блокировке больше не всплывает.
- Сообщите людям, что база снова работает, и назовите, если что-то изменилось после обновления.
Если после снятия блокировки пользователи всё равно видят сообщение о закрытой базе, проверьте оба уровня сразу: признак мог остаться и в самой базе (конфигуратор), и в свойствах базы на сервере (кластер). Они независимы.
Отдельно загляните в список активных сеансов через час работы: если нагрузка выросла, а кто-то из пользователей так и не смог войти, вы увидите это по журналу регистрации в разделе Администрирование → Обслуживание → Журнал регистрации.
Частые вопросы
Чем блокировка соединений отличается от монопольного режима?
.dt и тестировании — и для него база уже должна быть свободна от сеансов. Обычно сначала ставят блокировку, выгоняют пользователей, а затем запускают операцию, требующую монополии.Я поставил блокировку и не могу войти сам. Что делать?
/UC и ваш код, например /UC admin2026. Если код забыт, для серверной базы снимите блокировку в консоли кластера; для файловой — через конфигуратор, запущенный с тем же параметром /UC.Можно ли заблокировать базу по расписанию, без администратора у компьютера?
.bat с командой rac infobase update и запускайте его планировщиком Windows. Внутри типовых конфигураций есть регламентное задание для планового закрытия базы.Блокировка остановит регламентные задания и обмены?
--scheduled-jobs-deny=on). Без него фоновые задачи продолжат выполняться, несмотря на закрытый вход для людей.Как понять, что в базе никого не осталось?
Администрирование → Обслуживание → Активные пользователи, на сервере — узел «Сеансы» в консоли кластера или команда rac session list. Пустой список означает, что база свободна и с ней можно работать монопольно.