Блокировка доступа в 1С: от пользователя до сервера

· 10 мин

Содержание

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

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

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

Чем способы отличаются и какой выбрать

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

СпособКогда применятьЧто блокирует
Снять «Вход в программу разрешён»Уволенный, временно отстранённый сотрудникВход одному пользователю
Профиль/роль с урезанными правамиНужно оставить просмотр, убрать изменениеОтдельные действия и объекты
Завершение сеанса в консолиПользователь завис, нужно освободить лицензиюТекущий сеанс
Блокировка начала сеансовОбновление, закрытие периода, регламентные работыНовые входы во всю базу
Права на уровне ОС, флагиФайловая база без сервераДоступ к файлу базы
Что нужно закрыть?

Запрет входа конкретному пользователю

Это первое, что делают при увольнении или временном отстранении. Работает в режиме «Предприятие», права администратора в конфигураторе не нужны.

  1. Откройте Администрирование → Настройки пользователей и прав → Пользователи.
  2. Найдите сотрудника, двойным щелчком откройте карточку.
  3. Снимите флажок «Вход в программу разрешён».
  4. Нажмите «Записать и закрыть».

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

Если нужно закрыть доступ не навсегда, а до определённой даты (например, на время отпуска или разбирательства), в карточке пользователя есть ограничение срока действия входа. Задайте дату, после которой вход закроется автоматически.

Снятие флажка не завершает уже открытый сеанс. Если сотрудник сидит в базе прямо сейчас, он продолжит работать до выхода. Чтобы закрыть доступ немедленно, завершите его сеанс (см. раздел про консоль).

Отдельно стоит пароль. Сброс или смена пароля — это не блокировка: человек с правами администратора снова задаст себе доступ. Поэтому для надёжного запрета используйте именно флажок входа, а не «поставлю сложный пароль».

Завершение активных сеансов через консоль и rac

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

Консоль администрирования серверов — это оснастка «Администрирование серверов 1С Предприятия». Разверните кластер → информационную базу → узел «Сеансы». Вы увидите список: пользователь, компьютер, время начала, приложение. Чтобы закрыть конкретный сеанс — правый клик → «Удалить».

Утилита rac лежит в каталоге bin установленной платформы и удобна для скриптов. Базовые команды, в которых можно быть уверенным:

rem список сеансов кластера
rac session list --cluster=<uuid-кластера>

rem завершить конкретный сеанс
rac session terminate --cluster=<uuid-кластера> --session=<uuid-сеанса>

UUID кластера узнаётся командой rac cluster list. Точные параметры под вашу версию платформы всегда есть в rac help и rac session help — не придумывайте ключи по памяти.

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

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

Блокировка начала сеансов на уровне кластера серверов

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

В консоли администрирования откройте свойства информационной базы и включите параметры:

  • ✅ Блокировка начала сеансов включена — новые подключения не пускаются.
  • ✍️ Сообщение блокировки — текст, который увидит пользователь («База на обслуживании до 9:00»).
  • 🔑 Код разрешения — пароль, с которым админ всё-таки сможет войти во время блокировки.
  • 📅 Начало и конец блокировки — интервал, когда ограничение активно.

Чтобы администратору войти в заблокированную базу, в строку запуска добавляют код разрешения:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /S"сервер\база" /UC КодРазрешения

Параметр /UC (unlock code) должен совпадать с кодом из свойств базы.

Блокировка начала сеансов не выгоняет тех, кто уже работает — она лишь запрещает новые входы. Чтобы база действительно опустела, после включения блокировки завершите оставшиеся сеансы.

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

Технологический журнал к блокировке прямого отношения не имеет: это диагностический лог, который настраивается файлом logcfg.xml в каталоге conf платформы. Но он полезен рядом — по нему видно, кто и когда подключался к базе, какие сеансы открывались. Для разбора «кто заходил ночью» или аудита доступа технологический журнал — основной источник фактов.

Ограничение прав через роли и профили групп доступа

Иногда задача не «закрыть вход», а «пустить, но урезать»: бухгалтеру по зарплате не показывать банк, кладовщику запретить проведение. Это делается правами, а не блокировкой входа.

Права в 1С стоят на двух уровнях:

  • Роли задаются в конфигураторе (ветка «Роли» в дереве конфигурации). Роль — это набор разрешённых действий над объектами: чтение, добавление, изменение, проведение.
  • Профили групп доступа — это настройка в режиме «Предприятие»: Администрирование → Настройки пользователей и прав → Профили групп доступа. Профиль собирает роли в понятный набор («Бухгалтер», «Кладовщик», «Только просмотр»), а пользователи включаются в группы доступа.

Чтобы ограничить человека, не блокируя вход:

  1. Откройте Группы доступа и уберите пользователя из группы с широкими правами.
  2. Добавьте его в группу с нужным профилем (например, «Только просмотр»).
  3. Запишите изменения — при следующем входе права пересчитаются.

Для выдачи прав только на часть данных (одна организация, один склад) используются ограничения на уровне записей (RLS). Они настраиваются в профиле группы доступа через виды доступа и значения — так один пользователь видит только свою организацию.

Полностью снимать все роли ради блокировки не стоит: пользователь без ролей всё равно войдёт в базу и упрётся в ошибки прав. Для запрета входа есть флажок из первого раздела — он чище.

Как закрыть доступ в файловой базе

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

На уровне пользователя 1С. Способ тот же: снять «Вход в программу разрешён» в карточке пользователя. Этот механизм живёт в самой базе и не зависит от варианта работы.

На уровне операционной системы. Файловая база — это каталог с файлом 1Cv8.1CD. Если убрать пользователю права на запись к этому каталогу средствами Windows, он не сможет работать с базой. Так закрывают доступ тем, кого нет в списке пользователей 1С, но кто имеет доступ к сетевой папке.

Чтобы освободить базу для работ (обновление, выгрузка .dt), нужно, чтобы из неё вышли все: конфигуратор открывает базу монопольно и не запустится, пока в ней кто-то сидит. Централизованно выгнать людей в файловом варианте нельзя — попросите их выйти или перекройте доступ к папке на уровне ОС.

Не удаляйте файл блокировки 1Cv8.1CL вручную, пока в базе кто-то работает. Этот файл управляет совместным доступом; его удаление при живых подключениях может привести к повреждению данных. Удалять его допустимо только если база точно никем не открыта, а файл остался после аварийного завершения.

Скрипты и автоматизация блокировки

Когда блокировку нужно включать по расписанию (например, закрывать базу каждую ночь на выгрузку), ручные действия заменяют скриптом на базе rac и планировщика задач Windows.

Общая схема bat-файла для серверной базы:

rem 1. включить блокировку новых сеансов
rac infobase update --cluster=<uuid> --infobase=<uuid-базы> ^
    --sessions-deny=on --permission-code=НочнойКод ^
    --denied-message="База на обслуживании"

rem 2. дать пользователям минуту на выход, затем завершить остатки
rac session list --cluster=<uuid>
rem завершение сеансов — в цикле по их uuid

rem ...обслуживание...

rem 3. снять блокировку утром
rac infobase update --cluster=<uuid> --infobase=<uuid-базы> --sessions-deny=off

Точные имена параметров rac infobase update сверяйте по rac infobase help — они зависят от версии платформы, и выдумывать их не нужно.

Автоматический скрипт блокировки должен сначала включать запрет новых входов и только потом завершать сеансы — иначе выгнанный пользователь успеет зайти обратно. И закладывайте паузу между блокировкой и завершением, чтобы люди сохранили данные.

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

Для файловой базы автоматизация строится не на rac, а на правах ОС: скрипт меняет разрешения на сетевую папку по расписанию. Но надёжнее для таких задач перевести базу в клиент-серверный вариант — управление доступом там честное.

Разблокировка и частые ошибки

Снять блокировку так же важно, как её поставить — особенно когда доступ закрыли «на вечер», а код разрешения потеряли.

Как разблокировать:

  • Запрет входа пользователю — вернуть флажок «Вход в программу разрешён» в карточке.
  • Блокировка начала сеансов — выключить её в свойствах базы в консоли (или rac ... --sessions-deny=off).
  • Войти в заблокированную базу администратору — запуск с параметром /UC <код разрешения>.

Типичные ошибки, из-за которых блокировка «не работает» или оборачивается проблемой:

  • Путают запрет входа и завершение сеанса. Сняли флажок — а человек продолжает работать, потому что сеанс уже открыт. Завершите сеанс отдельно.
  • Забыли код разрешения. Блокировку включили, а войти не могут. Код задаётся в свойствах базы в консоли; если доступа к консоли нет — его меняет администратор сервера.
  • Не завершили сеансы перед обновлением. Конфигуратор не захватывает базу монопольно, реструктуризация не идёт. Сначала блокировка начала сеансов, потом завершение активных.
  • Снесли все роли вместо запрета входа. Пользователь входит, но спотыкается об ошибки прав — некрасиво и непонятно для него. Используйте флажок входа.
  • Удалили файл блокировки файловой базы при живых подключениях — риск повреждения данных.

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

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

Чем снятие флажка входа отличается от удаления пользователя?
Снятие флажка закрывает вход, но сохраняет пользователя, его авторство в документах, настройки и историю в журнале регистрации. Удаление стирает запись — ссылки на автора в документах станут битыми. Для увольнения правильнее блокировать вход, а не удалять.
Как войти в базу, если включена блокировка начала сеансов?
Запустите клиент с параметром /UC и кодом разрешения, который задан в свойствах базы: .../1cestart.exe ENTERPRISE /S"сервер\база" /UC КодРазрешения. Без кода войти в заблокированную базу нельзя.
Можно ли заблокировать доступ в файловой базе без сервера?
Да, двумя способами: снять «Вход в программу разрешён» в карточке пользователя или ограничить права на каталог с файлом 1Cv8.1CD средствами Windows. Централизованного завершения сеансов, как на сервере, в файловом варианте нет.
Завершение сеанса удаляет данные пользователя?
Нет, оно обрывает текущую работу — теряются только незаписанные, незапомненные изменения в открытых формах. Проведённые и записанные документы остаются. Поэтому перед завершением сеансов людей стоит предупредить.
Как временно закрыть доступ всем на время обновления?
Включите в консоли кластера блокировку начала сеансов и блокировку регламентных заданий, задайте код разрешения, затем завершите оставшиеся активные сеансы. После работ выключите блокировку.