Блокировка доступа в 1С: от пользователя до сервера
Содержание
Уволенному сотруднику нужно закрыть вход сегодня к вечеру, а на выходных вы хотите обновить конфигурацию и не пустить в базу никого, пока идёт реструктуризация. Это две разные задачи, и способ блокировки для них тоже разный.
Самый быстрый вариант для одного человека: Администрирование → Настройки пользователей и прав → Пользователи, открыть карточку и снять флажок «Вход в программу разрешён». Чтобы закрыть базу целиком на время работ в серверном варианте — включить блокировку начала сеансов в консоли кластера. Ниже разберём оба уровня: пользователя, роли, сеансы на сервере и файловую базу
.
Запрет входа и завершение сеанса — не одно и то же. Снятие флажка не выгонит того, кто уже работает: ограничение сработает при следующей попытке входа. Если нужно освободить базу прямо сейчас — завершайте активные сеансы отдельно.
Чем способы отличаются и какой выбрать
Выбор зависит от того, что именно вы закрываете: одного пользователя, часть функций или базу целиком.
| Способ | Когда применять | Что блокирует |
|---|---|---|
| Снять «Вход в программу разрешён» | Уволенный, временно отстранённый сотрудник | Вход одному пользователю |
| Профиль/роль с урезанными правами | Нужно оставить просмотр, убрать изменение | Отдельные действия и объекты |
| Завершение сеанса в консоли | Пользователь завис, нужно освободить лицензию | Текущий сеанс |
| Блокировка начала сеансов | Обновление, закрытие периода, регламентные работы | Новые входы во всю базу |
| Права на уровне ОС, флаги | Файловая база без сервера | Доступ к файлу базы |
rac, блокировать всю базу не нужно.Запрет входа конкретному пользователю
Это первое, что делают при увольнении или временном отстранении. Работает в режиме «Предприятие», права администратора в конфигураторе не нужны.
- Откройте
Администрирование → Настройки пользователей и прав → Пользователи. - Найдите сотрудника, двойным щелчком откройте карточку.
- Снимите флажок «Вход в программу разрешён».
- Нажмите «Записать и закрыть».
После этого при попытке входа человек увидит сообщение, что вход запрещён. Удалять пользователя не нужно — его документы, авторство и настройки останутся, а историю действий можно будет посмотреть в журнале регистрации.
Если нужно закрыть доступ не навсегда, а до определённой даты (например, на время отпуска или разбирательства), в карточке пользователя есть ограничение срока действия входа. Задайте дату, после которой вход закроется автоматически.
Снятие флажка не завершает уже открытый сеанс. Если сотрудник сидит в базе прямо сейчас, он продолжит работать до выхода. Чтобы закрыть доступ немедленно, завершите его сеанс (см. раздел про консоль).
Отдельно стоит пароль. Сброс или смена пароля — это не блокировка: человек с правами администратора снова задаст себе доступ. Поэтому для надёжного запрета используйте именно флажок входа, а не «поставлю сложный пароль».
Завершение активных сеансов через консоль и 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С стоят на двух уровнях:
- Роли задаются в конфигураторе (ветка «Роли» в дереве конфигурации). Роль — это набор разрешённых действий над объектами: чтение, добавление, изменение, проведение.
- Профили групп доступа — это настройка в режиме «Предприятие»:
Администрирование → Настройки пользователей и прав → Профили групп доступа. Профиль собирает роли в понятный набор («Бухгалтер», «Кладовщик», «Только просмотр»), а пользователи включаются в группы доступа.
Чтобы ограничить человека, не блокируя вход:
- Откройте
Группы доступаи уберите пользователя из группы с широкими правами. - Добавьте его в группу с нужным профилем (например, «Только просмотр»).
- Запишите изменения — при следующем входе права пересчитаются.
Для выдачи прав только на часть данных (одна организация, один склад) используются ограничения на уровне записей (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 — они зависят от версии платформы, и выдумывать их не нужно.
Автоматический скрипт блокировки должен сначала включать запрет новых входов и только потом завершать сеансы — иначе выгнанный пользователь успеет зайти обратно. И закладывайте паузу между блокировкой и завершением, чтобы люди сохранили данные.
Для файловой базы автоматизация строится не на rac, а на правах ОС: скрипт меняет разрешения на сетевую папку по расписанию. Но надёжнее для таких задач перевести базу в клиент-серверный вариант — управление доступом там честное.
Разблокировка и частые ошибки
Снять блокировку так же важно, как её поставить — особенно когда доступ закрыли «на вечер», а код разрешения потеряли.
Как разблокировать:
- Запрет входа пользователю — вернуть флажок «Вход в программу разрешён» в карточке.
- Блокировка начала сеансов — выключить её в свойствах базы в консоли (или
rac ... --sessions-deny=off). - Войти в заблокированную базу администратору — запуск с параметром
/UC <код разрешения>.
Типичные ошибки, из-за которых блокировка «не работает» или оборачивается проблемой:
- Путают запрет входа и завершение сеанса. Сняли флажок — а человек продолжает работать, потому что сеанс уже открыт. Завершите сеанс отдельно.
- Забыли код разрешения. Блокировку включили, а войти не могут. Код задаётся в свойствах базы в консоли; если доступа к консоли нет — его меняет администратор сервера.
- Не завершили сеансы перед обновлением. Конфигуратор не захватывает базу монопольно, реструктуризация не идёт. Сначала блокировка начала сеансов, потом завершение активных.
- Снесли все роли вместо запрета входа. Пользователь входит, но спотыкается об ошибки прав — некрасиво и непонятно для него. Используйте флажок входа.
- Удалили файл блокировки файловой базы при живых подключениях — риск повреждения данных.
Отдельно про потерянный пароль администратора кластера серверов. Не пересоздавайте кластер и не удаляйте базу. Правильный путь — остановить службу агента сервера , восстановить рабочий каталог кластера из резервной копии или обратиться к администратору сервера, у которого есть доступ. Потеря пароля администратора информационной базы решается через другого администратора базы, а если такого нет — восстановлением из бэкапа, сделанного до потери.
Частые вопросы
Чем снятие флажка входа отличается от удаления пользователя?
Как войти в базу, если включена блокировка начала сеансов?
/UC и кодом разрешения, который задан в свойствах базы: .../1cestart.exe ENTERPRISE /S"сервер\база" /UC КодРазрешения. Без кода войти в заблокированную базу нельзя.Можно ли заблокировать доступ в файловой базе без сервера?
1Cv8.1CD средствами Windows. Централизованного завершения сеансов, как на сервере, в файловом варианте нет.