К статье
Практический материал

Администрирование · 11 мин

Как принудительно выкинуть пользователя из 1С

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

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

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

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

Как определить, кто сейчас работает в базе

Прежде чем кого-то отключать, нужно точно понять, какой сеанс принадлежит нужному пользователю. В клиент-серверном варианте откройте консоль кластера, разверните нужную информационную базу и перейдите в ветку «Сеансы». Там видны имя пользователя, компьютер, время начала сеанса, режим работы (тонкий клиент, толстый клиент, фоновое задание, веб-клиент) и время последнего обращения.

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

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

Сеанс без активности несколько часовВероятно «зависший» или забытый сеанс

Время последнего обращения в списке сеансов

Пользователь жалуется, что его «выкидывает»Сеанс может дублироваться или конфликтовать

Количество сеансов этого пользователя в консоли

Нужен монопольный режим, но обновление не стартуетВ базе остаются активные сеансы или соединения

Ветки «Сеансы» и «Соединения» в консоли кластера

Отключение через консоль кластера (клиент-серверный режим)

Это штатный и самый надёжный способ. Откройте оснастку «Администрирование серверов 1С:Предприятия» на сервере или на машине администратора, найдите нужный кластер и информационную базу, перейдите в «Сеансы». Выделите сеанс пользователя, вызовите контекстное меню и выберите «Удалить». Кластер немедленно завершит сеанс: пользователь получит сообщение о разрыве соединения, а несохранённые данные в его клиенте будут потеряны.

Если прав на консоль нет, но есть права администратора в самой базе, используйте типовую обработку «Активные пользователи» (в конфигурациях на Библиотеке стандартных подсистем): в разделе «Администрирование» → «Обслуживание» можно выбрать пользователя и нажать «Завершить сеанс». Механизм обращается к тому же API кластера, но работает прямо из интерфейса 1С.

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

Как выкинуть пользователя из файловой базы

В файловом режиме нет сервера приложений, который управлял бы сеансами, поэтому кнопки «отключить» не существует. Работают три подхода. Первый — договориться: попросить пользователя выйти, либо завершить процесс 1cv8.exe на его компьютере через диспетчер задач или удалённо (при наличии административного доступа к его ПК). Это грубый, но быстрый способ.

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

Третий вариант — физический: если база лежит в общей сетевой папке, можно временно отключить общий доступ к папке или переименовать файл 1Cv8.1CD. Это аварийная мера: у пользователей работа прервётся с ошибкой, а при неудачном стечении обстоятельств возможно повреждение файла базы. Применяйте её только когда другие способы недоступны и обязательно при наличии свежей резервной копии.

Программное завершение сеансов через код

Администраторы с доступом к внешним обработкам могут завершать сеансы программно через COM-коннектор к агенту кластера. Типовой приём: подключиться к агенту сервера, пройти аутентификацию, получить список сеансов рабочего процесса и вызвать метод TerminateSession для нужного. Этот же механизм используют в скриптах регламентного «выкидывания» всех пользователей перед ночным обновлением.

В конфигурациях на БСП есть готовая функциональность: процедура «СоединенияИБ» позволяет получить номера сеансов и завершить их, а константа блокировки сеансов с параметрами позволяет задать время, после которого сеансы будут принудительно завершены. Если дорабатывать конфигурацию нельзя, используйте внешнюю обработку, работающую через COM-объект V83.COMConnector и административный интерфейс кластера.

Для автоматизации удобно выносить завершение сеансов в планировщик Windows: скрипт подключается к кластеру, завершает все сеансы, ставит блокировку, запускает выгрузку или обновление, затем снимает блокировку. Такой сценарий снижает риск того, что кто-то «забудет выйти» перед регламентными работами.

Блокировка входа и отключение уволенного сотрудника

Если задача — не просто завершить текущий сеанс, а навсегда закрыть доступ, одного «выкидывания» мало. Порядок действий такой: завершите активные сеансы пользователя, затем в справочнике пользователей информационной базы снимите флажок «Вход в программу разрешён» (или удалите пользователя из списка пользователей ИБ через конфигуратор). После этого даже при попытке входа пользователь получит отказ.

Дополнительно проверьте, не заведён ли тот же пользователь в других базах кластера, и нет ли у него доступа через веб-публикацию или тонкий клиент по прямой ссылке. Если учёт ведётся через доменную аутентификацию, отключите учётную запись в Active Directory — тогда вход в 1С с OS-аутентификацией тоже станет невозможен.

Маршрут решения

Как выбрать действие

Нужно разово выкинуть пользователя из клиент-серверной базыУдалите его сеанс в консоли кластера
Нужно освободить базу для обновленияУстановите блокировку сеансов и завершите все активные сеансы
Сотрудник уволен и доступ нужно закрыть навсегдаЗавершите сеансы, запретите вход в свойствах пользователя и проверьте другие базы
Файловая база и удалённого доступа к ПК пользователя нетУстановите блокировку сеансов и свяжитесь с пользователем для выхода
Пользователь возвращается сразу после отключенияПроверьте автозапуск клиента и смените пароль или запретите вход

Проверка результата и типичные ошибки

После завершения сеанса обновите список сеансов в консоли: нужная строка должна исчезнуть. Если сеанс появился снова через несколько секунд — у пользователя работает автопереподключение, и без блокировки входа задача не решена. Дополнительно проверьте ветку «Соединения»: иногда соединение остаётся висеть после удаления сеанса и мешает установке монопольного режима; его можно удалить отдельно.

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

Типичные ошибки
01
Удаление соединения вместо сеанса — сеанс продолжает висеть до таймаута и блокирует монопольный режим
02
Отключение пользователя без блокировки входа — он переподключается через минуту, и всё начинается сначала
03
Завершение фонового задания обмена данными — риск рассинхронизации и незавершённых транзакций
04
Отключение сетевой папки файловой базы без копии — риск повреждения файла 1Cv8.1CD
Контрольные точки

Как проверить результат

Список сеансов в консоли кластера
Норма

Сеанс пользователя отсутствует после обновления списка

Тревожный признак

Сеанс появляется снова через несколько секунд

Ветка «Соединения»
Норма

Нет «висящих» соединений отключённого пользователя

Тревожный признак

Соединение осталось и мешает монопольному режиму

Попытка входа пользователя
Норма

При запрещённом входе выдаётся отказ в доступе

Тревожный признак

Пользователь свободно входит в базу снова

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

Что увидит пользователь, когда его сеанс завершат принудительно?

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

Можно ли выкинуть пользователя из файловой базы удалённо, не трогая его компьютер?

Штатного механизма нет. Варианты: типовой механизм завершения работы пользователей в конфигурациях на БСП, удалённое завершение процесса 1cv8.exe через инструменты администрирования Windows (при наличии прав) или временное закрытие сетевого доступа к папке базы как аварийная мера.

Почему после удаления сеанса не устанавливается монопольный режим?

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

Отличается ли завершение сеанса от завершения фонового задания?

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

Как автоматически выкидывать всех пользователей перед ночным обновлением?

Используйте скрипт, который через COM-интерфейс агента кластера или через механизмы БСП устанавливает блокировку сеансов и завершает активные сеансы, а после обновления снимает блокировку. Запуск скрипта назначается в планировщике заданий Windows на нужное время.

Может ли пользователь обойти блокировку сеансов?

Если у пользователя есть право администрирования информационной базы, он может снять блокировку или изменить её параметры. Поэтому право «Администрирование» выдавайте минимальному кругу лиц, а для остальных блокировка с кодом разблокировки надёжно закрывает вход.

Итог

Что важно запомнить

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