Настройка спящих сеансов. Повышение производительности веб-сервисов Завершение сеансов непосредственно из программы

При нештатном завершении клиентского приложения (обрыв связи или закрытие окна бразуера) клиентские лицензии «1С: Предприятие 8» могут блокироваться.

Освободить заблокированные клиентские лицензии можно перезагрузкой ПК.

При нештатном завершении клиентского приложения сеанс удерживается еще 20 минут. После этого в версиях до 8.3.5 сеанс удалялся. С версии 8.3.5 сеанс засыпает в в спящем состоянии по умолчанию удерживается еще сутки. Спящий сеанс не занимает клиентскую лицензию «1С: Предприятие 8».

В версии 8.3.5 время засыпания сеанса и время удаления неиспользуемого спящего сеанса можно изменить с помощью специальной или в Конфигураторе 1С в диалоге Администрирование/ Параметры информационной базы, установив рекомендуемые параметры спящего сеанса:

  • время засыпания пассивных сеансов — 300
  • время завершения спящих сеансов — 10

Кстати, кто спит, а кто активен всегда можно посмотреть через консоль сервера на закладке сеансов. В соответствующей колонке «Спящий» есть признак Да/Нет.

Штатно (по версии фирмы 1С) завершить работу в веб-клиенте можно командой «Файл»-«Выход». С версии 8.3.8 добавили команду завершения работы в заголовок приложения, рядом с кнопкой О программе . Она отображается в виде гиперссылки с именем текущего пользователя.При нажатии на гиперссылку открывается диалог с именем пользователя и командой Завершить работу .

Платформа каждые 5 секунд делает пинги клиетом сервер 1С (видны пакеты по 4 байта). На основании «пингов» сервер отслеживает целостность соединения с клиентским приложением. Отсутствие пингов в течение примерно 2 минут серввер интерпретирует как разрыв соединения.

Для проведения регламентных работ в информационной базе 1С:Предприятия 8 часто необходимо получить монополный доступ к базе. Например, для выполнения бэкапа базы или выполнения регламентных работ на сервере СУБД (реиндексация и т.д.), необходимо отключить все активные сеансы.

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

Стандартный функционал

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

Зайдя в свойства ИБ установим опцию "Блокировка начала сеансов включена". При этом может быть необходимо ввсетси логин/пароль учетной записи администратора информационной базы.

Не забывайте установить период блокировки сеанса. Также следует предусмотреть, что на время блокировки сеансов нужно остановить все фоновые задания. Делается это опицей "Блокировка регламентных заданий включена".

При необходимости можно установить текст сообщения пользователям, которым они будут уведомлены за 5 минут до блокировки сеансов, а также код разрешения для входа в информационную базу в период блокировки сеансов.

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

Войдя в базу таким способом мы получим монополный доступ к информационной базе. Другие сеансы не смогут к нам присоединиться.

Уведомление пользователю о блокировке сеансов выглядит следующим образом (в зависимости от сообщения, введенного администратором). Появляется оно каждую минуту за 5 минут до периода блокировки.

По началу периода блокировки сеансов сначала появляется уведомление:

После сеанс завершается.

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

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

Параметры сеансы 1С 8.3 — переменная, в которой хранится значение нужного параметра на время сеанса пользователя. По сути, это некая глобальная переменная, привязанная к сеансу текущего пользователя.

Использование параметров сеанса в 1С

Параметры сеанса задаются только программно, универсального интерфейса для установки параметров сеанса в системе нет. Обычно они задаются при старте системы, в «Модуле сеанса». Если параметр не определен, во время обращения к нему будет вызвана ошибка.

Пример установки параметра сеанса 1С

Рассмотрим типичный пример использования параметров сеанса — установку текущего пользователя. Пример я возьму из подготовки к .

В древе метаданных создадим новый параметр сеанса — ТекущийПользователь, назначим ему тип — СправочникСсылка.ФизическиеЛица:

Получите 267 видеоуроков по 1С бесплатно:

В модуле сеанса создадим процедуру, в которой будет определяться текущий параметр сеанса:

Код процедуры:

Процедура УстановкаПараметровСеанса(ТребуемыеПараметры) //ищем физ. лицо по имени пользователя ТекПользователь = Справочники. ФизическиеЛица. НайтиПоНаименованию(ИмяПользователя() ) ; //если не нашли - создадим нового Если ТекПользователь. Пустая() Тогда НовПользователь = Справочники. ФизическиеЛица. СоздатьЭлемент() ; НовПользователь. Наименование = ИмяПользователя() ; НовПользователь. Записать() ; ТекПользователь = НовПользователь. Ссылка; КонецЕсли ; //присваиваем параметру сеанса ТекущийПользователь ссылку на справочник физ.лиц ПараметрыСеанса. ТекущийПользователь = ТекПользователь; КонецПроцедуры