Администрирование · 9 мин
Как завершить сеанс активного пользователя в 1С
Как закрыть сеанс активного пользователя в 1С: консоль кластера, конфигуратор, ЗавершениеРаботыПользователей, блокировка входа и типичные ошибки.
Завершить сеанс активного пользователя в 1С можно через консоль кластера серверов (раздел «Сеансы» → «Удалить»), через функцию «Активные пользователи» в режиме Предприятия (Администрирование → Обслуживание) или программно — методом ПолучитьСеансыИнформационнойБазы() с принудительным прерыванием соединения. Такая необходимость возникает при установке обновлений, монопольных операциях и резервном копировании, когда сотрудник ушёл, оставив открытый клиент, либо сеанс «завис» на сервере и блокирует базу.
Выбор способа зависит от режима работы базы: файловая она или клиент-серверная, есть ли у вас права администратора кластера, и нужно ли завершить один сеанс или всех сразу. Ниже разобраны основные методы, их ограничения и типичные ошибки, из-за которых сеансы «не закрываются».
Важно понимать: принудительное завершение сеанса обрывает работу пользователя без сохранения открытых, но не записанных данных. Если у сотрудника был открыт непроведённый документ или введённый текст — эти изменения будут потеряны. Поэтому перед массовым отключением стоит предупредить коллег.
Как понять, кто и как занимает базу
Прежде чем кого-то «выкидывать», полезно понять, что за сеанс мешает. В 1С различают сеансы пользовательские (толстый, тонкий, веб-клиент), фоновые задания, сеансы веб-сервисов и COM-соединений. Не каждый сеанс принадлежит реально работающему человеку: «зависший» сеанс может остаться после аварийного закрытия клиента.
Признаки зависшего сеанса: дата начала — давняя, при этом пользователь утверждает, что давно вышел; компьютер пользователя выключен, а сеанс в списке есть. Такие сеансы в клиент-серверном режиме сами завершаются по тайм-ауту, но ждать можно долго — проще удалить вручную.
Посмотреть активных пользователей в файловой базе можно через конфигуратор: меню «Администрирование» → «Активные пользователи». Там видно имя пользователя, компьютер, режим запуска и время начала работы. В клиент-серверном варианте ту же информацию даёт консоль кластера и типовые функции администрирования в пользовательском интерфейсе (раздел «Администрирование» → «Обслуживание» → «Активные пользователи» в конфигурациях на БСП).
Завершение сеанса через консоль кластера серверов
Это основной способ для клиент-серверных баз. Откройте оснастку «Администрирование серверов 1С:Предприятия» на сервере или на машине администратора, раскройте нужный кластер, найдите базу и перейдите на вкладку «Сеансы».
- 1Откройте консоль кластера и раскройте нужную информационную базу
- 2Перейдите на вкладку «Сеансы» и найдите нужный сеанс по имени пользователя или компьютера
- 3Выделите сеанс, нажмите правую кнопку мыши и выберите «Удалить» (или Del)
- 4Проверьте, что сеанс исчез из списка, а у пользователя клиент закрылся с сообщением о разрыве соединения
При удалении сеанса клиентское приложение пользователя завершается аварийно: на его экране появится сообщение о разрыве соединения с сервером. Открытые несохранённые данные будут потеряны, поэтому при возможности предупредите человека заранее.
Если нужно завершить все сеансы, удобнее не удалять их по одному, а установить блокировку сеансов: свойства информационной базы → параметры блокировки. Там задаётся время начала блокировки, код разрешения и сообщение пользователям. Существующие сеансы при этом не обрываются мгновенно — их нужно удалить вручную, но новые подключения без кода разрешения уже не пройдут.
Что делать с файловой базой
В файловом режиме консоли кластера нет, а список активных пользователей в конфигураторе — только для просмотра: кнопки «завершить сеанс» там нет. Это частое заблуждение администраторов, перешедших с клиент-серверного варианта.
Практические варианты такие. Первый — попросить пользователя выйти (по телефону, через сообщение). Второй — если компьютер пользователя доступен по сети и завис, перезагрузить его или завершить процесс 1cv8.exe удалённо. Третий — использовать типовой механизм «Завершение работы пользователей» из Библиотеки стандартных подсистем, если он встроен в вашу конфигурацию.
Учтите: если клиент файловой базы завис, его сеанс в списке активных пользователей может «висеть», пока не сработает тайм-аут. При этом монопольный режим установить не получится. Обычно помогает завершение процесса на машине пользователя; в крайнем случае — перезапуск сервера/компьютера, где лежит файл базы.
Типовой механизм «Завершение работы пользователей» (БСП)
В конфигурациях на базе Библиотеки стандартных подсистем (Управление торговлей, Бухгалтерия, ERP и других) есть штатный инструмент: «Администрирование» → «Обслуживание» → «Блокировка работы пользователей» и «Активные пользователи». Точное расположение зависит от версии конфигурации.
Механизм работает так: администратор включает блокировку, задаёт время начала и сообщение. Активным пользователям приходит предупреждение, а по наступлении времени блокировки их сеансы завершаются штатно — клиент предлагает сохранить данные и закрывается. Новые входы без кода разрешения блокируются.
Это самый «вежливый» способ: пользователи получают время на сохранение работы, а администратор получает гарантию, что к нужному моменту база освободится. Для клиент-серверных баз механизм по сути управляет той же блокировкой сеансов кластера, но из пользовательского интерфейса, без доступа к консоли сервера.
Программное завершение сеансов
Для автоматизации (например, ночного регламентного обслуживания) сеансы можно завершать программно. В клиент-серверном варианте это делается через COM-объект V83.COMConnector и интерфейс администрирования кластера: получаем список сеансов базы и вызываем завершение для каждого.
// Пример логики (фрагмент): подключение к агенту и завершение сеансов базы
// Connector = Новый COMОбъект("V83.COMConnector");
// Agent = Connector.ConnectAgent("ИмяСервера");
// Cluster = Agent.GetClusters()[0];
// Agent.Authenticate(Cluster, "", "");
// Infobase = ...; Sessions = Agent.GetSessions(Cluster);
// Для каждого сеанса базы: Agent.TerminateSession(Cluster, Session)Альтернатива — утилита rac из состава сервера 1С: она позволяет из командной строки получить список сеансов и завершить их, что удобно для скриптов обслуживания. Команды rac требуют указания кластера и, при необходимости, учётных данных администратора кластера и базы.
В файловом режиме программного способа «выкинуть» другого пользователя извне нет — только механизм блокировки из БСП, который срабатывает на стороне самих клиентов.
Типичные ошибки и как их избежать
Отдельная ошибка — путать «завершить сеанс» и «отключить пользователя навсегда». Удаление сеанса не мешает человеку зайти снова через минуту. Если цель — не пускать пользователя в базу (например, при увольнении), нужно отключить его учётную запись в списке пользователей информационной базы или отозвать права в домене.
Проверка результата
Как проверить результат
Удалённый сеанс отсутствует в списке после обновления
Сеанс появляется снова — пользователь переподключился, нужна блокировка
Клиент закрылся с уведомлением о завершении работы или разрыве соединения
Клиент продолжает работать — возможно, удалён не тот сеанс
Операция выполняется без ошибки «база занята»
Ошибка повторяется — остались сеансы или фоновые задания, проверьте список ещё раз
После завершения сеансов обновите список в консоли и убедитесь, что он пуст или остались только ваши служебные сеансы. Затем сразу выполняйте плановую операцию — не откладывайте, иначе пользователи успеют зайти снова. Если блокировка включена, новые подключения будут отклоняться автоматически.
Что важно запомнить
В клиент-серверной базе сеансы завершаются через консоль кластера, в файловой — через выход пользователя или типовой механизм блокировки БСП. Перед отключением предупредите людей, не трогайте фоновые задания без необходимости и всегда проверяйте результат по списку сеансов.
Частые вопросы
Можно ли завершить сеанс пользователя, не имея доступа к серверу 1С?
Да, если конфигурация построена на БСП и у вас есть права администратора в самой программе: используйте «Блокировку работы пользователей» в разделе администрирования. Она завершит сеансы по расписанию без доступа к консоли кластера.
Пользователь вышел, а сеанс в списке остался. Это нормально?
Да, при аварийном закрытии клиента сеанс может висеть до срабатывания тайм-аута кластера. Такой «мёртвый» сеанс можно смело удалить в консоли — на работу пользователя это уже не повлияет.
Что будет с несохранёнными данными пользователя при удалении сеанса?
Они будут потеряны: удаление сеанса равносильно аварийному завершению клиента. Открытые незаписанные документы, введённые строки и несохранённые настройки формы не восстанавливаются.
Как не пустить пользователя в базу после завершения сеанса?
Удаление сеанса не запрещает повторный вход. Чтобы закрыть доступ, снимите флаг «Вход в программу разрешён» у учётной записи пользователя в списке пользователей информационной базы или включите блокировку сеансов без выдачи кода разрешения.
Чем отличается блокировка сеансов от монопольного режима?
Блокировка запрещает новые подключения и задаётся на уровне базы или кластера, а монопольный режим — временный режим внутри сеанса конфигуратора, требующий, чтобы других сеансов не было. Для обслуживания обычно используют связку: блокировка + завершение текущих сеансов.