Имя: Пароль:
1C
1С v8
Активность пользователя
0 Mikhail Volkov
 
07.11.14
07:01
Есть такая функция в 1С? Ну, чтобы не досаждать лишний раз пользователю напоминаниями... Если пользователь ничего не делает в 1С (например, покурить вышел), тогда можно выводить!?
1 13_Mult
 
07.11.14
07:05
Плохая идея )
2 lxndr
 
07.11.14
07:33
журнал регистрации
3 MSII
 
07.11.14
07:56
Обработчик ожидания + скриншот основного окна клиентского приложения + сравнение полученного скриншота с предыдущим. Если одинаковые - пользователь бездействует. :)
А вообще задача еретическая, конечно. Юзер, возможно, в этот момент обсуждает детали контракта на миллиард миллионов, сейчас будет счет выписывать, а вы его из 1С выкидывать собираетесь...
4 Mikhail Volkov
 
07.11.14
09:09
(3) Как раз наоборот, пользователи жалуются, что из-за ПодключитьОбработчикОжидания() 1С "подвисает"...
5 chudishe
 
07.11.14
09:28
(4) Так ты небось вешаешь на этот обработчики что-нибудь тяжелое, да еще и интервал ставишь 5 секунд, да еще и из базы в этом обработчике чего-нибудь тянешь. Есесно у тебя будет 1с "подвисать".
6 Mikhail Volkov
 
07.11.14
09:54
(5) Руководство решило, что складские ордера должны проводить только МОЛ данного ордерного склада, поскольку в них необходимо правильно указывать номера ячеек склада. Складские ордера создаются автоматом на основании складских документов, но не проведенные. Чтобы вовремя сообщать МОЛ о появлении новых складских ордеров, написал обработку проверки. Ее запускаю только у МОЛ соответствующего склада через ПодключитьОбработчикОжидания().
В этой обработке всего лишь запрос к складским ордерам от даты запрета, с отбором не проведенных, и складу МОЛ. Всяко он легче, чем обращение к журналу регистрации!?
Тайм-аут увеличил до получаса, но все равно жалуются...
7 Mikhail Volkov
 
07.11.14
10:04
По другому поставлю вопрос: Как определить, что в сеансе пользователя ничего не выполнялось в течении 2-5 секунд?
8 yukon
 
07.11.14
10:17
(6) Ну и зачем обработка ожидания?

Справочник (регистр сведений) уведомлений и список с автообновлением.
9 chudishe
 
07.11.14
10:18
(6) Сделал бы вместо оповещений задачи и фоновым заданием их бы создавал.
(7) Это лучше решить написанием или поиском программы, которая бы смотрела сколько у пользователя Idle Time. И вот он (3) тебе правильно сказал, может твой МОЛ в этот момент инвентаризацию проводит, открыл документ заводит номенклатуру, а ты его херакс и вышиб.
10 Михаил Козлов
 
07.11.14
10:22
Присоединяюсь к (9): задачи можно создавать регламентным заданием или в подписке для нужных типов документов.
11 Формат
 
07.11.14
10:31
+(8)

когда то тоже использовал регистр сведений с заданием автообновления. Красная такая фигня появлялась и сразу видно даже издалека, что что-то появилось в 1С
12 ifso
 
07.11.14
10:35
насмотрелись "остаться в живых" и мечтают о кнопке?
13 Mikhail Volkov
 
07.11.14
16:22
(8)-(11) Как-то сложно все это... А если блокировки пользователя по анализировать, для того чтобы что-то сделать, надо ему что-то открыть, заблокировать?
14 Mikhail Volkov
 
07.11.14
16:32
В Альфа-Авто есть Процедура глОбработкаПланировщикаЗаданий(), в ней прежде чем что-то запустить анализируется РежимБлокировки = ПолучитьБлокировкуУстановкиСоединений();
А сама функция ПолучитьБлокировкуУстановкиСоединений() похоже в защищенном модуле. Что она делает, может как раз то, что мне надо?
15 тшл
 
07.11.14
17:06
16 Михаил Козлов
 
07.11.14
18:06
(13) 2 строчки кода, если генерить задачи. Чуть больше, если РС.
17 Mikhail Volkov
 
08.11.14
05:01
(15) Да, это мне не поможет...
Казалось, чего проще программе спросить саму себя - я что-то выполняю, или бездействую?
Кстати, во всех документах есть дкФормаПриОткрытии(ЭтаФорма) и  дкФормаПриЗакрытии(ЭтаФорма). Элементарно можно глобальный счетчик открытых документов организовать. А лучше список открытых документов, и проверять когда надо, есть ли среди них модифицированный!?
(16) Ну, приведи для примера!?
18 Sasha_Rapira
 
08.11.14
05:27
(0) другой вараинт.

Есть ждущий режим у винды, когда после простоя винда засыпает. Сделай свой .src файл. А там уже замути что хочешь, можешь даже в 1С параметры передавать, или напрямую в SQL базу писать.
19 Sasha_Rapira
 
08.11.14
05:28
(18) scr* скринсервер
20 Mikhail Volkov
 
08.11.14
06:07
(18) Не годится, "например, покурить вышел" - в смысле что-то в Excel или другом приложении работает...
21 Фокусник
 
08.11.14
09:51
(6) если обработка ожидания выполняется раз в полчаса "и все равно тормозит" , значит оптимизировать нужно запрос, который в этой обработке ожидания. ИМХО.
22 braynt
 
08.11.14
11:12
(0) можно определить бездействие пользователя в Windows.
23 Mikhail Volkov
 
08.11.14
11:49
(21) Не а тормозах дело. В основном жалобы: "Заполняю документ, делаю подбор номенклатуры, а тут эта хрень выскакивает..." Вопрос, как не мешать пользователю этими оповещениями при его активной работе!?
24 Mikhail Volkov
 
08.11.14
11:50
(22) -> (20)
25 Фокусник
 
08.11.14
11:53
(23)может выводить в некоторое прикрепленное окно (сбоку/снизу/сверху) ?
26 Управление торговлей
 
08.11.14
12:20
вообще не делать ничего
если проведение ордеров - приоритетная работа для МОЛ, то пусть выскакивают. а если нет - пусть сами проверяют.
27 Управление торговлей
 
08.11.14
12:22
чтобы не тормозить работу пользователя, проверку делать регламентным заданием
чтобы на экране ничего не выскакивало, менять заголовок окна приложения
28 Mikhail Volkov
 
09.11.14
06:14
(25) Это Альфа-Авто - обычные формы.
(26) Я уже не спрашиваю как реализовать, и кнопочки проверки сделал в их журналах, и вывожу в сообщения список открытых документов, вместо запуска процедуры проверки...
Мне просто интересен чисто программистский ответ на вопрос в (17):
Казалось, чего проще программе спросить саму себя - я что-то выполняю, или бездействую?
29 Рэйв
 
09.11.14
08:47
(0)Еще один озабоченный -"а вдруг рабы чай слишком долго пьют!"
:-)