Цитата:
Сообщение от
S.Kuskov
А не связано ли нестабильное поведение счётчика простоя с наличием, а точнее с отсутствием в нужных местах команд StartLengthyOperation и endLengthyOperation?
Нет, эти методы всего лишь меняют в клиенте курсор с обычного на песочные часики и обратно.
Цитата:
Сообщение от
ice
есть подозрение, что сброс счетчика как то связан с обновлением прогрессбара
- Время неактивности считается от последнего обмена данными между клиентом и сервером
- Настройка выхода по таймауту неактивности обрабатывается клиентом в период простоя - грубо говоря, когда стек вызова кода X++ пуст
- Даже если запустить какую-то длительную операцию на сервере, исходно эта операция стартует на клиент (самые нижние фреймы в стеке вызова), поэтому клиент будет ждать завершения этой операции
Отсюда получаем несколько выводов:
- Любой обмен данными между клиентом и сервером приводит к сбросу счетчика времени простоя - в т.ч. обновление градусников при работе кода на сервере, поскольку для обновления данные градусника передаются на клиента
- Пока выполняется какой-либо код X++, клиент не будет обрабатывать настройку выхода по таймауту неактивности, в частности, если вы настроили таймаут простоя в 1 минуту, а на сервере полчаса формируется отчет, или обновляются данные, или тупо крутится пустой цикл, и при этом не отображаются никакие градусники, клиент все равно не отвалится по таймауту неактиавности, пока этот код не отработает, не вернет управление на клиента, не отработает клиентская часть кода, и стек вызова не станет пуст - только после этого клиент обработает настройку и отвалится по таймауту неактивности
К слову, даже если вообще не выполняется (вроде бы) никакой код, т.е. клиент реально простаивает, счетчик неактивности все равно периодически сбрасывается. Это связано с тем, что метод Info.watchDog() каждые 15 минут обновляет информацию о времени завершения сессии пользователя, косвенно вызывая обмен данными клиента с сервером (экземпляр Info "живет" на клиенте, а с БД при использовании тонкого клиента работает сервер).
Это все подробно обсуждалось в теме
Автоматический выход из системы. Обратите также внимание на обсуждаемый в той теме косяк в работе автозавершения, проявляющийся при создании новой записи.