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

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

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

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

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

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

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

Как определить, какой сеанс нужно завершить

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

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

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

Спящий сеанс несколько часовСкорее всего, программа не закрыта на рабочем месте

Позвоните пользователю или проверьте его компьютер перед удалением

Высокая длительность текущего вызоваСеанс выполняет тяжёлую операцию

Проверьте фоновые задания и журнал регистрации перед отключением

Сеанс от имени служебного пользователяЭто фоновое задание или регламентный процесс

Завершайте через раздел «Фоновые задания», а не удалением сеанса

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

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

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

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

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

Завершение сеанса в файловой базе

В файловом режиме консоль кластера недоступна, поэтому список подключений смотрят через конфигуратор. Откройте конфигуратор нужной базы и перейдите в меню «Администрирование → Активные пользователи». Появится список сеансов с указанием пользователя, режима запуска и времени начала работы.

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

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

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

В клиент-серверном режиме сеансы можно завершать программно через COM-соединение с агентом сервера или через административный интерфейс. Типовой подход — использовать объекты V83.COMConnector для подключения к агенту кластера, получить список сеансов информационной базы и вызвать метод завершения для нужных.

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

При написании такого кода учитывайте, что завершать нужно только сеансы пользовательских приложений (1CV8, тонкий клиент), а сеансы фоновых заданий и служебных подключений — обрабатывать отдельно или пропускать. Иначе можно прервать собственное регламентное задание, которое выполняет обслуживание.

Блокировка сеансов и установка кода разрешения

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

Установите блокировку, задайте код разрешения и время начала блокировки. Новые сеансы без кода разрешения создаваться не будут, а существующие нужно завершить вручную через вкладку «Сеансы». Администратор при этом может зайти в базу, указав код разрешения в параметрах запуска (/UC код) или в диалоге подключения.

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

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

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

Нужно отключить одного пользователя, который оставил программу открытойУдалите его сеанс в консоли кластера или попросите закрыть программу
Требуется монопольный доступ для обновления конфигурацииВключите блокировку сеансов с кодом разрешения, затем завершите все сеансы
Сеанс завис и не отвечает, но выполняет длительную операциюПроверьте фоновые задания и дождитесь завершения или отмените задание штатно
Файловая база, пользователь недоступенИспользуйте механизм завершения работы пользователей типовой конфигурации

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

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

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

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

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

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

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

Удалённый сеанс отсутствует и не появляется снова

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

Сеанс пересоздаётся — программа у пользователя запущена повторно

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

После обслуживания блокировка снята, пользователи входят в базу

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

Пользователи видят сообщение о блокировке после окончания работ

Журнал регистрации
Норма

Нет ошибок незавершённых транзакций после отключения

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

Ошибки обрыва операций — проверьте целостность данных

Типичные ошибки при завершении сеансов

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

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

Третья типичная ситуация — администратор устанавливает блокировку сеансов, забывает код разрешения или не сообщает его себе же, и не может зайти в базу для снятия блокировки. Код разрешения фиксируйте в надёжном месте до начала работ.

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

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

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

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

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

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

Освобождается ли лицензия сразу после удаления сеанса?

Не всегда мгновенно. Сервер 1С может удерживать лицензию некоторое время после разрыва соединения. Обычно лицензия освобождается в течение нескольких минут; если этого не происходит, проверьте, не осталось ли других сеансов этого пользователя.

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

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

Можно ли завершить сеанс фонового задания?

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

Почему удалённый сеанс появляется снова?

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

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

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