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

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

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

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

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

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

Определите режим работы базы: файловый или клиент-серверный

От режима работы зависит весь инструментарий. В файловом режиме база хранится в каталоге на диске или сетевом ресурсе, а сеансы обслуживаются процессами тонкого или толстого клиента на компьютерах пользователей. В клиент-серверном режиме между пользователем и СУБД стоит сервер 1С:Предприятия, и управление сеансами ведётся централизованно через кластер.

Узнать режим можно прямо в списке информационных баз стартера 1cv8: выделите базу — внизу окна будет указан путь к каталогу (файловый режим) или имя сервера и кластера (клиент-серверный). Внутри самой базы путь виден в разделе «Администрирование → Обслуживание» или через функцию «О программе».

Путь вида \\server\base или C:\basesФайловый режим

Завершайте сеанс через конфигуратор или процесс на компьютере пользователя

Указан сервер и имя базы в кластереКлиент-серверный режим

Используйте консоль кластера или административный интерфейс

Сеанс висит, но пользователь недоступенЗависший сеанс

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

Завершение сеанса через консоль кластера серверов 1С

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

Выделите нужный сеанс, щёлкните правой кнопкой и выберите «Удалить». Сеанс завершится немедленно: пользователь увидит сообщение о разрыве соединения, а клиентское приложение закроется. Проверить результат просто — сеанс исчезнет из списка после обновления (клавиша F5).

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

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

Для регулярных задач — например, ночного выгонa всех пользователей перед резервным копированием — удобно автоматизировать процесс. В клиент-серверном режиме используют COM-соединение с агентом сервера (V83.COMConnector) и объекты администрирования: IAgent, ICluster, ISession. Скрипт получает список сеансов базы и вызывает метод TerminateSession для каждого.

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

Мягкие альтернативы: предупреждение и блокировка сеансов

Принудительное удаление — крайняя мера. Если задача — освободить базу для обновления, правильнее действовать поэтапно. Сначала отправьте пользователям сообщение: в консоли кластера это делается через контекстное меню сеанса («Отправить сообщение»), а в типовых конфигурациях — через обработку «Активные пользователи» в разделе администрирования.

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

Сравнение вариантов

Удаление сеанса в консоли кластера

Быстро и централизованно, но данные пользователя теряются без предупреждения

Блокировка сеансов с предупреждением

Безопасно для данных, но требует времени и не действует на уже открытые сеансы мгновенно

Завершение процесса 1cv8.exe

Единственный вариант для файловой базы без доступа к конфигуратору; риск повреждения файла базы при сетевом размещении

Программное завершение по расписанию

Подходит для регламентных операций (обновления, бэкапы), требует прав администратора кластера

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

После завершения сеанса убедитесь, что цель достигнута: обновите список сеансов в консоли и проверьте, что освободились блокировки и лицензии. Если сеанс появился снова — пользователь (или регламентное задание) переподключился автоматически; в этом случае без блокировки начала сеансов не обойтись.

Контрольные точки

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

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

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

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

Сеанс появился снова — включите блокировку начала сеансов

Количество занятых лицензий
Норма

Счётчик уменьшился после удаления сеанса

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

Лицензия не освободилась — возможно, остался спящий сеанс

Состояние файловой базы после аварийного завершения
Норма

База открывается, данные на месте

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

Ошибки открытия — запустите проверку целостности chdbfl.exe

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

Когда без завершения сеанса не обойтись и где границы самостоятельной работы

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

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

Итог

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

В клиент-серверном режиме сеанс удаляется через консоль кластера (Сеансы → Удалить), в файловом — через «Активные пользователи» в конфигураторе или завершение процесса. Всегда предупреждайте пользователя, по возможности используйте блокировку сеансов вместо мгновенного удаления, а после аварийного завершения файловой базы проверяйте её целостность.

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

Можно ли выгнать пользователя, не имея прав администратора?

Нет. Удаление сеансов в консоли кластера требует прав администратора кластера или информационной базы, а список активных пользователей в конфигураторе доступен только с правами администрирования. Обычный пользователь может завершить только свой собственный сеанс.

Пользователь ушёл, а сеанс висит и держит лицензию. Что делать?

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

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

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

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

В консоли кластера можно выделить несколько сеансов с зажатой Ctrl или Shift и удалить их одной командой. Правильная последовательность: сначала включить блокировку начала сеансов, отправить сообщение пользователям, выждать разумное время и только потом удалять оставшиеся сеансы.

Опасно ли завершать процесс 1cv8.exe через диспетчер задач?

Для клиент-серверной базы риск минимален — целостность данных обеспечивает СУБД, потеряются только несохранённые данные пользователя. Для файловой базы, особенно размещённой на сетевом диске, аварийное завершение может повредить файл 1Cv8.1CD, поэтому используйте этот способ только когда штатные недоступны.

Сеанс удалён, но пользователь сразу подключается снова. Как это остановить?

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