Интервалы оповещения перед блокировкой пользователей

1. krokchel 28.02.22 10:48 Сейчас в теме
Добрый день!
Перед обновлением базы устанавливаем блокировку начала сеансов по времени, она начинает срабатывать за 15 минут до начала блокировки, т.е. пользователям выходит окно что сеанс будет завершен и тд.

Причем это окошко выходит раз в минуту следующие 10 минут до блокировки, и раз в 30 секунд за 5 минут до блокировки.

Вопрос - где настраиваются эти интервалы?
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
5. Xershi 1557 11.09.23 16:11 Сейчас в теме
(1) обычно включается раз в 5 минут проверка блокировки. Далее пользователю дают время чтобы выйти, ну а в конце если пользователь заснул 1С рубит сеанс сама.
2. mqlochink 7 28.02.22 12:30 Сейчас в теме
Проблема рассинхронизации часов

При файловой ИБ каждый компьютер сам проверяет, имеется ли в ИБ установленный временной диапазон блокировки, и сравнивает его со своими локальными часами. От точности своих часов зависит, сможет ли данный компьютер осуществить завершение сеанса точно в нужное время. Если база блокируется с 10:00, для одного компьютера этот момент наступит раньше, а для другого – позже.

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

Кажется, что речь может идти о секундах, в крайнем случае, минутах. Но на самом деле, на компьютере может быть, например, не установлено обновление операционной системы, поддерживающее переход на сезонное (зимнее/летнее) время, и ошибка уже может составлять не секунды, а часы. Легко провести такой эксперимент: запланируйте блокировку на 10 утра длительностью полчаса, а на одном из компьютеров переведите время на час вперед – блокировка на него не подействует.

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

А как же мои пользователи во Владивостоке?

Проблема абсолютного времени при пользователях из разных часовых поясов

Временной диапазон блокировки сохраняется в информационной базе. Посмотрите на содержимое блокировочного файла 1Сv8.cdn (который создается в файловом варианте ИБ), в нем записано время начала блокировки 17.07.2017 13:59 в формате ГГГГММДДЧЧММСС без какого-либо указания на часовой пояс:

Рис.20 Содержимое блокировочного файла
Рис.20 Содержимое блокировочного файла
Без указания на часовой пояс было бы понятно, о каком абсолютном времени идет речь, если время всегда относилось бы к какому-то конкретному часовому поясу, например UTC+0. Но в базе сохраняется локальное время по часам компьютера, который являлся инициатором блокировки. Из какого часового пояса был этот компьютер – неизвестно, а значит неизвестно абсолютное время блокировки.

Если в Москве, в централизованной ИБ, вы устанавливаете блокировку в 13:59, и этот момент времени для московских пользователей находится в будущем, то у пользователей этой же ИБ во Владивостоке 13:59 было 7 часов назад. И в зависимости от технического решения, в соответствии с которым осуществляется работа с ИБ пользователей Владивостока, блокировка этих пользователей либо сработает, либо нет.

Какие могут быть технические решения, в которых блокировка будет работать неправильно для пользователей Владивостока? Те, при которых клиентская часть 1С получит время по Владивостоку, а не по Москве. Например, офисы связаны в локальную сеть по VPN, а клиентская часть 1С запускается с локального компьютера, имея время UTC+10. Но если они работают с базой через RDP-соединение или в режиме RemoteApp на московском сервере, запуская на этом сервере клиентскую часть 1С – все будет хорошо, т.к. она будет иметь время UTC+3.

Имеется ли проблемы рассинхронизации часов и часового пояса в случае SQL-варианта информационной базы?

Нет. В данном варианте есть «часы сервера», которые принимаются за эталон.

Выкинет ли меня из Конфигуратора, если я был в нем, а блокировка начала действовать?

Нет.
3. пользователь 28.02.22 12:31
Сообщение было скрыто модератором.
...
4. BigBon 3 11.09.23 15:24 Сейчас в теме
Нашла только в конфигураторе: ОбщийМодуль.СоединениеИБКлиент.ПоказатьПредупреждениеПриЗавершенииРаботы, в строке ПоказатьПредупреждение - таймаут в 30 секунд стоит, по умолчанию.
А для вопроса в том же модуле процедура - ЗадатьВопросПриЗавершенииРаботы - аналогично в 30 секунд, по умолчанию.
Интервал, что именно за 15 минут до начала блокировки он начинает выдавать предупреждения, в ОбщийМодуль.СоединенияИБГлобальный. КонтрольРежимаЗавершенияРаботыПользователей и там же процедура ПараметрыБлокировкиСеансовРасширенные - там 15*60 ИнтервалОжиданияЗавершенияРаботыПользователей.
6. danila_soft 19.03.24 12:54 Сейчас в теме
Функция ПараметрыИнформирования(ВремяНачалаБлокировки)
	
	ИмяПараметра = "СтандартныеПодсистемы.ПоказаноПредупреждениеПередЗавершениемРаботы";
	Свойства = ПараметрыПриложения[ИмяПараметра];
	Если Свойства = Неопределено Или Свойства.ВремяНачалаБлокировки <> ВремяНачалаБлокировки Тогда
		Свойства = Новый Структура;
		Свойства.Вставить("ОповещениеПоказано", Ложь);
		Свойства.Вставить("ПоказатьПредупреждениеИлиВопрос", Ложь);
		Свойства.Вставить("ДатаПоследнегоПредупрежденияИлиВопроса", '00010101');
		Свойства.Вставить("ВремяНачалаБлокировки", ВремяНачалаБлокировки);
		ПараметрыПриложения.Вставить(ИмяПараметра, Свойства);
	КонецЕсли;
	
	ДатаСеанса = ОбщегоНазначенияКлиент.ДатаСеанса();
	//+++ (Изменено)  
	//Если Свойства.ДатаПоследнегоПредупрежденияИлиВопроса + 50 < ДатаСеанса Тогда
	//	Свойства.ДатаПоследнегоПредупрежденияИлиВопроса = ДатаСеанса;
	//	Свойства.ПоказатьПредупреждениеИлиВопрос = Истина;
	//Иначе
	//	Свойства.ПоказатьПредупреждениеИлиВопрос = Ложь;
	//КонецЕсли;
	Интервал = 55;
	Если ВремяНачалаБлокировки - ДатаСеанса >= 300 Тогда
		Интервал = 295;
	КонецЕсли;	
	
	Если Свойства.ДатаПоследнегоПредупрежденияИлиВопроса + Интервал < ДатаСеанса Тогда
		Свойства.ДатаПоследнегоПредупрежденияИлиВопроса = ДатаСеанса;
		Свойства.ПоказатьПредупреждениеИлиВопрос = Истина;
	Иначе
		Свойства.ПоказатьПредупреждениеИлиВопрос = Ложь;
	КонецЕсли;
	//  --- (Изменено)  
	
	Возврат Свойства;
	
КонецФункции
Показать


интервал по умолчанию составлял 50.
от 15 минут до 5 минут : сообщение каждые 5 минут
от 5 минут до блокировки : сообщение каждую минуту
7. Flover 66 08.11.24 10:40 Сейчас в теме
СоединенияИБ.ПараметрыБлокировкиСеансовРасширенные(Знач ПолучитьКоличествоСеансов, ПараметрыБлокировки)

Результат = Новый Структура;
Результат.Вставить("Установлена", ТекущийРежим.Установлена);
Результат.Вставить("Начало", ТекущийРежим.Начало);
Результат.Вставить("Конец", ТекущийРежим.Конец);
Результат.Вставить("Сообщение", ТекущийРежим.Сообщение);
Результат.Вставить("ИнтервалОжиданияЗавершенияРаботыПользователей", 15 * 60); //15 минут.
Результат.Вставить("КоличествоСеансов", ?(ПолучитьКоличествоСеансов, КоличествоСеансовИнформационнойБазы(), 0));
Результат.Вставить("ТекущаяДатаСеанса", ПараметрыБлокировки.ТекущаяДата);
Результат.Вставить("ПерезапуститьПриЗавершении", Истина);
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот