Как войти в заблокированную базу 1С по коду разрешения

· 9 мин

Содержание

Чтобы запустить базу 1С с кодом разрешения, добавьте в строку запуска параметр /UC и сам код без пробела: /UC7777. Это можно сделать в окне запуска (поле «Дополнительные параметры запуска»), в ярлыке или в командной строке 1cv8.exe. Код работает только тогда, когда в базе включена блокировка начала сеансов и администратор задал этот код.

Частое заблуждение — путать код разрешения с пин-кодом лицензии. Пин-код нужен для активации программной лицензии платформы и к блокировке базы отношения не имеет. Код разрешения — это «пропуск» для администратора: остальных пользователей база не пускает, а того, кто знает код, пускает и в режим 1С:Предприятие, и в Конфигуратор.

Что проверить перед входом по коду разрешения

Код разрешения появляется не сам по себе. Его задают в момент, когда включают блокировку сеансов — обычно перед обновлением, загрузкой .dt, тестированием и исправлением или закрытием периода.

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

  • 🔒 Где включена блокировка. В клиент-серверной базе — в свойствах информационной базы на кластере. В файловой и в любой базе на БСП — через форму «Блокировка работы пользователей» в самой конфигурации.
  • 🔑 Какой код задан. Код хранится вместе с параметрами блокировки. Если его ставил коллега, спросите у него: подсмотреть код из окна запуска нельзя.
  • ⏱ Период блокировки. Блокировка может действовать с определённого времени. До начала периода код не нужен, после окончания — тоже.
  • 👤 Учётная запись. Код не заменяет логин и пароль. Пользователь с кодом всё равно проходит аутентификацию и получает свои права.

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

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

В конфигурациях на БСП (БП 3.0, ЗУП 3.1, УТ 11 и другие)

В типовых конфигурациях форма одна и та же — она входит в Библиотеку стандартных подсистем.

  1. Откройте Администрирование → Обслуживание.
  2. В группе про работу пользователей найдите ссылку «Блокировка работы пользователей».
  3. Заполните сообщение для пользователей: его увидят те, кого не пустит программа.
  4. Укажите период блокировки (начало и, при необходимости, окончание).
  5. Заполните поле с кодом для разрешения работы.
  6. Нажмите кнопку установки блокировки.

После этого программа предложит завершить сеансы уже работающих пользователей. Новые сеансы без кода открываться не будут.

Активные пользователи получат предупреждение и через несколько минут будут отключены. Несохранённые документы у них пропадут. Ставьте блокировку после рабочего дня или заранее предупредите людей.

В консоли администрирования серверов 1С

Для клиент-серверной базы блокировку можно поставить без входа в конфигурацию:

  1. Откройте консоль кластера, раскройте Кластеры → <кластер> → Информационные базы.
  2. Правой кнопкой по базе → Свойства. Введите логин и пароль администратора базы.
  3. Включите флажок «Блокировка начала сеансов включена».
  4. Задайте время начала и окончания, текст сообщения.
  5. В поле «Код разрешения» впишите код.
  6. Нажмите OK.

Здесь же есть отдельный флажок блокировки регламентных заданий. Он не связан с кодом разрешения, но перед обновлением его обычно включают вместе с блокировкой сеансов.

Как запустить базу с кодом разрешения в режиме 1С:Предприятие и в Конфигураторе

Код передаётся одинаково для обоих режимов — параметром /UC. Разница только в том, куда его вписать.

Через окно запуска

  1. В списке баз выделите нужную и нажмите Изменить.
  2. Пройдите мастер до последней страницы.
  3. В поле «Дополнительные параметры запуска» впишите /UC7777.
  4. Нажмите Готово и запускайте базу кнопкой 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.

  1. За день предупредите сотрудников, что в 22:00 база будет недоступна. Код сообщите только тем, кто будет работать ночью.
  2. В 22:00 скрипт включает блокировку сеансов и регламентных заданий через rac.
  3. Через 5–10 минут проверяет список сеансов. Если кто-то остался, администратор решает: подождать или завершить сеанс вручную.
  4. Делает резервную копию — выгрузку .dt с /UC7777.
  5. Обновляет конфигурацию из файла обновления и сразу структуру базы данных.
  6. Проверяет лог и запускает базу в режиме 1С:Предприятие с тем же кодом, чтобы прошли обработчики обновления.
  7. Снимает блокировку и разблокирует регламентные задания.

Шаги 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 складывайте в одну папку с датой в имени. Если утром что-то не так, по ним видно, на каком шаге скрипт остановился.

Почему база не открывается даже с кодом

Диагностика: выберите симптом

Ещё одна ситуация, которая часто пугает: блокировку поставили, а код никто не помнит. Пользователь с правами администратора базы может снять блокировку в консоли кластера — для этого код не нужен, нужен пароль администратора базы. В файловой базе на БСП выход сложнее, поэтому код лучше сразу записывать в регламент обновления.

Как проверить, кто сейчас в базе, перед и после блокировки

Блокировка с кодом имеет смысл, только если в базе действительно никого нет. Проверить это можно тремя способами.

  1. Форма «Активные пользователи» в конфигурациях на БСП — открывается из того же раздела Администрирование → Обслуживание. Видны пользователи, компьютеры, время начала сеанса.
  2. Консоль кластера — ветка Сеансы у нужной базы. Здесь видны и фоновые задания, и COM-соединения, которых нет в пользовательской форме.
  3. Команда rac session list --cluster=<uuid> --infobase=<uuid> — тот же список из скрипта. С ключом --licenses команда покажет, какие лицензии заняты сеансами.

После работ загляните в журнал регистрации: события начала сеанса за период блокировки покажут, кто входил. Если там есть пользователи, которым код не сообщали, значит, код утёк — смените его перед следующим обновлением.

Перед тем как снять блокировку
Выполнено: 0 / 5

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

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