Как снять блокировку сеансов 1С ключом запуска и войти в закрытую базу

· 9 мин

Содержание

Чтобы разрешить работу пользователей после блокировки, запустите 1С:Предприятие под администратором с ключом /C"РазрешитьРаботуПользователей", а если база закрыта с кодом — добавьте /UC"код". Пример: 1cv8.exe ENTERPRISE /S"srv01\buh" /N"Администратор" /P"пароль" /UC"1234" /C"РазрешитьРаботуПользователей". При входе блокировка снимается, и сотрудники снова могут подключаться.

Частое заблуждение: многие ищут ключ /AllowUsers. Такого ключа у платформы нет. Строку РазрешитьРаботуПользователей обрабатывает не сама платформа, а Библиотека стандартных подсистем (БСП). Значит, приём работает в типовых конфигурациях на БСП: Бухгалтерии 3.0, ЗУП 3.1, УТ 11, КА, ERP, УНФ. В самописных базах без БСП этот параметр ничего не делает.

Как работает блокировка и что делает параметр разрешения

Блокировку обычно ставят перед обновлением, сменой конфигурации или закрытием периода. В типовых базах её включают в разделе Администрирование → Обслуживание (форма «Блокировка работы пользователей»). Там же задают:

  • 🔒 текст сообщения, которое увидят пользователи;
  • ⏰ время начала и окончания блокировки;
  • 🔑 код для разрешения входа — его знает только администратор.

После этого новый сеанс открыть нельзя. Пользователь видит сообщение вроде Начало сеанса с информационной базой запрещено с текстом, который ввёл администратор. Те, кто работает, получают предупреждение и через несколько минут отключаются.

Дальше два пути:

  1. Дождаться времени окончания — блокировка снимется сама.
  2. Снять её вручную: открыть ту же форму и выключить блокировку или войти с ключом РазрешитьРаботуПользователей.

Ключ нужен именно тогда, когда форму открыть неудобно или нельзя: например, при ночном обновлении скриптом, в пакетном файле или когда интерфейс программы не стартует до конца.

Парный ключ — ЗавершитьРаботуПользователей. Он ставит блокировку и выгоняет активные сеансы. Обычно оба ключа используют вместе: первым закрывают базу, вторым открывают.

КлючЧто делаетКогда нужен
/C"ЗавершитьРаботуПользователей"Ставит блокировку, завершает сеансыПеред обновлением, тестированием и исправлением
/C"РазрешитьРаботуПользователей"Снимает блокировкуПосле обновления
/UC"код"Пускает в заблокированную базуКогда блокировка стоит с кодом

Что проверить перед запуском с ключом

Прежде чем запускать команду, соберите четыре вещи:

  1. Учётная запись пользователя 1С с полными правами и её пароль.
  2. Код разрешения, если его задавали при блокировке. Его видно в той же форме блокировки, пока вы в базе.
  3. Строка подключения: путь к каталогу для файловой базы или пара «сервер\имя базы» для серверной.
  4. Версия платформы, под которой работает база, — номер не ниже того, что требует конфигурация.

Мини-кейс. Бухгалтерия на сервере обновлялась ночью, скрипт упал на втором шаге, утром база закрыта. Администратор в отпуске, код записан только у него. Ключ /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. Откройте окно запуска 1С, выделите базу, нажмите Изменить.
  2. Пройдите на последнюю страницу мастера.
  3. В поле «Дополнительные параметры запуска» впишите /UC"1234" /C"РазрешитьРаботуПользователей".
  4. Нажмите Готово и откройте базу кнопкой 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

Когда блокировка вообще не нужна

Если нужно не пускать конкретного сотрудника, базу целиком закрывать незачем. В карточке пользователя (Администрирование → Настройки пользователей и прав → Пользователи) снимите флажок «Вход в программу разрешён». Остальные работают как обычно.

Частые вопросы

Сколько действует блокировка, если её не снять?
До времени окончания, указанного при установке. Если время окончания не задано, блокировка держится, пока её не снимут вручную.
Можно ли снять блокировку из Конфигуратора?
Ключ /C в режиме DESIGNER не обрабатывается. Можно временно вписать РазрешитьРаботуПользователей в параметр запуска в настройках Конфигуратора и открыть 1С:Предприятие оттуда, но проще запустить клиент с ключом.
Нужен ли монопольный режим, чтобы разрешить работу?
Нет. Снятие блокировки — обычный вход администратора. Монопольный доступ нужен для обновления структуры базы, загрузки .dt, тестирования и исправления.
Блокируются ли регламентные задания вместе с сеансами?
В серверной базе это отдельный флажок. Его можно оставить включённым, чтобы обмены и загрузка курсов не стартовали во время обновления, а после — выключить в консоли кластера.
Работает ли ключ в тонком клиенте?
Да. Ключи /C и /UC одинаково передаются толстому и тонкому клиенту. Для служебных операций со скриптами удобнее тонкий клиент через 1cestart.exe.