Выход из веб-клиента 1С:Предприятие без зависших сессий и занятых лицензий
Содержание
Чтобы завершить веб-сеанс 1С:Предприятие в браузере, выйдите из программы её собственной командой: главное меню (кнопка с тремя полосками в заголовке окна) → Файл → Выход. После этого браузер покажет страницу о завершении работы, а сервер сразу освободит сеанс и клиентскую лицензию. Простое закрытие вкладки работает хуже: сеанс может остаться «висеть» на сервере до срабатывания таймаута.
Если сеанс уже завис — у пользователя закрылся ноутбук или упал браузер, — его завершает администратор: в консоли кластера, через утилиту rac или из самой программы в списке активных пользователей. Ниже — все способы по порядку, от обычного выхода до скриптов.
1. Как правильно выйти из веб-клиента 1С
Веб-клиент — это не просто сайт. На сервере 1С за каждой вкладкой стоит полноценный сеанс: он держит лицензию, временные данные и, бывает, блокировки объектов. Поэтому выход должен быть «вежливым».
Порядок действий:
- Сохраните и закройте открытые документы. Если форма с несохранёнными изменениями останется открытой, программа спросит, что с ними делать, и выход остановится.
- Откройте главное меню — значок с тремя полосками в правой части заголовка окна 1С (не меню браузера).
- Выберите
Файл → Выход. - Дождитесь страницы о завершении работы. Только теперь закрывайте вкладку.
Если в персональных настройках включён запрос подтверждения при закрытии программы, 1С переспросит перед выходом. Это обычная настройка пользователя, подтверждайте смело.
Что происходит при таком выходе:
- ✅ сервер получает команду завершить сеанс и удаляет его сразу;
- ✅ клиентская лицензия возвращается в пул;
- ✅ снимаются управляемые блокировки, которые держал сеанс;
- ✅ в журнале регистрации появляется событие «Сеанс. Завершение».
2. Почему закрытая вкладка не всегда завершает сеанс 1С
При закрытии вкладки браузер даёт странице доли секунды, чтобы отправить последний запрос. Веб-клиент 1С пытается в этот момент сообщить серверу о выходе. Получится или нет — зависит от обстоятельств.
| Как закрыли | Что будет с сеансом |
|---|---|
Файл → Выход в меню 1С | Завершится сразу |
| Крестик на вкладке | Обычно завершится, но без гарантии |
| Закрыли весь браузер (Alt+F4) | Часто остаётся до таймаута |
| Ноутбук ушёл в сон, пропала сеть | Остаётся до таймаута |
| Браузер «упал» или снят через диспетчер задач | Остаётся до таймаута |
Сеанс, который потерял связь с клиентом, сервер сначала переводит в «спящий». Спящий сеанс ещё можно «разбудить» — если пользователь вернётся в ту же вкладку, работа продолжится. И только после второго таймаута сервер удалит его окончательно.
Отсюда типичная жалоба бухгалтерии: «Утром не пускает, пишет, что лицензий нет». Вчерашние сеансы из закрытых браузеров до сих пор занимают лицензии.
3. Завершение веб-сеансов в консоли администрирования кластера
Для клиент-серверной базы главный инструмент — консоль администрирования серверов 1С. Она подключается к агенту сервера (порт 1540 по умолчанию).
Как найти и завершить сеанс
- Откройте консоль, разверните
Central 1C:Enterprise 8.3 servers → <ваш сервер> → Кластеры → <кластер>. - Перейдите в
Информационные базы → <ваша база> → Сеансы. - Найдите строку пользователя. Веб-сеансы отличает колонка «Приложение» — там указано «Веб-клиент».
- Щёлкните по строке правой кнопкой и выберите
Удалить.
Сверяйте не только имя пользователя, но и колонки «Компьютер», «Начало работы» и «Последняя активность». У одного человека бывает несколько веб-сеансов — по одному на каждую вкладку. Удаляйте тот, что давно неактивен.
Удаление сеанса — это обрыв работы. Если пользователь в этот момент проводит документ или формирует отчёт, операция прервётся, несохранённые данные пропадут. Сначала позвоните или напишите ему.
Если сеансов много
Перед обновлением или регламентными работами удобнее не удалять сеансы поштучно, а закрыть вход для всех:
- Откройте свойства информационной базы в консоли.
- Включите флажок «Блокировка начала сеансов включена».
- Заполните сообщение для пользователей, время начала и окончания, «Код разрешения».
- Удалите оставшиеся сеансы.
Новые веб-сеансы открыться не смогут, а сами вы зайдёте с кодом разрешения. После работ обязательно снимите блокировку, иначе утром никто не войдёт в базу.
4. Как завершить сеанс пользователя из самой программы
Если у вас нет доступа к консоли, но есть полные права в базе, многое можно сделать изнутри 1С. В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11 и другие) есть обработка «Активные пользователи».
Путь: раздел Администрирование, панель «Обслуживание» (в части конфигураций она называется «Поддержка и обслуживание») → «Активные пользователи».
В списке видно, кто работает, через какое приложение и с какого времени. Выделите строку и выполните команду завершения сеанса в командной панели формы. Для клиент-серверной базы программа запросит пароль администратора кластера, если он установлен.
Рядом в той же панели находится «Блокировка работы пользователей». Это аналог блокировки из консоли, но с дружелюбным интерфейсом: можно задать текст предупреждения и время, после которого сеансы завершатся автоматически.
Для файловой базы, опубликованной на веб-сервере, это почти единственный удобный способ. Консоли кластера у файловой базы нет.
5. Зависшие веб-сеансы: как найти причину
Зависший сеанс — тот, что висит в списке, хотя человек давно не работает . Иногда наоборот: пользователь видит в браузере 1С, но любое действие заканчивается ошибкой. Ниже — частые симптомы и что с ними делать.
Файловая база через веб-сервер
У файловой базы, опубликованной через Apache или IIS, нет кластера. Её «сеансы» живут внутри процесса веб-сервера, который загружает модуль расширения 1С.
Поэтому радикальный способ здесь один — перезапустить веб-сервер или пул приложений IIS. Это оборвёт все веб-сеансы всех пользователей, в том числе тех, кто сейчас проводит документы. Делайте перезапуск вне рабочего времени и предупредите людей заранее. В рабочее время пользуйтесь «Активными пользователями» из раздела 4.
6. Таймауты: чтобы брошенные веб-сеансы завершались сами
Ручная чистка — полумера. Правильнее настроить сервер так, чтобы брошенные сеансы уходили сами.
В свойствах информационной базы в консоли кластера есть два параметра:
| Параметр | Что делает |
|---|---|
| «Время засыпания пассивного сеанса» | Через сколько секунд без связи с клиентом сеанс становится спящим. Спящий сеанс не занимает клиентскую лицензию |
| «Время завершения спящего сеанса» | Через сколько секунд спящий сеанс удаляется окончательно |
Оба значения задаются в секундах. Рабочий ориентир для офиса:
- 💤 засыпание — 300 секунд (5 минут): лицензия освободится вскоре после того, как человек закрыл браузер;
- 🗑️ завершение спящего — 1800–3600 секунд (30–60 минут): если пользователь вернулся к той же вкладке после обеда, он продолжит работу без повторного входа.
Не ставьте завершение слишком маленьким. Пользователь, у которого на минуту пропал Wi-Fi, получит Сеанс отсутствует или некорректен и потеряет набранный документ.
Таймауты действуют на обрыв связи, а не на бездействие. Если вкладка открыта и браузер работает, веб-клиент поддерживает связь с сервером, и сеанс не засыпает, даже если человек ушёл домой. Такие случаи решают организационно или блокировкой по расписанию.
7. Особенности завершения сеанса в разных браузерах
Веб-клиент 1С официально поддерживает актуальные Chrome, Firefox, Edge, Safari и Яндекс Браузер. На корректность выхода влияет не столько сам браузер, сколько его настройки.
| Браузер | На что обратить внимание |
|---|---|
| Chrome, Edge, Яндекс Браузер | Режим «Продолжить с того же места» при запуске восстанавливает вкладку 1С и открывает новый сеанс. Старый при этом может ещё висеть |
| Все на основе Chromium | Вкладки в фоне «замораживаются» для экономии памяти. После долгого простоя сеанс может оказаться удалённым |
| Firefox | Блокировщик всплывающих окон мешает отдельным окнам 1С. Добавьте адрес базы в исключения |
| Safari (macOS, iPhone, iPad) | Фоновые вкладки агрессивно усыпляются. Перед сворачиванием браузера выходите через Файл → Выход |
Практические правила для пользователей:
- 🧭 одна база — одна вкладка. Каждая вкладка с 1С — отдельный сеанс и отдельная лицензия;
- 🚪 перед закрытием браузера всегда выходите через меню 1С;
- 🔄 при странном поведении после обновления конфигурации очистите кэш страницы: Ctrl+F5 или удаление данных сайта в настройках браузера. Сначала выйдите из 1С, иначе вы просто оборвёте свой сеанс.
8. Как завершить веб-сеансы скриптом: rac и COM-соединение
Когда сеансы приходится чистить регулярно, это автоматизируют. Есть два основных пути.
Утилита rac
rac работает через сервер администрирования ras (порт 1545 по умолчанию). Сервис ras должен быть запущен на сервере 1С.
Получите идентификатор кластера, затем список сеансов:
rac localhost:1545 cluster list
rac localhost:1545 session list --cluster=<uuid-кластера>
Если на кластере задан администратор, добавьте --cluster-user=<имя> --cluster-pwd=<пароль>. В выводе каждого сеанса есть поля session, user-name, app-id и last-active-at. У веб-клиента app-id равно WebClient.
Завершение одного сеанса:
rac localhost:1545 session terminate --cluster=<uuid-кластера> --session=<uuid-сеанса>
Остальные параметры смотрите в справке: rac help session. По расписанию такой скрипт удобно запускать через планировщик Windows или cron, отбирая сеансы WebClient с давней last-active-at.
Скрипт, удаляющий сеансы, обрывает работу людей. Запускайте его ночью или фильтруйте только давно неактивные сеансы, а не все подряд.
COM-соединение из 1С
Внутри 1С сеансы кластера доступны через COM-объект V83.COMConnector (только Windows). Пример для внешней обработки, который удаляет веб-сеансы конкретного пользователя:
ИмяПользователя = "Иванова";
Коннектор = Новый COMОбъект("V83.COMConnector");
Агент = Коннектор.ConnectAgent("tcp://srv1c:1540");
Кластеры = Агент.GetClusters();
Для Каждого Кластер Из Кластеры Цикл
Агент.Authenticate(Кластер, "", "");
Сеансы = Агент.GetSessions(Кластер);
Для Каждого Сеанс Из Сеансы Цикл
Если Сеанс.AppID = "WebClient" И Сеанс.UserName = ИмяПользователя Тогда
Агент.TerminateSession(Кластер, Сеанс);
КонецЕсли;
КонецЦикла;
КонецЦикла;
В Authenticate передайте логин и пароль администратора кластера, если он задан. Версия COM-компоненты должна совпадать с версией платформы сервера, иначе соединение не установится.
В конфигурациях на БСП для этого есть готовый общий модуль АдминистрированиеКластера — им пользуется та самая обработка «Активные пользователи». В доработках удобнее вызывать его, чем писать работу с COM с нуля.