Как снять блокировку сеансов 1С ключом запуска и войти в закрытую базу
Содержание
Чтобы разрешить работу пользователей после блокировки, запустите 1С:Предприятие под администратором с ключом /C"РазрешитьРаботуПользователей", а если база закрыта с кодом — добавьте /UC"код". Пример: 1cv8.exe ENTERPRISE /S"srv01\buh" /N"Администратор" /P"пароль" /UC"1234" /C"РазрешитьРаботуПользователей". При входе блокировка снимается, и сотрудники снова могут подключаться.
Частое заблуждение: многие ищут ключ /AllowUsers. Такого ключа у платформы нет. Строку РазрешитьРаботуПользователей обрабатывает не сама платформа, а Библиотека стандартных подсистем (БСП). Значит, приём работает в типовых конфигурациях на БСП: Бухгалтерии 3.0, ЗУП 3.1, УТ 11, КА, ERP, УНФ. В самописных базах без БСП этот параметр ничего не делает.
Как работает блокировка и что делает параметр разрешения
Блокировку обычно ставят перед обновлением, сменой конфигурации или закрытием периода. В типовых базах её включают в разделе Администрирование → Обслуживание (форма «Блокировка работы пользователей»). Там же задают:
- 🔒 текст сообщения, которое увидят пользователи;
- ⏰ время начала и окончания блокировки;
- 🔑 код для разрешения входа — его знает только администратор.
После этого новый сеанс открыть нельзя. Пользователь видит сообщение вроде Начало сеанса с информационной базой запрещено с текстом, который ввёл администратор. Те, кто работает, получают предупреждение и через несколько минут отключаются.
Дальше два пути:
- Дождаться времени окончания — блокировка снимется сама.
- Снять её вручную: открыть ту же форму и выключить блокировку или войти с ключом
РазрешитьРаботуПользователей.
Ключ нужен именно тогда, когда форму открыть неудобно или нельзя: например, при ночном обновлении скриптом, в пакетном файле или когда интерфейс программы не стартует до конца.
Парный ключ — ЗавершитьРаботуПользователей. Он ставит блокировку и выгоняет активные сеансы. Обычно оба ключа используют вместе: первым закрывают базу, вторым открывают.
| Ключ | Что делает | Когда нужен |
|---|---|---|
/C"ЗавершитьРаботуПользователей" | Ставит блокировку, завершает сеансы | Перед обновлением, тестированием и исправлением |
/C"РазрешитьРаботуПользователей" | Снимает блокировку | После обновления |
/UC"код" | Пускает в заблокированную базу | Когда блокировка стоит с кодом |
Что проверить перед запуском с ключом
Прежде чем запускать команду, соберите четыре вещи:
- Учётная запись пользователя 1С с полными правами и её пароль.
- Код разрешения, если его задавали при блокировке. Его видно в той же форме блокировки, пока вы в базе.
- Строка подключения: путь к каталогу для файловой базы или пара «сервер\имя базы» для серверной.
- Версия платформы, под которой работает база, — номер не ниже того, что требует конфигурация.
Мини-кейс. Бухгалтерия на сервере обновлялась ночью, скрипт упал на втором шаге, утром база закрыта. Администратор в отпуске, код записан только у него. Ключ /C здесь не поможет: без кода не войти. Выход — консоль кластера, где флажок снимается без кода, но с паролем администратора базы. Об этом способе — ниже.
Синтаксис ключей /C и /UC в командной строке
Команда запуска собирается из пути к исполняемому файлу, режима и ключей. Порядок ключей не важен, регистр тоже.
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /UC"1234" /C"РазрешитьРаботуПользователей"
Что означает каждая часть:
ENTERPRISE— режим пользователя. Параметр/Cобрабатывается только в нём, в Конфигураторе он бесполезен./F"путь"— каталог файловой базы. Для серверной вместо него/S"сервер\имя_базы"./Nи/P— имя и пароль пользователя 1С. Пользователь должен иметь полные права, иначе блокировку снять не получится./UC"1234"— код разрешения, который указали при блокировке. Без него вход в закрытую базу невозможен даже администратору./C"…"— строка параметра запуска. Её получает конфигурация.
Кавычки обязательны, если в значении есть пробелы. Для кириллицы и простых кодов их можно опустить, но с кавычками надёжнее: меньше шансов, что строку обрежет оболочка.
Строку /C пишут кириллицей, без пробелов, слитно — РазрешитьРаботуПользователей. Одна лишняя буква, и БСП молча проигнорирует параметр. Если нужно передать несколько служебных команд, БСП разбирает их через точку с запятой, но для снятия блокировки хватает одной.
Путь к 1cv8.exe подставьте свой: папка bin нужной версии платформы лежит в C:\Program Files\1cv8\. Можно запускать и через 1cestart.exe из C:\Program Files\1cv8\common\ — тогда стартер сам подберёт версию платформы под базу.
Разрешение работы в файловой и клиент-серверной базе
Файловый вариант
Для файловой базы указывайте /F с полным путём к каталогу, где лежит 1Cv8.1CD. Если база на сетевой папке, лучше путь в формате UNC: /F"\\nas\1c\Buh". Буква сетевого диска в скрипте под другим пользователем Windows может не подключиться.
Блокировка в файловом варианте хранится в служебном файле 1Cv8.cdn в каталоге базы. Пока он есть, новые сеансы не открываются. Ключ РазрешитьРаботуПользователей убирает блокировку штатно — вручную трогать файл не нужно.
Клиент-серверный вариант
Здесь блокировка хранится на сервере 1С в свойствах информационной базы. Запуск:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /S"srv01\buh" /N"Администратор" /P"пароль" /UC"1234" /C"РазрешитьРаботуПользователей"
Имя после обратного слеша — это имя базы в кластере, а не её представление в списке баз. Посмотреть его можно в консоли администрирования серверов или в свойствах базы в окне запуска (Изменить → строка подключения).
Если сервер работает на нестандартном порту агента, укажите его в имени сервера: /S"srv01:2541\buh". По умолчанию агент слушает порт 1540.
Ярлык и bat-файл для автоматического снятия блокировки
Через список баз в окне запуска
Самый простой способ без командной строки:
- Откройте окно запуска 1С, выделите базу, нажмите
Изменить. - Пройдите на последнюю страницу мастера.
- В поле «Дополнительные параметры запуска» впишите
/UC"1234" /C"РазрешитьРаботуПользователей". - Нажмите
Готовои откройте базу кнопкой1С:Предприятие.
После входа сотрите эти параметры из поля. Иначе каждый запуск будет снимать блокировку, даже если завтра её поставит коллега перед обновлением.
Удобный вариант — завести вторую строку в списке с той же базой и названием вроде «Бухгалтерия — снять блокировку». Основная строка остаётся чистой.
Через ярлык Windows
Создайте ярлык на 1cv8.exe или 1cestart.exe и в поле «Объект» допишите ключи после пути в кавычках. Ярлык держите только на рабочем столе администратора.
Пакетный файл для ночного обновления
Типовая схема регламента: закрыть базу, обновить, открыть.
@echo off
set EXE="C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe"
set BASE=/S"srv01\buh"
set USR=/N"Администратор" /P"пароль"
set CODE=1234
set LOG=D:\Logs\update_buh.log
rem 1. Блокировка и завершение сеансов
%EXE% ENTERPRISE %BASE% %USR% /UC"%CODE%" /C"ЗавершитьРаботуПользователей" /DisableStartupDialogs
rem 2. Обновление конфигурации базы данных
%EXE% DESIGNER %BASE% %USR% /UC"%CODE%" /UpdateDBCfg /Out"%LOG%" -NoTruncate
rem 3. Снятие блокировки
%EXE% ENTERPRISE %BASE% %USR% /UC"%CODE%" /C"РазрешитьРаботуПользователей" /DisableStartupDialogs
Несколько правил для такого скрипта:
- ⚠️ Шаг 1 обрывает работу сотрудников. Запускайте его в согласованное окно, когда в базе никого нет или все предупреждены.
- 📝 Сохраняйте bat-файл в кодировке, которую понимает консоль, иначе кириллица в
/Cпревратится в мусор. Самый надёжный способ —chcp 65001в начале и сохранение файла в UTF-8. - 🧾 Ключ
/Outпишет журнал Конфигуратора. После прогона проверьте его: если обновление упало, шаг 3 всё равно откроет базу, а пользователи попадут в неё с необновлённой структурой. - 🔁 Между шагами 1 и 2 может понадобиться пауза: сеансы завершаются не мгновенно. Добавьте
timeout /t 300или проверку активных сеансов.
Перед обновлением делайте резервную копию: для файловой базы — копию каталога или выгрузку .dt, для серверной — бэкап СУБД.
Почему не снимается блокировка: диагностика проблем со входом
Если код разрешения потерян, а база файловая, есть последний вариант — удалить файл 1Cv8.cdn из каталога базы. Делайте это только когда в базе гарантированно никто не работает и сразу после — проверьте, что база открывается. Удаление посреди обновления оставит базу в неопределённом состоянии.
Полезная проверка — журнал регистрации: Администрирование → Обслуживание → Журнал регистрации. Отфильтруйте события по пользователю-администратору и времени запуска скрипта: видно, вошёл ли он и в какой момент.
Безопасность и другие способы закрыть или открыть базу
Где хранить пароль и код
Пароль администратора и код разрешения в открытом bat-файле — дыра. Минимальные меры:
- 🔐 положите скрипт в папку, доступ к которой есть только у учётной записи, от имени которой он запускается;
- 🪪 для пользователя 1С с аутентификацией Windows замените
/Nи/Pна/WA+— пароль в файле не нужен; - 🔄 меняйте код разрешения при каждой плановой блокировке, а не держите один на годы.
Консоль администрирования кластера
Для серверной базы блокировку можно поставить и снять без запуска 1С. В консоли откройте свойства информационной базы. Там есть флажки «Блокировка начала сеансов включена» и «Блокировка регламентных заданий включена», поля времени, сообщения и кода разрешения. Снятие флажка открывает базу сразу.
Этот путь выручает, когда код потерян или конфигурация не на БСП. Для входа в свойства базы нужно имя и пароль администратора информационной базы.
Утилита rac
Тот же флажок меняется из командной строки через сервер администрирования ras:
rac infobase update --cluster=<id_кластера> --infobase=<id_базы> --infobase-user="Администратор" --infobase-pwd="пароль" --sessions-deny=off
Идентификаторы берут командами rac cluster list и rac infobase summary list --cluster=<id>. Остальные ключи блокировки смотрите в справке rac help infobase.
Сравнение способов
| Способ | Где работает | Плюсы | Минусы |
|---|---|---|---|
| Форма «Блокировка работы пользователей» | Конфигурации на БСП | Наглядно, без командной строки | Нужно войти в программу |
Ключ /C"РазрешитьРаботуПользователей" | Конфигурации на БСП, файл и сервер | Подходит для скриптов | Нужен код и права администратора |
| Консоль кластера | Только клиент-сервер | Работает без кода и без БСП | Нужен доступ к серверу |
rac | Только клиент-сервер | Скрипты без запуска клиента | Нужен запущенный ras |
Когда блокировка вообще не нужна
Если нужно не пускать конкретного сотрудника, базу целиком закрывать незачем. В карточке пользователя (Администрирование → Настройки пользователей и прав → Пользователи) снимите флажок «Вход в программу разрешён». Остальные работают как обычно.