Как войти в заблокированную базу 1С по коду разрешения
Содержание
Чтобы запустить базу
1С с кодом разрешения, добавьте в строку запуска параметр /UC и сам код без пробела: /UC7777. Это можно сделать в окне запуска (поле «Дополнительные параметры запуска»), в ярлыке или в командной строке 1cv8.exe. Код работает только тогда, когда в базе включена блокировка начала сеансов и администратор задал этот код.
Частое заблуждение — путать код разрешения с пин-кодом лицензии. Пин-код нужен для активации программной лицензии платформы и к блокировке базы отношения не имеет. Код разрешения — это «пропуск» для администратора: остальных пользователей база не пускает, а того, кто знает код, пускает и в режим 1С:Предприятие, и в Конфигуратор.
Что проверить перед входом по коду разрешения
Код разрешения появляется не сам по себе. Его задают в момент, когда включают блокировку сеансов — обычно перед обновлением, загрузкой .dt, тестированием и исправлением или закрытием периода.
Перед запуском выясните четыре вещи:
- 🔒 Где включена блокировка. В клиент-серверной базе — в свойствах информационной базы на кластере. В файловой и в любой базе на БСП — через форму «Блокировка работы пользователей» в самой конфигурации.
- 🔑 Какой код задан. Код хранится вместе с параметрами блокировки. Если его ставил коллега, спросите у него: подсмотреть код из окна запуска нельзя.
- ⏱ Период блокировки. Блокировка может действовать с определённого времени. До начала периода код не нужен, после окончания — тоже.
- 👤 Учётная запись. Код не заменяет логин и пароль. Пользователь с кодом всё равно проходит аутентификацию и получает свои права.
Код задавайте простым: цифры или латиница без пробелов. Тогда его не придётся брать в кавычки, и он не сломает строку в ярлыке или bat-файле.
Как задать код разрешения при блокировке сеансов
В конфигурациях на БСП (БП 3.0, ЗУП 3.1, УТ 11 и другие)
В типовых конфигурациях форма одна и та же — она входит в Библиотеку стандартных подсистем.
- Откройте
Администрирование → Обслуживание. - В группе про работу пользователей найдите ссылку «Блокировка работы пользователей».
- Заполните сообщение для пользователей: его увидят те, кого не пустит программа.
- Укажите период блокировки (начало и, при необходимости, окончание).
- Заполните поле с кодом для разрешения работы.
- Нажмите кнопку установки блокировки.
После этого программа предложит завершить сеансы уже работающих пользователей. Новые сеансы без кода открываться не будут.
Активные пользователи получат предупреждение и через несколько минут будут отключены. Несохранённые документы у них пропадут. Ставьте блокировку после рабочего дня или заранее предупредите людей.
В консоли администрирования серверов 1С
Для клиент-серверной базы блокировку можно поставить без входа в конфигурацию:
- Откройте консоль кластера, раскройте
Кластеры → <кластер> → Информационные базы. - Правой кнопкой по базе →
Свойства. Введите логин и пароль администратора базы. - Включите флажок «Блокировка начала сеансов включена».
- Задайте время начала и окончания, текст сообщения.
- В поле «Код разрешения» впишите код.
- Нажмите
OK.
Здесь же есть отдельный флажок блокировки регламентных заданий. Он не связан с кодом разрешения, но перед обновлением его обычно включают вместе с блокировкой сеансов.
Как запустить базу с кодом разрешения в режиме 1С:Предприятие и в Конфигураторе
Код передаётся одинаково для обоих режимов — параметром /UC. Разница только в том, куда его вписать.
Через окно запуска
- В списке баз выделите нужную и нажмите
Изменить. - Пройдите мастер до последней страницы.
- В поле «Дополнительные параметры запуска» впишите
/UC7777. - Нажмите
Готовои запускайте базу кнопкой1С:ПредприятиеилиКонфигуратор.
Параметр сохранится в списке баз. После снятия блокировки уберите его — иначе код останется в настройках и его увидит любой, кто откроет свойства базы на этом компьютере.
Через ярлык или командную строку
Для файловой базы:
"C:\Program Files\1cv8\8.3.25.1374\bin\1cv8.exe" ENTERPRISE /F"D:\Base\Buh" /N"Администратор" /P"пароль" /UC7777
Для клиент-серверной:
"C:\Program Files\1cv8\8.3.25.1374\bin\1cv8.exe" DESIGNER /S"srv1c\buh" /N"Администратор" /P"пароль" /UC7777
Здесь ENTERPRISE открывает пользовательский режим, DESIGNER — Конфигуратор. Номер платформы в пути подставьте свой. Если в коде есть пробел, возьмите его в кавычки: /UC"код 01".
Пакетный режим для обслуживания
Чаще всего код нужен ночному скрипту: выгрузить базу
, обновить конфигурацию
, а пользователей не пустить. Пример выгрузки в .dt:
"C:\Program Files\1cv8\8.3.25.1374\bin\1cv8.exe" DESIGNER /S"srv1c\buh" /N"Администратор" /P"пароль" /UC7777 /DumpIB"E:\Backup\buh.dt" /Out"E:\Backup\dump.log"
Без /UC такой скрипт упрётся в собственную же блокировку и молча завершится с ошибкой в логе.
Снятие блокировки параметром запуска
В конфигурациях на БСП блокировку можно снять, не открывая форму:
"C:\Program Files\1cv8\8.3.25.1374\bin\1cv8.exe" ENTERPRISE /S"srv1c\buh" /N"Администратор" /P"пароль" /UC7777 /C"РазрешитьРаботуПользователей"
Программа запустится, снимет блокировку и закроется. Удобно ставить последней строкой в скрипт обслуживания.
Права пользователя, который входит по коду
Код разрешения пропускает через блокировку, но не расширяет права. Что вы сможете сделать после входа, определяют роли учётной записи.
| Задача после входа | Что нужно пользователю |
|---|---|
Обновить конфигурацию, загрузить .dt | Роль администратора системы, вход в Конфигуратор |
| Закрыть месяц, перепровести документы | Права на эти документы и обработки |
| Снять блокировку через форму БСП | Права администратора в конфигурации |
| Снять блокировку на кластере | Логин и пароль администратора базы (и кластера, если он задан) |
Отсюда практический вывод: код стоит сообщать только тем, кто реально будет работать в период блокировки. Бухгалтеру, который закрывает месяц, код нужен. Остальным — нет, иначе блокировка теряет смысл.
Код разрешения в клиент-серверной базе: rac и сеансы
На сервере блокировку удобно ставить из скрипта через утилиту rac. Она обращается к серверу администрирования ras, поэтому он должен быть запущен.
Сначала узнайте идентификаторы кластера и базы:
rac cluster list
rac infobase summary list --cluster=<uuid-кластера>
Затем включите блокировку с кодом:
rac infobase update --cluster=<uuid-кластера> --infobase=<uuid-базы> --infobase-user="Администратор" --infobase-pwd="пароль" --sessions-deny=on --denied-message="Обновление базы до 23:00" --permission-code=7777
Снять блокировку — тот же вызов с --sessions-deny=off. Если для кластера задан администратор, добавьте его логин и пароль; точные имена ключей смотрите в справке rac help infobase.
Несколько моментов, которые важны именно на сервере:
- 🖥 Действующие сеансы блокировка не рвёт. Она запрещает только новые. Работающих пользователей завершают отдельно — из формы БСП или удалением сеансов в консоли.
- 📅 Регламентные задания. Пока они не заблокированы, сервер продолжает их запускать. Обмены и загрузки могут начать писать в базу посреди обновления.
- 🔗 Внешние соединения и обработчики. COM-соединения, веб-сервисы и HTTP-сервисы тоже открывают сеансы и тоже упираются в блокировку. Для COM-соединения код передают в строке подключения параметром
UC.
Удаление сеансов в консоли обрывает работу пользователя сразу, без предупреждения. Делайте это только после того, как люди сохранили документы, и только для сеансов, которые не завершились сами.
Сценарий целиком: ночное обновление под кодом разрешения
Чтобы связать всё вместе, вот порядок, по которому обновляют рабочую клиент-серверную базу
без участия пользователей. Пусть база называется buh, код — 7777, окно работ — с 22:00.
- За день предупредите сотрудников, что в 22:00 база будет недоступна. Код сообщите только тем, кто будет работать ночью.
- В 22:00 скрипт включает блокировку сеансов и регламентных заданий через
rac. - Через 5–10 минут проверяет список сеансов. Если кто-то остался, администратор решает: подождать или завершить сеанс вручную.
- Делает резервную копию — выгрузку
.dtс/UC7777. - Обновляет конфигурацию из файла обновления и сразу структуру базы данных.
- Проверяет лог и запускает базу в режиме 1С:Предприятие с тем же кодом, чтобы прошли обработчики обновления.
- Снимает блокировку и разблокирует регламентные задания.
Шаги 4 и 5 в виде команд:
set V8="C:\Program Files\1cv8\8.3.25.1374\bin\1cv8.exe"
%V8% DESIGNER /S"srv1c\buh" /N"Администратор" /P"пароль" /UC7777 /DumpIB"E:\Backup\buh.dt" /Out"E:\Backup\dump.log"
%V8% DESIGNER /S"srv1c\buh" /N"Администратор" /P"пароль" /UC7777 /UpdateCfg"E:\Upd\1cv8.cfu" /UpdateDBCfg /Out"E:\Backup\update.log"
Шаг 6 часто пропускают. Без первого запуска в пользовательском режиме обработчики обновления не выполнятся, и утром первый вошедший бухгалтер получит долгое окно обновления данных. Пусть это сделает администратор под кодом, пока база ещё закрыта.
Логи /Out складывайте в одну папку с датой в имени. Если утром что-то не так, по ним видно, на каком шаге скрипт остановился.
Почему база не открывается даже с кодом
/UC и код подряд, без пробела после UC. Сверьте код с тем, что задан в блокировке.1cv8.exe из командной строки с явным /S или /F и /UC — так видно, что именно передаётся./UC, а блокировку поставил тот же скрипт. Добавьте параметр в каждую команду после установки блокировки.--infobase-user, --infobase-pwd) или администратора кластера. Проверьте учётные данные и что служба ras запущена.Ещё одна ситуация, которая часто пугает: блокировку поставили, а код никто не помнит. Пользователь с правами администратора базы может снять блокировку в консоли кластера — для этого код не нужен, нужен пароль администратора базы. В файловой базе на БСП выход сложнее, поэтому код лучше сразу записывать в регламент обновления.
Как проверить, кто сейчас в базе, перед и после блокировки
Блокировка с кодом имеет смысл, только если в базе действительно никого нет. Проверить это можно тремя способами.
- Форма «Активные пользователи» в конфигурациях на БСП — открывается из того же раздела
Администрирование → Обслуживание. Видны пользователи, компьютеры, время начала сеанса. - Консоль кластера — ветка
Сеансыу нужной базы. Здесь видны и фоновые задания, и COM-соединения, которых нет в пользовательской форме. - Команда
rac session list --cluster=<uuid> --infobase=<uuid>— тот же список из скрипта. С ключом--licensesкоманда покажет, какие лицензии заняты сеансами.
После работ загляните в журнал регистрации: события начала сеанса за период блокировки покажут, кто входил. Если там есть пользователи, которым код не сообщали, значит, код утёк — смените его перед следующим обновлением.
Частые вопросы
Нужен ли код разрешения, если блокировка ещё не началась?
/UC в этот момент просто игнорируется.Можно ли поставить код разрешения в файловой базе?
/UC.