Администрирование · 10 мин
Как скинуть сеанс пользователя в 1С
Как скинуть сеанс пользователя в 1С: консоль кластера, конфигуратор, PowerShell и код. Пошаговые инструкции, риски, проверка результата и ответы на вопросы.
Зависший сеанс пользователя в 1С — типичная ситуация: база блокируется, регламентные задания не выполняются, а сотрудник уже ушёл домой, оставив открытую программу. Скинуть такой сеанс можно несколькими способами: через консоль кластера серверов, из конфигуратора, программно из кода или через средства операционной системы.
Выбор способа зависит от того, как развёрнута 1С: файловая база, клиент-серверный вариант на сервере 1С:Предприятия или работа через веб-сервер. Также важно учитывать, есть ли у вас права администратора кластера и не потеряет ли пользователь несохранённые данные при принудительном завершении.
Ниже разобраны рабочие методы для каждого сценария, ограничения каждого подхода и способы проверить, что сеанс действительно завершён, а блокировки сняты.
Когда нужно сбрасывать сеанс и что при этом происходит
Принудительное завершение сеанса требуется в нескольких типовых ситуациях: пользователь оставил программу открытой и ушёл, клиентское приложение зависло и не отвечает, нужно срочно выполнить монопольную операцию (обновление конфигурации, восстановление из копии), а активные соединения мешают. Также сеансы сбрасывают при превышении лицензий — «лишние» зависшие подключения занимают программные лицензии.
Важно понимать последствия: при сбросе сеанса все несохранённые данные пользователя теряются. Если сотрудник вводил документ и не записал его, работа пропадёт. Поэтому по возможности предупреждайте пользователя или проверяйте, что сеанс действительно «мёртвый» — например, компьютер пользователя выключен или клиентский процесс не отвечает.
Способ 1: консоль кластера серверов 1С
Это основной инструмент для клиент-серверного варианта работы. Консоль входит в состав сервера 1С:Предприятия и запускается через оснастку «Администрирование серверов 1С:Предприятия» (файл 1CV8 Servers.msc) на компьютере, где установлены компоненты сервера.
Откройте консоль, разверните нужный кластер, затем информационную базу и выберите пункт «Сеансы». В списке отобразятся все активные подключения: имя пользователя, приложение, время начала сеанса, компьютер. Найдите нужный сеанс, щёлкните по нему правой кнопкой мыши и выберите «Удалить», либо нажмите клавишу Delete. Сеанс завершится в течение нескольких секунд.
- 1Откройте оснастку «Администрирование серверов 1С:Предприятия»
- 2Разверните кластер → Информационные базы → нужная база → Сеансы
- 3Найдите сеанс по имени пользователя или компьютеру
- 4Щёлкните правой кнопкой и выберите «Удалить» (или нажмите Delete)
- 5Обновите список и убедитесь, что сеанс исчез
Обратите внимание: не путайте «Сеансы» и «Соединения». Соединение — это физическое подключение к рабочему процессу кластера, сеанс — логическая сессия пользователя. Удалять нужно именно сеанс: разрыв соединения не всегда завершает сеанс корректно, и «зависший» сеанс может продолжить удерживать лицензию и блокировки.
Способ 2: конфигуратор и список активных пользователей
Если у вас нет доступа к консоли кластера, но есть права администратора в самой базе, посмотреть активных пользователей можно из конфигуратора: меню «Администрирование» → «Активные пользователи». Откроется список сеансов с указанием пользователя, режима запуска и времени начала работы.
Ограничение этого способа: стандартный диалог активных пользователей в конфигураторе показывает список, но не всегда позволяет принудительно завершить чужой сеанс — во многих версиях платформы кнопка завершения доступна только для собственного сеанса либо отсутствует вовсе. Поэтому для реального сброса в клиент-серверном варианте надёжнее консоль кластера, а в файловом — программный способ или перезапуск.
Способ 3: программное завершение сеанса из кода
В клиент-серверном варианте сеансы можно завершать программно через административный интерфейс кластера (COM-объект V83.COMConnector или через RAS — сервер администрирования). Для файловой базы доступна функция ПолучитьСеансыИнформационнойБазы(), которая возвращает массив сеансов, однако метод ЗавершитьСеанс у объекта сеанса работает только в клиент-серверном варианте при наличии административных прав.
Сеансы = ПолучитьСеансыИнформационнойБазы();
Для Каждого Сеанс Из Сеансы Цикл
Если Сеанс.ИмяПользователя = "Иванов" И Сеанс.НомерСеанса <> НомерСеансаИнформационнойБазы() Тогда
Сеанс.ЗавершитьСеанс();
КонецЕсли;
КонецЦикла;Важная осторожность в примере: проверка на собственный номер сеанса обязательна, иначе обработка завершит сама себя до окончания цикла. Также завершение сеанса из кода требует права «Администрирование» и в ряде случаев — аутентификации администратора кластера.
Способ 4: файловая база и зависшие соединения
В файловом варианте нет кластера серверов, и сеансы удерживаются самими клиентскими процессами. Если пользовательский компьютер завис или выключился некорректно, в базе может остаться «фантомный» активный пользователь, который мешает монопольному доступу.
Практические варианты действий: завершить процесс 1cv8.exe на компьютере пользователя через диспетчер задач (локально или удалённо), перезагрузить компьютер пользователя, либо, если база опубликована на веб-сервере, перезапустить пул приложений IIS или службу Apache. Если фантомный сеанс не снимается, помогает временное переименование или удаление файла 1Cv8.1CD блокировок не требует — наоборот, удалять файл базы категорически нельзя. Достаточно дождаться тайм-аута соединения или перезапустить клиентский процесс.
Способ 5: PowerShell и сервер администрирования RAS
Для автоматизации завершения сеансов (например, массового сброса перед обновлением) используют утилиту RAC из состава сервера 1С совместно с запущенной службой RAS. Команда rac session terminate позволяет завершить конкретный сеанс по его идентификатору, указав кластер и базу.
rac session --cluster=<ID_кластера> terminate --session=<ID_сеанса>Такой подход удобен для скриптов ночного обслуживания: сначала устанавливается блокировка сеансов (чтобы пользователи не подключались заново), затем завершаются все активные сеансы, выполняется обновление, и блокировка снимается. Это стандартная схема автоматического обновления типовых конфигураций на сервере.
Как выбрать способ и проверить результат
Как выбрать действие
После сброса сеанса обязательно проверьте результат. В консоли кластера обновите список сеансов — завершённый сеанс должен исчезнуть. Проверьте также список соединений: иногда после удаления сеанса соединение остаётся в списке ещё некоторое время, это нормально, оно исчезнет по тайм-ауту.
Как проверить результат
Сеанс пользователя отсутствует после обновления списка
Сеанс появился снова — пользователь переподключается автоматически
Освободившаяся лицензия доступна для новых подключений
Лицензия по-прежнему занята — проверьте фоновые сеансы и соединения
Установка монопольного режима проходит без ошибок
Ошибка «база используется» — остались активные сеансы или соединения
Что важно запомнить
Основной инструмент сброса сеансов — консоль кластера серверов (раздел «Сеансы» → «Удалить»). Для файловой базы завершайте клиентский процесс, для массовых операций используйте RAC и блокировку сеансов. Всегда проверяйте, что сеанс исчез из списка, и предупреждайте пользователей о потере несохранённых данных.
Частые вопросы о завершении сеансов в 1С
Почему сеанс появляется снова сразу после удаления?
У пользователя открыт тонкий или веб-клиент с автоматическим переподключением, либо работает фоновое задание, которое создаёт новый сеанс. Сначала установите блокировку сеансов в свойствах информационной базы, затем завершайте активные сеансы — тогда новые подключения будут отклоняться.
Можно ли скинуть сеанс без прав администратора?
Нет. Завершение чужих сеансов требует права «Администрирование» в информационной базе, а для работы через консоль кластера или RAC — аутентификации администратора кластера. Обычный пользователь может завершить только собственный сеанс, просто закрыв программу.
Сеанс удалён, но лицензия всё равно занята. Что делать?
Проверьте список соединений в консоли кластера и фоновые сеансы — лицензию может удерживать другое подключение того же пользователя (например, второй открытый клиент или COM-соединение). Также лицензия освобождается не мгновенно: подождите несколько минут и обновите список.
Как завершить все сеансы разом перед обновлением базы?
Удобнее всего использовать типовой механизм «Завершение работы пользователей» в конфигурациях на БСП (раздел «Администрирование» → «Обслуживание») либо скрипт RAC, который сначала устанавливает блокировку сеансов, а затем завершает все активные. После обновления не забудьте снять блокировку.
Чем сеанс отличается от соединения в консоли кластера?
Соединение — это физическое подключение клиента к рабочему процессу сервера, а сеанс — логическая сессия пользователя с контекстом, правами и лицензией. Один сеанс может быть связан с несколькими соединениями. Для освобождения лицензии и снятия блокировок удалять нужно именно сеанс.
Опасно ли принудительно завершать сеанс во время проведения документа?
Да, есть риск: если транзакция записи прервётся в момент завершения сеанса, в базе могут остаться некорректные данные или «битые» ссылки, хотя платформа обычно откатывает незавершённые транзакции. По возможности убедитесь, что пользователь не выполняет длительные операции записи, и после сброса проверьте журнал регистрации на ошибки.