Тип: Число. Интервал времени в секундах, по истечении которого спящий сеанс завершается.
Полное описание, параметры и ограничения
АдминистрированиеСеанс.ВремяЗавершенияСпящегоСеанса (AdministrationSession.HibernateSessionTerminateTime)
АдминистрированиеСеанс (AdministrationSession)
ВремяЗавершенияСпящегоСеанса (HibernateSessionTerminateTime)
Доступен, начиная с версии 8.3.14.
Использование:
Только чтение.
Описание:
Тип: Число.
Интервал времени в секундах, по истечении которого спящий сеанс завершается.
Доступность:
Тонкий клиент, сервер, толстый клиент, интеграция.
Использование в версии:
Доступен, начиная с версии 8.3.14.
Методическая информация
Практические примеры
Разделить даты активности и интервалы перехода в сон
ВремяНачала и ВремяПоследнейАктивности — даты, а два параметра спящего сеанса — интервалы в секундах. Не прибавляем интервалы к номеру сеанса.
Где и как запускать
Управляемая форма учебного административного пульта. Клиентский обработчик и серверная функция находятся на уровне модуля формы. Только чтение отдельного учебного кластера через ras.
Подготовка
Только отдельный учебный кластер 1С:Предприятия 8.5.1.1343 с уже настроенным ras совместимой версии. Не подключайтесь к рабочему серверу для обучения.
Создайте внешнюю обработку с управляемой формой. Добавьте реквизиты АдресRAS (Строка), ПортRAS (Число), ИмяАгента, ПарольАгента, ИдентификаторКластера, ИмяАдминистратораКластера, ПарольАдминистратораКластера (Строка). Выведите поля на форму; у элементов ввода паролей в свойствах включите Режим пароля (PasswordMode).
АдресRAS относится к машине серверного выполнения кода. Пример для ras на этой же тестовой машине: 127.0.0.1 и порт 1545; подтвердите фактические адрес и порт у администратора.
Используйте законные учётные данные учебного агента и кластера. Оставлять имя и пароль пустыми можно только если соответствующие администраторы не зарегистрированы и среда допускает такую аутентификацию.
При первом запуске оставьте ИдентификаторКластера пустым: код выведет идентификаторы и имена кластеров. Скопируйте идентификатор нужного учебного кластера в поле и повторите.
Вставьте клиентскую процедуру и серверную функцию отдельно на уровне модуля формы. Код не запускает ras и не настраивает учётные записи.
Дополнительно добавьте на форму ИдентификаторУчебнойБазы и ИдентификаторУчебногоСеанса (Строка). Сначала оставьте их пустыми: после выбора учебного кластера получите пары UUID ИБ/сеанса. Выберите сеанс своей отдельной учебной базы, не рабочий.
Административные счётчики меняются во время чтения. Контроль состоит в сравнении с консолью того же учебного кластера, а не в требовании заранее известного числа пользователей, памяти или вызовов.
Создайте команду ПоказатьВремяСеанса, её кнопку и одноимённый клиентский обработчик из кода.
&НаКлиенте
Процедура ПоказатьВремяСеанса(Команда)
Результат = ПоказатьВремяСеансаНаСервере(АдресRAS, ПортRAS, ИмяАгента, ПарольАгента, ИдентификаторКластера, ИмяАдминистратораКластера, ПарольАдминистратораКластера, ИдентификаторУчебнойБазы, ИдентификаторУчебногоСеанса);
Сообщить(Результат);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПоказатьВремяСеансаНаСервере(АдресRAS, ПортRAS, ИмяАгента, ПарольАгента, ИдентификаторКластера, ИмяАдминистратораКластера, ПарольАдминистратораКластера, ИдентификаторУчебнойБазы, ИдентификаторУчебногоСеанса)
Сервер = Новый АдминистрированиеСервера(АдресRAS, ПортRAS);
Сервер.ВыполнитьАутентификацию(ПарольАгента, ИмяАгента);
Кластеры = Сервер.ПолучитьКластеры();
Если Не ЗначениеЗаполнено(ИдентификаторКластера) Тогда
Строки = Новый Массив;
Для Каждого Элемент Из Кластеры Цикл
Строки.Добавить(Строка(Элемент.ИдентификаторКластера) + " — " + Элемент.Имя);
КонецЦикла;
Если Строки.Количество() = 0 Тогда
Возврат "Кластеров нет";
КонецЕсли;
Возврат СтрСоединить(Строки, Символы.ПС);
КонецЕсли;
Кластер = Неопределено;
Для Каждого Элемент Из Кластеры Цикл
Если НРег(Строка(Элемент.ИдентификаторКластера)) = НРег(СокрЛП(ИдентификаторКластера)) Тогда
Кластер = Элемент;
Прервать;
КонецЕсли;
КонецЦикла;
Если Кластер = Неопределено Тогда
ВызватьИсключение "Указанный учебный кластер не найден";
КонецЕсли;
Кластер.ВыполнитьАутентификацию(ИмяАдминистратораКластера, ПарольАдминистратораКластера);
Сеансы = Кластер.ПолучитьСеансы();
Если Не ЗначениеЗаполнено(ИдентификаторУчебнойБазы) Или Не ЗначениеЗаполнено(ИдентификаторУчебногоСеанса) Тогда
Список = Новый Массив;
Для Каждого Кандидат Из Сеансы Цикл
Список.Добавить(СтрШаблон("ИБ=%1; UUID сеанса=%2; номер=%3; приложение=%4",
Кандидат.ИдентификаторИнформационнойБазы, Кандидат.ИдентификаторСеанса,
Кандидат.НомерСеанса, Кандидат.ИмяПриложения));
КонецЦикла;
Возврат "Выберите UUID своей учебной ИБ и сеанса:" + Символы.ПС + СтрСоединить(Список, Символы.ПС);
КонецЕсли;
Сеанс = Неопределено;
Для Каждого Кандидат Из Сеансы Цикл
Если НРег(Строка(Кандидат.ИдентификаторИнформационнойБазы)) = НРег(СокрЛП(ИдентификаторУчебнойБазы))
И НРег(Строка(Кандидат.ИдентификаторСеанса)) = НРег(СокрЛП(ИдентификаторУчебногоСеанса)) Тогда
Сеанс = Кандидат;
Прервать;
КонецЕсли;
КонецЦикла;
Если Сеанс = Неопределено Тогда
Возврат "Выбранный учебный сеанс не найден в этой ИБ; обновите список. Номер сеанса вместо UUID не подходит.";
КонецЕсли;
Строки = Новый Массив;
Строки.Добавить("Начало: " + Формат(Сеанс.ВремяНачала, "ДФ=dd.MM.yyyy HH:mm:ss"));
Строки.Добавить("Последняя активность: " + Формат(Сеанс.ВремяПоследнейАктивности, "ДФ=dd.MM.yyyy HH:mm:ss"));
Строки.Добавить("Сейчас спящий: " + Строка(Сеанс.СпящийСеанс));
Строки.Добавить("Интервал до сна, с: " + Строка(Сеанс.ВремяЗасыпанияПассивногоСеанса));
Строки.Добавить("Интервал до завершения спящего, с: " + Строка(Сеанс.ВремяЗавершенияСпящегоСеанса));
Возврат СтрСоединить(Строки, Символы.ПС);
КонецФункцииРазбор по шагам
Аутентифицируемся в явно выбранном учебном кластере; сеанс выбираем одновременно по UUID ИБ и UUID сеанса.
Форматируем две даты только для отображения; свойства не превращаем в строки для расчёта.
СпящийСеанс — текущее булево состояние. Таймауты читаем как параметры, не как время, уже проведённое во сне.
Не вычисляем возраст сеанса по часам машины пульта без согласования временных зон/часов сервера.
Как проверить результат
Сверьте две даты и состояние с консолью того же учебного кластера.
Параметры интервальные: число 300 означает 300 секунд, а не дату или 300 миллисекунд.
Ожидаемый результат
Показаны момент создания, последняя активность и политика спящих сеансов.
На что обратить внимание
Это снимок административной диагностики, не замер внутри прикладной транзакции и не команда удаления сеансов.
Сон не равен завершению сеанса.
Нулевой или особый таймаут трактуйте по настройкам вашей версии сервера; урок не назначает новые таймауты.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.