Администрирование · 10 мин
Как закрыть сеанс веб-клиента 1С
Как корректно закрыть сеанс веб-клиента 1С: выход из браузера, завершение сеанса через консоль кластера, принудительное отключение, типичные ошибки и проверка результата.
Веб-клиент 1С работает через браузер, но сам сеанс живёт на сервере: платформа держит соединение, хранит контекст пользователя и занимает лицензию. Поэтому простое закрытие вкладки не всегда означает завершение сеанса — соединение может оставаться активным ещё несколько минут, пока не сработает тайм-аут. Это важно учитывать при подсчёте занятых лицензий и при диагностике «зависших» подключений.
Корректное завершение сеанса нужно в нескольких ситуациях: пользователь закончил работу и должен освободить лицензию, сеанс завис и блокирует объект в базе, администратору требуется освободить соединения перед обновлением конфигурации. Способ завершения зависит от того, кто и зачем закрывает сеанс: сам пользователь, администратор кластера или регламентное задание.
Ниже разобраны все рабочие способы: от штатного выхода из интерфейса веб-клиента до принудительного удаления сеанса в консоли кластера серверов 1С и программного завершения через административный интерфейс.
Как устроен сеанс веб-клиента и почему он не закрывается мгновенно
При подключении через браузер сервер 1С создаёт сеанс и назначает ему соединение с рабочим процессом. Браузер обменивается данными с сервером по HTTP/HTTPS, периодически отправляя служебные запросы. Пока вкладка открыта, сервер считает сеанс активным.
Если пользователь просто закрыл вкладку или браузер, сервер не получает явной команды на завершение. Сеанс переходит в состояние «спящего» и уничтожается только после истечения тайм-аута, который задаётся в свойствах информационной базы в кластере (параметры «Время засыхания спящего сеанса» и «Время завершения спящего сеанса»). По умолчанию это занимает заметное время — до десятков минут.
Практическое следствие: лицензия, занятая сеансом, освобождается не сразу. Если в организации счёт лицензий идёт на единицы, массовое закрытие вкладок без штатного выхода может привести к ошибке «не найдено свободной лицензии» у следующих пользователей.
Штатное завершение сеанса самим пользователем
Самый правильный способ — выйти через интерфейс программы. В веб-клиенте откройте главное меню (кнопка с пиктограммой в левом верхнем углу) и выберите «Файл» → «Завершить работу», либо нажмите на имя пользователя в правом верхнем углу и выберите команду выхода, если она предусмотрена конфигурацией. Сервер получит команду и завершит сеанс сразу, освободив лицензию.
Перед выходом сохраните открытые документы и закройте формы с несохранёнными изменениями. При штатном завершении платформа обычно предупреждает о незаписанных данных, но при обрыве связи такого предупреждения не будет.
Если пользователь просто закрыл вкладку — это допустимо, но не оптимально. Сеанс завершится по тайм-ауту автоматически, однако до этого момента лицензия остаётся занятой. В файловой базе, опубликованной на веб-сервере, поведение аналогичное, но сеансы обычно завершаются быстрее.
- 1Сохраните и закройте открытые документы и отчёты
- 2Откройте главное меню веб-клиента
- 3Выберите «Файл» → «Завершить работу»
- 4Дождитесь возврата на страницу входа или закройте вкладку
- 5При необходимости проверьте у администратора, что сеанс исчез из списка активных
Как администратору закрыть сеанс через консоль кластера
Консоль кластера серверов 1С — основной инструмент принудительного завершения сеансов. Откройте оснастку «Администрирование серверов 1С Предприятия», разверните нужный кластер, затем ветку «Информационные базы» → ваша база → «Сеансы». В списке видны все активные и спящие сеансы с указанием пользователя, приложения (веб-клиент отображается как WebClient), времени начала и занятой лицензии.
Чтобы завершить сеанс, выделите его в списке и выберите «Удалить» в контекстном меню или на панели инструментов. Сеанс будет разорван немедленно, лицензия освободится. Пользователь при этом увидит в браузере сообщение об ошибке соединения или о завершении сеанса администратором.
Перед удалением убедитесь, что выбран нужный сеанс: сверьте имя пользователя, компьютер и время начала. Если у пользователя несколько сеансов (например, открыто две вкладки с разными базами), удаление затронет только выбранный.
Завершение сеанса из конфигуратора и программными средствами
В конфигураторе список активных пользователей доступен через меню «Администрирование» → «Активные пользователи». Оттуда можно посмотреть, кто подключён через веб-клиент, но штатной кнопки принудительного завершения чужого сеанса в этой форме нет — она предназначена для просмотра. Для разрыва используйте консоль кластера.
Для автоматизации применяется сервер администрирования (RAS) в связке с утилитой RAC. Команда завершения сеанса выглядит так: сначала получают список сеансов кластера, затем удаляют нужный по его идентификатору. Это удобно для скриптов, которые перед регламентным обновлением завершают все сеансы веб-клиентов.
rac session --cluster=<ID_кластера> list --infobase=<ID_базы>
rac session --cluster=<ID_кластера> terminate --session=<ID_сеанса>В типовых конфигурациях на базе БСП есть обработка «Активные пользователи» и механизм блокировки сеансов: администратор может установить блокировку работы пользователей с рассылкой предупреждения, после чего сеансы завершаются по расписанию. Это самый безопасный способ массового завершения перед обновлением — пользователи получают время сохранить данные.
Что делать, если сеанс завис или не завершается
«Зависший» сеанс обычно выглядит так: в консоли кластера сеанс активен, держит соединение или блокировку, но пользователь уже не работает. Частая причина — потеря связи между браузером и сервером при нештатном закрытии вкладки, либо длительная серверная операция, которую сеанс ещё выполняет.
Порядок действий: сначала проверьте в консоли кластера колонку «Время последней активности» и наличие СУБД-блокировок. Если активности нет давно и блокировок нет — просто удалите сеанс. Если сеанс держит блокировку на СУБД, после удаления сеанса дождитесь отката транзакции на стороне СУБД; в тяжёлых случаях может потребоваться снятие процесса на стороне сервера СУБД.
Если зависшие сеансы появляются регулярно, проверьте настройки тайм-аутов в свойствах информационной базы кластера и стабильность сети между пользователями и сервером. Уменьшение времени завершения спящего сеанса снижает период удержания лицензии, но слишком маленькие значения могут обрывать работу пользователей при кратковременной потере связи.
Как проверить результат
Завершённый сеанс отсутствует в списке
Сеанс остаётся в списке со статусом «спящий»
Счётчик лицензий уменьшился после завершения
Лицензия остаётся занятой более нескольких минут
При повторном входе пользователь входит без ошибок
Ошибка «сеанс завершён администратором» повторяется при новом входе
Настройка тайм-аутов, чтобы сеансы закрывались сами
В свойствах информационной базы в консоли кластера есть два ключевых параметра. «Время засыхания спящего сеанса» определяет, через сколько секунд неактивный сеанс переводится в спящее состояние. «Время завершения спящего сеанса» — через сколько спящий сеанс уничтожается окончательно с освобождением лицензии.
Также доступен параметр «Завершать спящие сеансы при превышении допустимого объёма памяти рабочих процессов» — он помогает автоматически освобождать ресурсы под нагрузкой. Подбирайте значения под реальный ритм работы: для офиса с постоянной активностью подходят умеренные тайм-ауты, для редко используемых баз — более короткие, чтобы лицензии не зависали.
Изменение параметров применяется без перезапуска кластера, но уже спящие сеансы завершатся по старым правилам. Проверить эффект можно через сутки работы: сравните число спящих сеансов в консоли до и после настройки.
Частые вопросы
Почему после закрытия браузера лицензия остаётся занятой?
Сервер не получает сигнала о закрытии вкладки и держит сеанс до истечения тайм-аута спящего сеанса. Лицензия освободится автоматически, либо администратор может удалить сеанс вручную в консоли кластера.
Можно ли закрыть сеанс веб-клиента без доступа к консоли кластера?
Сам пользователь — через команду «Завершить работу» в интерфейсе. Администратор без консоли может использовать утилиту RAC совместно с сервером администрирования (RAS) или механизм блокировки сеансов в типовых конфигурациях на базе БСП.
Что увидит пользователь при принудительном удалении его сеанса?
В браузере появится сообщение о разрыве соединения или о том, что сеанс завершён администратором. Несохранённые данные в открытых формах будут потеряны, поэтому перед массовым завершением лучше отправить предупреждение.
Как завершить все сеансы веб-клиентов перед обновлением конфигурации?
Безопасный путь: установить блокировку сеансов (в типовых — через «Блокировку работы пользователей»), дождаться завершения активных сеансов, остатки удалить в консоли кластера или скриптом RAC. После обновления снимите блокировку.
Сеанс не удаляется из консоли кластера — что делать?
Проверьте, не выполняет ли сеанс длительную операцию и нет ли у него блокировок на СУБД. Попробуйте удалить повторно через минуту. Если не помогает — проверьте состояние рабочего процесса кластера; в крайнем случае перезапуск рабочего процесса завершит все его сеансы, но это затронет других пользователей.
Отличается ли завершение сеанса в файловой базе, опубликованной на веб-сервере?
Принцип тот же, но консоли кластера нет — сеансами управляет веб-сервер. Спящие сеансы завершаются по тайм-ауту, а принудительно освободить базу можно, завершив работу всех пользователей и при необходимости перезапустив пул приложений веб-сервера.
Что важно запомнить
Штатный выход — через «Файл → Завершить работу» в веб-клиенте; закрытие вкладки завершает сеанс только по тайм-ауту. Принудительное завершение выполняется в консоли кластера (Сеансы → Удалить) или скриптом RAC, но обрывает несохранённую работу пользователя. Настройка тайм-аутов спящих сеансов избавляет от зависших лицензий без ручного вмешательства.