Имя: Пароль:
1C
1С v8
Как определить активность пользователя?
0 aspirator23
 
06.05.14
14:21
Пользователь работает на локальной машине. В момент, когда время простоя больше условного периода(15-30 минут), на его машине в его сеансе 1с запускается фоновое задание и выполняет задание в течение 15-20 секунд. Запускать фоновое задание во время активной работы пользователя не хочется - из-за подтормаживания. Фоновое задание запускается только в сеансе пользователя - результат задания нужен для работы пользователя.
Как более-менее отследить активность пользователя?
Можно читать журнал регистрации, но в нем не отражаются работы с отчетами, просмотр документов, журналов...
1 Maxus43
 
06.05.14
14:23
>>Фоновое задание запускается только в сеансе пользователя - результат задания нужен для работы пользователя.

Не надо ничего отслеживать, запускай именно фоновое задание, в соём сеансе, а не в сеансе юзера, потом забирай результат. В типовых так сейчас отчеты делаются, в фоне
2 aspirator23
 
06.05.14
14:25
Тут проблема в том что фоновое задание запускается именно в сеансе пользователя. Результат фонового задание какие-то показатели, цифры, а созданный объект с которым работает пользователь в этом сеансе.
3 aspirator23
 
06.05.14
14:26
Поправка:
Результат фонового задание не какие-то показатели, цифры, а созданный объект с которым работает пользователь в этом сеансе
4 Maxus43
 
06.05.14
14:35
что за объект? почему тормозно создаётся?

Сабж - нет, не отследить, а вот найти нормальное решение можно, а не это вот в (0)
5 Fedor-1971
 
06.05.14
14:46
(0) если очень хочется сделать нечто в момент простоя пользователя попробуй использовать: ПодключитьОбработчикОжидания() - с заданной периодичностью выполняются указанные действия, но только если пользователь ничего не делает.
Но создавать объекты таким способом - как-то стрёмно (нужно иметь некий механизм защиты от повторного создания одинаковых объектов).
6 aspirator23
 
06.05.14
14:52
(4) Этот объект - соединение со сторонней базой данных
(5) Задача не в том как создать объект, а как найти неактивное время для создания объекта. Отследить наличие уже созданного объекта в данной задаче легко.
7 Fedor-1971
 
06.05.14
14:56
(6) в предложенном варианте система сама отследит, что пользователь ничего не делает с 1С, главное, что-бы не закрыл.
Предполагается что соединение устанавливается, нечто получается из БД и соединение разрывается?
8 aspirator23
 
06.05.14
15:07
(7) Хочешь сказать ПодключитьОбработчикОжидания() не запустится(будет ждать), если пользователь что -то делает?
9 aspirator23
 
06.05.14
15:10
(7) Спасибо, прочитал СП. Это то что нужно. Еще раз спасибо.
10 Fedor-1971
 
06.05.14
15:12
на здоровье