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

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

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

Как скинуть сеанс пользователя в 1С: консоль кластера, конфигуратор, PowerShell и код. Пошаговые инструкции, риски, проверка результата и ответы на вопросы.

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

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

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

Когда нужно сбрасывать сеанс и что при этом происходит

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

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

Способ 1: консоль кластера серверов 1С

Это основной инструмент для клиент-серверного варианта работы. Консоль входит в состав сервера 1С:Предприятия и запускается через оснастку «Администрирование серверов 1С:Предприятия» (файл 1CV8 Servers.msc) на компьютере, где установлены компоненты сервера.

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

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

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

Способ 2: конфигуратор и список активных пользователей

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

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

Способ 3: программное завершение сеанса из кода

В клиент-серверном варианте сеансы можно завершать программно через административный интерфейс кластера (COM-объект V83.COMConnector или через RAS — сервер администрирования). Для файловой базы доступна функция ПолучитьСеансыИнформационнойБазы(), которая возвращает массив сеансов, однако метод ЗавершитьСеанс у объекта сеанса работает только в клиент-серверном варианте при наличии административных прав.

bsl
Сеансы = ПолучитьСеансыИнформационнойБазы();
Для Каждого Сеанс Из Сеансы Цикл
    Если Сеанс.ИмяПользователя = "Иванов" И Сеанс.НомерСеанса <> НомерСеансаИнформационнойБазы() Тогда
        Сеанс.ЗавершитьСеанс();
    КонецЕсли;
КонецЦикла;

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

Способ 4: файловая база и зависшие соединения

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

Практические варианты действий: завершить процесс 1cv8.exe на компьютере пользователя через диспетчер задач (локально или удалённо), перезагрузить компьютер пользователя, либо, если база опубликована на веб-сервере, перезапустить пул приложений IIS или службу Apache. Если фантомный сеанс не снимается, помогает временное переименование или удаление файла 1Cv8.1CD блокировок не требует — наоборот, удалять файл базы категорически нельзя. Достаточно дождаться тайм-аута соединения или перезапустить клиентский процесс.

Способ 5: PowerShell и сервер администрирования RAS

Для автоматизации завершения сеансов (например, массового сброса перед обновлением) используют утилиту RAC из состава сервера 1С совместно с запущенной службой RAS. Команда rac session terminate позволяет завершить конкретный сеанс по его идентификатору, указав кластер и базу.

bash
rac session --cluster=<ID_кластера> terminate --session=<ID_сеанса>

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

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

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

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

Клиент-серверная база и есть доступ к консоли кластераУдалите сеанс через оснастку «Администрирование серверов 1С»
Нужно массово сбросить сеансы перед обновлениемУстановите блокировку сеансов и используйте RAC/RAS-скрипт
Файловая база, сеанс завис на компьютере пользователяЗавершите процесс 1cv8.exe на его компьютере
Нужно завершать сеансы по расписанию или из обработкиИспользуйте ПолучитьСеансыИнформационнойБазы с проверкой номера сеанса

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

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

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

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

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

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

Сеанс появился снова — пользователь переподключается автоматически

Лицензии
Норма

Освободившаяся лицензия доступна для новых подключений

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

Лицензия по-прежнему занята — проверьте фоновые сеансы и соединения

Монопольный режим
Норма

Установка монопольного режима проходит без ошибок

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

Ошибка «база используется» — остались активные сеансы или соединения

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

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

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

Частые вопросы о завершении сеансов в 1С

Почему сеанс появляется снова сразу после удаления?

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

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

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

Сеанс удалён, но лицензия всё равно занята. Что делать?

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

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

Удобнее всего использовать типовой механизм «Завершение работы пользователей» в конфигурациях на БСП (раздел «Администрирование» → «Обслуживание») либо скрипт RAC, который сначала устанавливает блокировку сеансов, а затем завершает все активные. После обновления не забудьте снять блокировку.

Чем сеанс отличается от соединения в консоли кластера?

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

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

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