Выгнать всех из базы перед обновлением: сеансы, блокировка и монопольный режим

· 9 мин

Содержание

Сам Конфигуратор отключать активных пользователей не умеет: в нём можно только посмотреть, кто сидит в базе (Администрирование → Активные пользователи). Выгоняют сеансы тремя способами: блокировкой работы пользователей из режима 1С:Предприятие, через консоль кластера серверов или утилитой rac. В файловой базе — блокировкой и закрытием открытых файлов на сервере, где лежит каталог базы.

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

Подготовка: что сделать до того, как отключать пользователей

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

📌 Перед отключением:

  1. Предупредите людей заранее, с точным временем: «в 19:00 база будет закрыта на 40 минут».
  2. Сделайте резервную копию. Для файловой базы — копия каталога или выгрузка .dt; для клиент-серверной — бэкап средствами СУБД. Обновление структуры без копии — главный риск всей процедуры.
  3. Проверьте, что у вас есть права. В базе нужна роль администратора (Полные права или Администратор системы), а для консоли кластера — права администратора кластера, если он задан.
  4. Запишите код разрешения, который будете ставить при блокировке. Без него вы сами можете не попасть в закрытую базу.
  5. Учтите обмены и регламентные задания. Обмен с сайтом, загрузка курсов валют, обмены с филиалами работают как фоновые сеансы и тоже держат базу.

Если базу используют несколько офисов в разных часовых поясах, указывайте время блокировки по времени сервера. Именно по нему платформа отсчитывает начало и конец.

Когда Конфигуратору действительно нужен монопольный режим

Открыть Конфигуратор и править конфигурацию можно и при работающих пользователях. Монопольный доступ требуется только для операций, которые меняют базу целиком:

ОперацияНужен монопольный режимКомментарий
Обновить конфигурацию базы данных (F7) с изменением структурыДаИначе платформа предложит динамическое обновление, если оно возможно
Загрузить информационную базу из .dtДаДанные базы полностью заменяются
Тестирование и исправлениеДаПроверка физической и логической целостности
Выгрузить информационную базу в .dtЖелательноРаботающие пользователи могут дать несогласованную выгрузку
Правка конфигурации, сохранение без обновления БДНетИзменения пока лежат в основной конфигурации

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

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

Как посмотреть активных пользователей 1С: Конфигуратор, Предприятие, консоль

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

В Конфигураторе

Меню Администрирование → Активные пользователи. Видно имя пользователя, компьютер, приложение (тонкий клиент, Конфигуратор, фоновое задание, COM-соединение) и время начала работы. Кнопки «отключить» здесь нет: список только для просмотра.

В режиме 1С:Предприятие

В типовых конфигурациях на БСП (БП 3.0, ЗУП 3.1, УТ 11) список открывается из Администрирование → Обслуживание. Универсальный путь: Главное меню → Все функции → Стандартные → Активные пользователи. Если пункта «Все функции» нет, включите его в Сервис и настройки → Параметры флажком «Отображать команду “Все функции”».

В этой форме у администратора есть команда завершения выделенного сеанса. Это самый мягкий способ выключить одного забывчивого пользователя.

В консоли кластера

Для клиент-серверной базы откройте «Администрирование серверов 1С:Предприятия», раскройте кластер → Информационные базы → нужная база → Сеансы. Здесь видны все сеансы, включая фоновые и зависшие, которых в списке Конфигуратора может уже не быть. Рядом — узел Соединения: он показывает соединения с рабочими процессами.

Отключение активных пользователей: три рабочих способа

Выбор зависит от того, есть ли у вас сервер 1С и доступ к нему.

СпособКогда подходитЧто важно
Блокировка работы пользователей в ПредприятииФайловая и серверная база, типовая конфигурация на БСППользователей предупреждают, сеансы закрываются сами
Консоль кластераКлиент-серверная база, доступ к серверуСеанс удаляется сразу, без предупреждения
Утилита racСкрипты, ночные обновленияНужен запущенный сервер администрирования ras

Способ 1. Блокировка работы пользователей из 1С:Предприятие

Это штатный механизм типовых конфигураций, и он самый безопасный.

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

Дальше программа предупреждает работающих пользователей и через несколько минут после начала блокировки завершает их сеансы. Новые входы запрещены. Ваш текущий сеанс тоже будет закрыт, поэтому войти в Конфигуратор потом придётся с кодом разрешения (о нём — в разделе про параметры запуска).

Ставьте начало блокировки с запасом 10–15 минут. Люди успеют дописать документы, а вы получите меньше звонков «у меня всё пропало».

Способ 2. Удаление сеансов в консоли кластера

  1. Откройте консоль «Администрирование серверов 1С:Предприятия».
  2. Перейдите в Информационные базы → <база> → Сеансы.
  3. Выделите сеансы (можно все через Ctrl+A), в контекстном меню выберите «Удалить».
  4. Обновите список: удалённые сеансы должны исчезнуть.

Чтобы пользователи не вернулись, пока вы обновляете базу, откройте свойства информационной базы (правый клик по базе → «Свойства») и включите:

  • ✅ «Блокировка начала сеансов включена»;
  • ✅ «Блокировка регламентных заданий включена»;
  • 📝 сообщение о блокировке и код разрешения;
  • 🕒 при необходимости — начало и конец блокировки.

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

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

Способ 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. Блокировка из Предприятия (способ 1) работает и в файловом варианте — это основной путь.
  2. Если кто-то «завис» и не выходит, откройте на компьютере, где лежит каталог базы, оснастку «Общие папки»: Win+R → fsmgmt.msc → «Открытые файлы».
  3. Найдите строки с 1Cv8.1CD из каталога вашей базы, правый клик → «Закрыть открытый файл».
  4. Если база лежит на локальном компьютере пользователя, закройте процесс 1cv8.exe или 1cv8c.exe в диспетчере задач у того, кто ею пользуется.

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

Блокировка установки соединений файловой базы хранится в файле 1Cv8.cdn в каталоге базы. Если блокировка «застряла» и не снимается из программы, этот файл удаляют при закрытой базе. Сначала попробуйте войти с кодом разрешения — это проще и чище.

Зависшие сеансы и процессы на сервере 1С

Иногда сеанс в консоли висит, хотя пользователь давно выключил компьютер. Причины обычно такие:

  • 🔌 обрыв сети или «сон» ноутбука — сеанс остаётся спящим;
  • ⏳ длинная операция в рабочем процессе: закрытие месяца , запрос к большому регистру;
  • 🔁 фоновое задание обмена или регламента, которое запускается снова и снова;
  • 🔒 COM-соединение внешней программы, которое не освободили.

Что делать по порядку, от мягкого к жёсткому:

  1. Удалить сеанс в консоли. Если сеанс выполняет серверный вызов, удаление сработает после окончания текущей операции — подождите минуту-две.
  2. Выключить регламентные задания флажком в свойствах базы, иначе фоновые сеансы будут появляться заново.
  3. Настроить автозавершение. В свойствах информационной базы в консоли есть параметры «Время засыпания пассивного сеанса» и «Время завершения спящего сеанса». Значения в секундах, например 600 и 1800, убирают «призраков» без вашего участия.
  4. Перезапустить рабочий процесс. В консоли раскройте Рабочие процессы, найдите процесс rphost, обслуживающий базу. Завершение процесса обрывает сеансы ВСЕХ баз, которые он обслуживает, не только вашей.
  5. Перезапустить службу «Агент сервера 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 на рабочем столе. Положите скрипт туда, куда есть доступ только у администратора.

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