Принудительное завершение чужих сеансов в 1С 8.3: что умеет Конфигуратор и чем его дополнить

· 9 мин

Содержание

Конфигуратор 1С 8.3 сам по себе пользователя из базы не выкидывает: в меню Администрирование → Активные пользователи он только показывает, кто сейчас подключён. Чтобы выгнать пользователя из 1С, из Конфигуратора запускают 1С:Предприятие с параметром /C"ЗавершитьРаботуПользователей", а в клиент-серверной базе завершают сеанс в консоли кластера или командой rac session terminate.

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

Перед тем как выгонять: что проверить

Принудительное завершение сеанса обрывает работу человека без сохранения. Несохранённый документ пропадёт, а начатая запись в базу откатится.

Перед действием проверьте четыре вещи:

  • 👤 Права. Нужна роль «Полные права» или «Администратор системы» в самой базе. Для консоли кластера — учётная запись администратора кластера, если она задана.
  • 🖥️ Тип базы. Файловая или клиент-серверная — от этого зависит набор инструментов. Посмотреть можно в окне запуска: у файловой в строке пути File=, у серверной — Srvr= и Ref=.
  • 📢 Предупреждение людям. Сообщение в рабочем чате за 10–15 минут снимает большую часть претензий.
  • ⏱️ Окно для работ. Если нужен монопольный доступ (обновление структуры базы, загрузка .dt, тестирование и исправление), заложите время на повторный вход и проверку.

Выгнать пользователя посреди проведения закрытия месяца или расчёта зарплаты — плохая идея. Операция откатится, и её придётся запускать заново.

Открываем Конфигуратор и смотрим, кто в базе

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

Дальше откройте Администрирование → Активные пользователи. В списке видно:

КолонкаЧто показывает
ПользовательИмя из списка пользователей базы
ПриложениеТонкий клиент, Конфигуратор, фоновое задание, COM-соединение и т. п.
Начало работыКогда открыт сеанс
КомпьютерИмя машины, с которой подключились
Соединение / СеансНомера, по которым сеанс ищут в консоли кластера

Это главный инструмент диагностики. Номер сеанса и имя компьютера отсюда пригодятся, чтобы в консоли или в rac удалить именно нужный сеанс, а не соседний.

Как не перепутать сеансы

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

  1. Компьютер — у каждого рабочего места своё имя. Спросите у человека имя его машины или посмотрите его в свойствах системы Windows.
  2. Начало работы — тот, кто «висит со вчера», выделяется датой.

Номер сеанса в Конфигураторе совпадает с номером в консоли кластера. Запишите его до того, как переходить к удалению: список обновляется, строки сдвигаются, и легко промахнуться.

💡 Сам Конфигуратор тоже есть в этом списке. Если вы видите две строки «Конфигуратор» под своим именем — значит, у вас открыт второй экземпляр, и мешать обновлению может именно он.

Где в 1С 8.3 кнопка для завершения сеансов

Кнопки «Завершить сеанс» в окне активных пользователей Конфигуратора нет. Инструменты для этого живут в трёх местах.

ИнструментГде находитсяФайловая базаСерверная база
Активные пользователи (режим 1С:Предприятие)БП 3.0, ЗУП 3.1, УТ 11: Администрирование → Обслуживаниечастичнода
Блокировка работы пользователейтам же, Администрирование → Обслуживаниедада
Параметр запуска /C"ЗавершитьРаботуПользователей"из Конфигуратора или ярлыкадада
Консоль «Администрирование серверов 1С Предприятия»на сервере 1С или машине администраторанетда
Утилита racкомандная строка, через сервер rasнетда

Первые три способа работают в типовых конфигурациях на Библиотеке стандартных подсистем (БП 3.0, ЗУП 3.1, УТ 11, КА, ERP). В самописной конфигурации без БСП их может не оказаться — остаются консоль кластера и rac.

Как выгнать пользователя из 1С 8.3 пошагово

Способ 1. Блокировка из Конфигуратора через параметр запуска

Это ответ на запрос «через Конфигуратор» в чистом виде. Вы не выходите из Конфигуратора, а запускаете из него 1С:Предприятие с командой для БСП.

  1. В Конфигураторе откройте Сервис → Параметры, вкладку Запуск 1С:Предприятия.
  2. В поле Параметр запуска впишите:
    ЗавершитьРаботуПользователей
    
  3. Нажмите ОК и запустите 1С:Предприятие клавишей F5 или кнопкой на панели.
  4. Программа установит блокировку новых сеансов и начнёт завершать текущие. Пользователи получат предупреждение и через несколько минут будут отключены.
  5. Дождитесь, пока программа закроется сама, и проверьте Администрирование → Активные пользователи в Конфигураторе.
  6. Очистите поле Параметр запуска, иначе следующий запуск снова выгонит всех.

Чтобы снять блокировку после работ, повторите запуск с параметром РазрешитьРаботуПользователей.

Если блокировку ставили с кодом разрешения, запомните код: без него вы сами не войдёте, пока блокировка действует.

Способ 2. Завершить один сеанс в режиме 1С:Предприятие

Когда нужно выгнать одного человека, а не всех:

  1. Войдите в базу в режиме 1С:Предприятие под администратором.
  2. Откройте Администрирование → Обслуживание → Активные пользователи (в некоторых релизах раздел называется «Обслуживание», в старых — «Поддержка и обслуживание»).
  3. Выделите строку нужного пользователя.
  4. Выберите в командной панели завершение сеанса и подтвердите.

В серверной базе форма может запросить логин и пароль администратора кластера — это нормально, она обращается к кластеру от вашего имени.

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

Для обновления это самый аккуратный путь:

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

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

Какой способ выбрать?

Файловая база против серверной: в чём разница

Файловый режим

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

Поэтому:

  • ✅ Блокировка БСП работает: каждый клиент периодически проверяет её и закрывается сам.
  • ❌ Если клиент завис или компьютер ушёл в сон, сам он не закроется. Выгнать его «сверху» средствами 1С нельзя.
  • 🔧 Остаётся закрыть программу на той машине: удалённо подключиться к компьютеру из колонки «Компьютер» и завершить процесс 1cv8.exe или 1cv8c.exe.

Крайний вариант — закрыть открытый файл на сервере, где лежит база: Управление компьютером → Общие папки → Открытые файлы, найти 1Cv8.1CD и закрыть его для нужного пользователя.

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

Клиент-серверный режим

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

Через консоль кластера:

  1. Откройте оснастку «Администрирование серверов 1С Предприятия».
  2. Раскройте Central 1C:Enterprise 8.3 servers → <сервер> → Кластеры → <кластер> → Информационные базы → <база> → Сеансы.
  3. Найдите сеанс по пользователю, компьютеру или номеру сеанса.
  4. Правой кнопкой → Удалить.

Если консоль не открывается с ошибкой регистрации, на машине администратора не зарегистрирована библиотека radmin.dll нужной версии. Её регистрируют от имени администратора Windows командой regsvr32 с полным путём к файлу в папке bin установленной платформы.

Автоматизация: командная строка и rac

Утилита rac

Для rac должен быть запущен сервер администрирования ras (по умолчанию порт 1545). Порядок такой:

rac cluster list
rac infobase summary list --cluster=<uuid_кластера>
rac session list --cluster=<uuid_кластера> --infobase=<uuid_базы>
rac session terminate --cluster=<uuid_кластера> --session=<uuid_сеанса>

Если на кластере заданы администраторы, добавьте --cluster-user и --cluster-pwd. Остальные параметры смотрите в rac help session.

В выводе session list ищите поля user-name, host и app-id: по ним понятно, чей сеанс и с какой машины.

Список длинный, поэтому удобно отфильтровать его по имени компьютера стандартной командой Windows:

rac session list --cluster=<uuid_кластера> --infobase=<uuid_базы> | findstr /i "session host user-name"

Так на экране остаются только идентификатор сеанса, машина и пользователь. Нужный session копируете в команду terminate.

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

Пакетный файл для ночного обновления

Типовой сценарий: в 2:00 выгнать всех, обновить базу, открыть вход. Блокировку ставят запуском 1С:Предприятия в пакетном режиме:

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" ENTERPRISE /S"srv1c\buh" /N"Администратор" /P"пароль" /C"ЗавершитьРаботуПользователей" /UC"12345"

Ключ /UC задаёт код разрешения: с ним ваш скрипт сможет войти в Конфигуратор, пока блокировка действует. После обновления — тот же запуск с /C"РазрешитьРаботуПользователей" и тем же /UC. Номер версии в пути подставьте свой.

💡 Пароль в открытом виде в .bat — риск. Храните скрипт в папке, доступной только администратору, и заведите для него отдельного пользователя базы.

Почему пользователь не выходит из базы

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

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

Для серверной базы есть ещё один рубеж — свойства базы в консоли кластера. Там два флажка:

  • 🔒 «Блокировка начала сеансов включена» — новые подключения запрещены. Можно задать сообщение, период и код разрешения.
  • ⏸️ «Блокировка регламентных заданий включена» — регламентные задания перестают стартовать.

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

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

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

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