Как корректно выйти из веб-клиента 1С и управлять его сеансами

· 9 мин

Содержание

Чтобы закрыть веб-клиент как пользователь, нажмите кнопку завершения работы в правом верхнем углу (значок системного меню) или просто закройте вкладку браузера. Если же нужно отключить кого-то другого или снять зависший сеанс , одним закрытием вкладки не обойтись — это делают на стороне сервера: завершают сеанс в консоли администрирования или командой rac, а в крайнем случае останавливают веб-сервер.

Разница между этими способами принципиальная. Выход одного пользователя — безобидная операция. Остановка службы или завершение процесса обрывает работу сразу всем и грозит потерей несохранённых данных. Ниже — все способы по порядку: от самого безопасного к самому радикальному.

Что именно нужно сделать?

Штатный выход пользователя из веб-клиента

Веб-клиент работает в окне браузера, поэтому «закрыть» его можно двумя способами.

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

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

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

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

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

Частая ошибка — считать, что закрытая вкладка сразу освобождает лицензию и сеанс. Это не так.

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

Это нормальное поведение, и оно объясняет две типичные ситуации:

  • 🔸 пользователь закрыл браузер, но его сеанс всё ещё «висит» и занимает клиентскую лицензию;
  • 🔸 при повторном входе система говорит, что сеанс пользователя уже открыт.

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

Завершение сеанса веб-клиента в консоли администрирования

Самый точечный способ отключить конкретного пользователя — завершить его сеанс в кластере серверов. При этом остальные продолжают работать.

Через консоль администрирования (оснастка MMC). Откройте консоль, разверните ветку Central server → Кластеры → Локальный кластер → Сеансы. В списке найдите нужного пользователя по имени, приложению (веб-клиент здесь обозначен как Web-клиент) и времени последней активности. Щёлкните сеанс правой кнопкой и выберите удаление.

Через командную строку rac. Утилита rac ставится вместе с сервером 1С и управляет кластером без графической консоли. Последовательность такая:

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

Сначала rac cluster list показывает идентификатор кластера, затем rac session list выводит все сеансы с их session-id, пользователями и приложениями. Команда terminate завершает выбранный сеанс. Если администрирование кластера защищено паролем, добавьте параметры аутентификации администратора кластера.

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

Если вы не уверены в точном наборе параметров команды, посмотрите встроенную справку: rac help, rac session help. Придумывать несуществующие ключи не нужно — справка покажет только реально поддерживаемые.

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

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

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

В свойствах информационной базы включите блокировку начала сеансов. Там же задаются:

  • 🔸 текст сообщения — его увидит пользователь при попытке войти (например, «База закрыта на обслуживание до 20:00»);
  • 🔸 код разрешения — строка-пароль, с которой администратор всё-таки сможет зайти в заблокированную базу через параметр запуска.

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

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

Остановка службы веб-сервера

Веб-клиент подключается к информационной базе не напрямую, а через веб-сервер — Apache или IIS, на котором опубликована база. Остановка этой службы разрывает соединение сразу у всех пользователей всех опубликованных баз на этом сервере.

Остановка веб-сервера отключает всех без предупреждения. Делайте это только в технологическое окно или при аварии, предупредив пользователей заранее.

Порядок зависит от веб-сервера:

Веб-серверКак остановитьЧто затронет
ApacheСлужба Apache2.4 (имя зависит от версии) в services.msc, либо net stop Apache2.4Все сайты и публикации Apache
IISОстановить сайт в диспетчере IIS, либо iisreset /stop в командной строке с правами администратораВсе сайты IIS на сервере

iisreset /stop и остановка службы Apache — грубый инструмент: они глушат веб-сервер целиком. Если нужно отключить только одну базу, не трогая остальные, правильнее снять публикацию этой базы или запретить сеансы именно для неё, а не останавливать весь веб-сервер.

После остановки службы веб-клиент у пользователей покажет ошибку соединения. Чтобы вернуть доступ, запустите службу обратно (net start Apache2.4 или iisreset /start).

Настройка автоматического завершения неактивных сеансов

Чтобы «брошенные» сеансы не копились и не занимали лицензии, в 1С есть два таймаута. Настраиваются они в свойствах информационной базы в консоли администрирования (или через rac infobase update).

  • 🕒 Время засыпания пассивного сеанса — через сколько секунд бездействия сеанс переходит в спящий режим и освобождает рабочий процесс.
  • 🕒 Время завершения спящего сеанса — через сколько секунд после засыпания сеанс удаляется полностью, освобождая лицензию.

Оба значения задаются в секундах. Значение 0 отключает соответствующий механизм — тогда сеанс не завершится сам никогда, и его придётся снимать руками.

Разумные ориентиры: засыпание — через 10–20 минут бездействия (600–1200 секунд), завершение спящего — ещё через 20–40 минут. Точные цифры подбирайте под свою нагрузку и количество лицензий.

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

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

Принудительное завершение процессов на сервере 1С

Если сеанс не завершается штатно, потому что обслуживающий его рабочий процесс завис, остаётся крайняя мера — завершить сам процесс на сервере приложений. За сеансы отвечает рабочий процесс rphost.

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

Порядок действий:

  1. Убедитесь, что процесс завис: он не освобождает сеансы и не реагирует на завершение через консоль.
  2. На сервере приложений откройте диспетчер задач и найдите зависший rphost.exe (по идентификатору процесса, который виден в консоли в свойствах сеанса).
  3. Завершите его: в диспетчере задач или командой taskkill /PID <номер> /F.

Кластер поднимет новый рабочий процесс автоматически, и пользователи смогут войти заново. Останавливать агент сервера (ragent) или перезапускать службу «1C:Enterprise Server» ради одного сеанса не нужно — это обрывает вообще всех.

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

Очистка кэша браузера для веб-клиента

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

  1. В браузере нажмите Ctrl+Shift+Del — откроется окно очистки данных.
  2. Отметьте кэшированные изображения и файлы и, при необходимости, файлы cookie для сайта публикации.
  3. Выберите период «Всё время» и подтвердите очистку.
  4. Полностью закройте и заново откройте браузер, затем снова зайдите в базу.

Точечный вариант — очистить данные только для адреса публикации (в настройках сайта в адресной строке), не трогая кэш всего браузера.

Не путайте кэш веб-клиента с кэшем тонкого клиента . Параметр запуска /ClearCache и каталог %LOCALAPPDATA%\1C\1cv8 относятся к тонкому и толстому клиенту 1cv8, а не к работе через браузер. Для веб-клиента чистится именно браузерный кэш.

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

Перед обращением в поддержку по «зависшему» веб-клиенту проверьте
Выполнено: 0 / 5

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

Освобождается ли лицензия сразу после закрытия вкладки?
Нет. Сеанс сначала переходит в спящий режим и удаляется только по таймауту завершения спящего сеанса. До этого лицензия остаётся занятой. Чтобы освободить её сразу, завершите сеанс вручную.
Можно ли завершить чужой сеанс без прав администратора кластера?
Нет. И консоль администрирования, и команда rac session terminate требуют прав администратора кластера (если он защищён паролем). Обычный пользователь может закрыть только свой сеанс.
Нужно ли останавливать веб-сервер, чтобы отключить одного пользователя?
Нет, это избыточно и обрывает всех. Для одного пользователя завершите его сеанс в консоли или через rac. Веб-сервер останавливают только для обслуживания или при аварии.
Чем выход в веб-клиенте отличается от тонкого клиента?
Функционально выход одинаков — завершение сеанса. Но веб-клиент дополнительно зависит от браузера: закрытие вкладки равнозначно аварийному обрыву, и кэш хранится в браузере, а не в каталоге 1cv8.
Потеряются ли данные при принудительном завершении процесса `rphost`?
Да. Несохранённые данные всех сеансов этого процесса пропадут. Поэтому завершение процесса — крайняя мера, когда штатные способы не работают.