Выгнать всех из базы перед обновлением: сеансы, блокировка и монопольный режим
Содержание
Сам Конфигуратор отключать активных пользователей не умеет: в нём можно только посмотреть, кто сидит в базе (Администрирование → Активные пользователи). Выгоняют сеансы тремя способами: блокировкой работы пользователей из режима 1С:Предприятие, через консоль кластера серверов или утилитой rac. В файловой базе — блокировкой и закрытием открытых файлов на сервере, где лежит каталог базы.
Типичная картина: вы запустили «Обновить конфигурацию базы данных», а платформа отвечает, что монопольный режим установить нельзя, хотя все клялись, что вышли. Решение — снять и живых пользователей, и «призраков», и фоновые задания, а потом закрыть вход до конца работ.
Подготовка: что сделать до того, как отключать пользователей
Принудительное отключение обрывает работу на полуслове. Документ, который бухгалтер не записал, пропадёт. Поэтому сначала организационная часть, потом техника.
📌 Перед отключением:
- Предупредите людей заранее, с точным временем: «в 19:00 база будет закрыта на 40 минут».
- Сделайте резервную копию. Для файловой базы — копия каталога или выгрузка
.dt; для клиент-серверной — бэкап средствами СУБД. Обновление структуры без копии — главный риск всей процедуры. - Проверьте, что у вас есть права. В базе нужна роль администратора (
Полные праваилиАдминистратор системы), а для консоли кластера — права администратора кластера, если он задан. - Запишите код разрешения, который будете ставить при блокировке. Без него вы сами можете не попасть в закрытую базу.
- Учтите обмены и регламентные задания. Обмен с сайтом, загрузка курсов валют, обмены с филиалами работают как фоновые сеансы и тоже держат базу.
Если базу используют несколько офисов в разных часовых поясах, указывайте время блокировки по времени сервера. Именно по нему платформа отсчитывает начало и конец.
Когда Конфигуратору действительно нужен монопольный режим
Открыть Конфигуратор и править конфигурацию можно и при работающих пользователях. Монопольный доступ требуется только для операций, которые меняют базу целиком:
| Операция | Нужен монопольный режим | Комментарий |
|---|---|---|
| Обновить конфигурацию базы данных (F7) с изменением структуры | Да | Иначе платформа предложит динамическое обновление, если оно возможно |
Загрузить информационную базу из .dt | Да | Данные базы полностью заменяются |
| Тестирование и исправление | Да | Проверка физической и логической целостности |
Выгрузить информационную базу в .dt | Желательно | Работающие пользователи могут дать несогласованную выгрузку |
| Правка конфигурации, сохранение без обновления БД | Нет | Изменения пока лежат в основной конфигурации |
Динамическое обновление при работающих пользователях — не замена монопольному. Для типовых обновлений релиза его лучше не применять: после такого обновления пользователям всё равно придётся перезайти, а часть изменений требует обработки данных при первом запуске.
Ещё одно сообщение часто путают с монопольным режимом: Ошибка блокировки информационной базы для конфигурирования. Оно значит, что Конфигуратор этой базы уже открыт у кого-то другого. Сеансы бухгалтеров тут ни при чём — ищите второй Конфигуратор.
Как посмотреть активных пользователей 1С: Конфигуратор, Предприятие, консоль
Сначала выясните, кто держит базу. Список есть в трёх местах, и они показывают разное.
В Конфигураторе
Меню Администрирование → Активные пользователи. Видно имя пользователя, компьютер, приложение (тонкий клиент, Конфигуратор, фоновое задание, COM-соединение) и время начала работы. Кнопки «отключить» здесь нет: список только для просмотра.
В режиме 1С:Предприятие
В типовых конфигурациях на БСП (БП 3.0, ЗУП 3.1, УТ 11) список открывается из Администрирование → Обслуживание. Универсальный путь: Главное меню → Все функции → Стандартные → Активные пользователи. Если пункта «Все функции» нет, включите его в Сервис и настройки → Параметры флажком «Отображать команду “Все функции”».
В этой форме у администратора есть команда завершения выделенного сеанса. Это самый мягкий способ выключить одного забывчивого пользователя.
В консоли кластера
Для клиент-серверной базы откройте «Администрирование серверов 1С:Предприятия», раскройте кластер → Информационные базы → нужная база → Сеансы. Здесь видны все сеансы, включая фоновые и зависшие, которых в списке Конфигуратора может уже не быть. Рядом — узел Соединения: он показывает соединения с рабочими процессами.
Отключение активных пользователей: три рабочих способа
Выбор зависит от того, есть ли у вас сервер 1С и доступ к нему.
| Способ | Когда подходит | Что важно |
|---|---|---|
| Блокировка работы пользователей в Предприятии | Файловая и серверная база, типовая конфигурация на БСП | Пользователей предупреждают, сеансы закрываются сами |
| Консоль кластера | Клиент-серверная база, доступ к серверу | Сеанс удаляется сразу, без предупреждения |
Утилита rac | Скрипты, ночные обновления | Нужен запущенный сервер администрирования ras |
Способ 1. Блокировка работы пользователей из 1С:Предприятие
Это штатный механизм типовых конфигураций, и он самый безопасный.
- Войдите в базу под администратором.
- Откройте
Администрирование → Обслуживаниеи найдите там команду «Блокировка работы пользователей». Также она доступна черезВсе функции → Обработки. - Заполните текст сообщения: его увидят пользователи.
- Укажите время начала и, при желании, окончания блокировки.
- Задайте код разрешения — любое слово или число, например
upd2610. - Нажмите «Установить блокировку».
Дальше программа предупреждает работающих пользователей и через несколько минут после начала блокировки завершает их сеансы. Новые входы запрещены. Ваш текущий сеанс тоже будет закрыт, поэтому войти в Конфигуратор потом придётся с кодом разрешения (о нём — в разделе про параметры запуска).
Ставьте начало блокировки с запасом 10–15 минут. Люди успеют дописать документы, а вы получите меньше звонков «у меня всё пропало».
Способ 2. Удаление сеансов в консоли кластера
- Откройте консоль «Администрирование серверов 1С:Предприятия».
- Перейдите в
Информационные базы → <база> → Сеансы. - Выделите сеансы (можно все через
Ctrl+A), в контекстном меню выберите «Удалить». - Обновите список: удалённые сеансы должны исчезнуть.
Чтобы пользователи не вернулись, пока вы обновляете базу, откройте свойства информационной базы (правый клик по базе → «Свойства») и включите:
- ✅ «Блокировка начала сеансов включена»;
- ✅ «Блокировка регламентных заданий включена»;
- 📝 сообщение о блокировке и код разрешения;
- 🕒 при необходимости — начало и конец блокировки.
Для изменения свойств консоль спросит логин и пароль администратора информационной базы.
Удаление сеанса в консоли обрывает работу пользователя мгновенно. Незаписанные данные теряются, а у человека появится сообщение о разрыве соединения. Делайте это после предупреждения.
Способ 3. Командная строка: rac
Подходит для ночного регламента. На сервере должна работать служба сервера администрирования ras. Базовые команды:
rem список кластеров — берём UUID кластера
rac cluster list
rem список сеансов кластера
rac session list --cluster=<uuid_кластера>
rem завершить конкретный сеанс
rac session terminate --cluster=<uuid_кластера> --session=<uuid_сеанса>
Если на кластере задан администратор, добавьте --cluster-user и --cluster-pwd. Блокировку начала сеансов тоже ставят через rac командой изменения свойств информационной базы; точный набор параметров для вашей версии смотрите в справке rac help infobase.
Файловая база: как отключить пользователей без сервера 1С
У файловой базы нет консоли кластера. Пользователи открывают файл 1Cv8.1CD по сети, и держит базу именно открытый файл.
Порядок:
- Блокировка из Предприятия (способ 1) работает и в файловом варианте — это основной путь.
- Если кто-то «завис» и не выходит, откройте на компьютере, где лежит каталог базы, оснастку «Общие папки»:
Win+R→fsmgmt.msc→ «Открытые файлы». - Найдите строки с
1Cv8.1CDиз каталога вашей базы, правый клик → «Закрыть открытый файл». - Если база лежит на локальном компьютере пользователя, закройте процесс
1cv8.exeили1cv8c.exeв диспетчере задач у того, кто ею пользуется.
Закрытие открытого файла и снятие процесса — аварийное завершение сеанса. Делайте это, только если пользователь не отвечает и предупреждён. После такого отключения перед обновлением полезно запустить «Тестирование и исправление».
Блокировка установки соединений файловой базы хранится в файле 1Cv8.cdn в каталоге базы. Если блокировка «застряла» и не снимается из программы, этот файл удаляют при закрытой базе. Сначала попробуйте войти с кодом разрешения — это проще и чище.
Зависшие сеансы и процессы на сервере 1С
Иногда сеанс в консоли висит, хотя пользователь давно выключил компьютер. Причины обычно такие:
- 🔌 обрыв сети или «сон» ноутбука — сеанс остаётся спящим;
- ⏳ длинная операция в рабочем процессе: закрытие месяца , запрос к большому регистру;
- 🔁 фоновое задание обмена или регламента, которое запускается снова и снова;
- 🔒 COM-соединение внешней программы, которое не освободили.
Что делать по порядку, от мягкого к жёсткому:
- Удалить сеанс в консоли. Если сеанс выполняет серверный вызов, удаление сработает после окончания текущей операции — подождите минуту-две.
- Выключить регламентные задания флажком в свойствах базы, иначе фоновые сеансы будут появляться заново.
- Настроить автозавершение. В свойствах информационной базы в консоли есть параметры «Время засыпания пассивного сеанса» и «Время завершения спящего сеанса». Значения в секундах, например 600 и 1800, убирают «призраков» без вашего участия.
- Перезапустить рабочий процесс. В консоли раскройте
Рабочие процессы, найдите процессrphost, обслуживающий базу. Завершение процесса обрывает сеансы ВСЕХ баз, которые он обслуживает, не только вашей. - Перезапустить службу «Агент сервера 1С:Предприятия 8.3». Это крайняя мера: все пользователи всех баз кластера будут отключены. Делайте это только вне рабочего времени.
Блокировка входа через параметры запуска 1С
Когда база заблокирована, войти в неё может только тот, кто знает код разрешения. Его передают ключом командной строки /UC:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /UC upd2610
Номер версии в пути подставьте свой. Вместо DESIGNER для входа в режим Предприятия используйте ENTERPRISE. В окне запуска то же самое делают так: «Изменить» базу → на последнем шаге в поле «Дополнительные параметры запуска» впишите /UC upd2610. Для серверной базы вместо /F указывают /S"сервер\имябазы".
В конфигурациях на БСП есть ещё два полезных параметра запуска для автоматизации:
| Параметр | Что делает |
|---|---|
/C ЗавершитьРаботуПользователей | Устанавливает блокировку и завершает сеансы пользователей |
/C РазрешитьРаботуПользователей | Снимает блокировку |
Связка для ночного обновления выглядит так: запуск Предприятия с /C ЗавершитьРаботуПользователей и кодом /UC, затем обновление в Конфигураторе (режим DESIGNER с ключами /UpdateDBCfg), затем запуск с /C РазрешитьРаботуПользователей. Пароль администратора передают ключами /N и /P.
Код разрешения не храните в общедоступном .bat на рабочем столе. Положите скрипт туда, куда есть доступ только у администратора.