Имя: Пароль:
1C
1С v8
1с 8.3 УФ Вопрос пользователю.
0 rene_den
 
26.02.14
12:21
День добрый коллеги.
Хочу спросить ваше мнение по поводу реализации такой задачи:
Есть х работающих в вэб.интерфейсе пользователей, нужно с определенной переодичностью выводить им вопрос "вы тут?" и по таймауту писать в регистр что юзера нет и завершать его сеанс.
Подскажите пожалуйста ваше видение реализации данной задачи.
1 olegves
 
26.02.14
12:23
ПодключитьОбработчикОжидания
2 regniws
 
26.02.14
12:26
за что так не любить пользователей?
3 Fuas4
 
26.02.14
12:26
я бы еще потребовал вводить код с картинки, чтобы доказать, что пользователь - не робот. Или купить пробный GOLD-аккаунт за смс на короткий номер
4 Кир Пластелинин
 
26.02.14
12:27
хз почему, но вспомнилось "тук-тук! я бумажка! можно к Вам?")
5 vicof
 
26.02.14
12:27
(0) я бы такому надоедливому программисту коленки прострелил
6 rene_den
 
26.02.14
12:52
(5) Себе ченить прострели.
7 rene_den
 
26.02.14
12:53
(1) Спасибо мил человек. Пробую, отпишусь.
8 Lex_Liven
 
26.02.14
12:54
(6) Он прав. Вы себя на место пользователя поставьте. Каждые 10 минут при работе будет вылезать окно - приятно?
9 rene_den
 
26.02.14
12:54
(3) Видел вариант вопрос на сумму чисел, но решил быть более толерантным ;-)
10 rene_den
 
26.02.14
12:55
(8) раз в час. И причем тут программист, пусть идут к своему шефу, генератору идеи.
11 GROOVY
 
26.02.14
12:56
Лучше программно получать список открытых окон и сравнивать с предыдущим списком ;)
12 Lex_Liven
 
26.02.14
12:57
(11) А если вся работа происходит в одном окне какого-нибудь "Фронта"? Тут хитрее надо...
13 Lex_Liven
 
26.02.14
12:58
(12) Например, сравнивать значения двух-трех ключевых реквизитов, которые меняются чаще всего.
14 rene_den
 
26.02.14
12:59
(12)(13) Чем плох (1) ?
15 Fuas4
 
26.02.14
13:00
Тащемта, если инициатива сверху, то пусть хоть каждые 10 секунд кнопку давят.
16 GROOVY
 
26.02.14
13:01
(1) В чем конкуренция (1) и (12)(13)?
17 Lex_Liven
 
26.02.14
13:01
(14) Я не сказал, что он плох. Просто задавать вопрос - плохо. В обработчике ожидания нужно решение самому принимать. Например, по способу (12)(13)
18 Fuas4
 
26.02.14
13:04
(17) А если пользователь смотрит отчет на 100500 строк и сравнивает со своим файликом в экселе, передвигая линеечку, то принятое самостоятельно решение вызовет всплеск говн
19 Lex_Liven
 
26.02.14
13:04
Работа пользователей происходит в разных формах или в одной?
Если в одной, то можно организовать, например, периодическую запись в регистр факт присутствия пользователя.
В случае отсутствия такой записи за определенный период - завершать сеанс.
20 rene_den
 
26.02.14
13:05
Ту специфика деятельности такая что человек постоянно за компьютерам должен быть, раз в час и таймаут 5 мин, вполне нормально.
21 Lex_Liven
 
26.02.14
13:05
(18) И точно такой же всплеск - если юзер забивает 100500 строк данных в очередную таблицу, а ему задают вопросы.
50/50.
22 GROOVY
 
26.02.14
13:05
На чего уж там. Подрубаем вебкамеру, фотаем периодически юзера. Заодно и компромат собрать можно...
23 rene_den
 
26.02.14
13:06
(19) согласен, но 300 отделений и каждый час писать регистр, не многовато записей будет?
24 Lex_Liven
 
26.02.14
13:07
(23) 300 пользователей - 300 записей. Не нужно хранить историю регистра.
Нет записи - завершение сеанса.
Есть запись при очередной проверке - изменить ее.
25 vicof
 
26.02.14
13:07
(23) Надо просто отстать от пользователей и дать им работать
26 rene_den
 
26.02.14
13:07
(22) нанимаем 30 человек чтоб просматривали видео ...
27 GROOVY
 
26.02.14
13:08
(26) Зачем, есть системы распознавания.
28 rene_den
 
26.02.14
13:08
(24) глубже задача, еще надо будет фиксить сколько он отработал.
29 Lex_Liven
 
26.02.14
13:09
(28) Учет рабочего времени раз в час - неточно.
Вы так и не ответили на вопрос - сколько форм использует юзер при работе?
30 rene_den
 
26.02.14
13:13
(29) У каждого свой интерфейс в виде общей формы при начале работы системы. Т.е. одна.
Согласен что не совсем точно, но какая разумная альтернатива?
31 Fuas4
 
26.02.14
13:14
(28) журнал регистрации анализируй, если пользователю думать не надо (кассир, например). Если надо вести учетрабочего времени для тех кто думает - то только кнопку нажимать, я считаю (начать рабочий день, завершить рабочий день)
32 rene_den
 
26.02.14
13:14
(27) вариант не дешевый будет. А как обычно хотят копеечный, да и опять же, даже если распознали  то надо в базу внести.
33 Lex_Liven
 
26.02.14
13:15
(30) тогда разумная альтернатива - (13)
34 Fuas4
 
26.02.14
13:16
Пристали к человеку) начальник хочет, чтобы пользователи жмакали кнопку - пусть жмакают :)
35 rene_den
 
26.02.14
13:16
(33) если инвентаризацию проводит и просто открыт отчет в который она смотрит, то реквизиты не меняются, а я без вопроса выкинул, обидно будет...
36 rene_den
 
26.02.14
13:17
(34) шеф хочет и причем за это платит... Думаю что все бы написали)))
37 rene_den
 
26.02.14
13:18
(31) Вот Вот уважаемый, так же и думаю. Только как всегда есть ньюансы...
38 Fuas4
 
26.02.14
13:21
я придумал: вешаем на мышку читалку отпечатков пальцев. Пишем в регистр первое прикосновение, потом через обработчик каждые 5 минут проверяем, что палец на месте, если пальца нет - завершаем сеанс и в регистр запись о завершении дня.  Красота! Если не согласен с записью в регистре - приложи к объяснительной оторванный палец
39 Lex_Liven
 
26.02.14
13:21
(35) Час смотреть в отчет и ничего не делать? И это считается, что пользователь "работает"???

Ну, короче, я варианты предложил, все полностью вкладываются в (1), то бишь ПодключитьОбработчикОжидания(). А внутри - как хотите.
40 rene_den
 
26.02.14
13:21
(31) Думаю при открытии интерфейса писать в регистр юзера и начало сеанса, а если он сам выходит или я его выкидываю своим вопросом - то писать завершение. Но что делать если у него свет вырубили. Получается завершение я не записал а новый вход даст запись начала и все что он до этого был то не учлось.
41 Lex_Liven
 
26.02.14
13:22
(40) "Вырубили свет" - будет давать такой конфликт при любой проверке.
42 Fuas4
 
26.02.14
13:23
(40) если нет записи о завершении - бери последнюю запись из ЖР перед началом нового сеанса
43 rene_den
 
26.02.14
13:23
(41) тогда пожалуй письмо тех поддержке и пусть внесут за него закрытие.
44 Lex_Liven
 
26.02.14
13:24
(40) Перед записью "Начало сеанса" найти предыдущие записи. Если все нормально - писать "Начало", если последняя запись = "Начало", написать "Продолжение после сбоя. Пользователь напишет объяснительную."
45 Lex_Liven
 
26.02.14
13:26
(43) 300 пользователей в условиях постсоветского электроснабжение? Коленку придет простреливать техподдержка)
46 rene_den
 
26.02.14
13:26
(44) И автоматом все работали даже если отсутствовали, лучше через тех. поддержку, если была на работе и увидела что база закрылась, написала письмо с объяснением и все добавили, а если дома борщ варила и часа через 3-4 написала то и говорить не о чем.
47 Fuas4
 
26.02.14
13:27
(44) + а через 12 часов пользователь получает окошко с вопросом: "где объяснительная, пля?!"
48 rene_den
 
26.02.14
13:29
(47)Ну или чтоб совсем красиво было, то при начале работы если последняя запись принудительное закрытие- то писать что мол вас не было с такого времени если хотите оспорить то пишите объяснительную.
49 Lex_Liven
 
26.02.14
13:29
(46) Да почему сразу "все работали"?
Запуск базы. Предыдущая запись = "Выход". Записать в регистр "Начало нового сеанса".
Сбой. Записи, естественно, нет.
Периодическая проверка - юзер не ответил. Пишем "Завершение сеанса."
Если юзер ответил при проверка - значит сбой не дольше часа был. поведение определяется политикой компании.
50 Lex_Liven
 
26.02.14
13:30
[offtop]На опечатки сильно не плюйтесь, я мало спал последние дни[/offtop]
51 Fuas4
 
26.02.14
13:31
кстати, а пользователи ведь еще и едят :) как этот час учитывать?
52 Lex_Liven
 
26.02.14
13:32
(51) Пусть правильно выключают базу в обед.
53 rene_den
 
26.02.14
13:33
(51) Да как, базу закрыла и пошла, а бухи потом час обеденный накинут.
54 Lex_Liven
 
26.02.14
13:33
(51) Ну или не проводить периодическую проверку в период с 13:00 до 14:00.
55 rene_den
 
26.02.14
13:34
Коллеги всем спасибо за отзывчивость буду пробовать если что напишу.
56 Жан Пердежон
 
26.02.14
13:37
у меня философский вопрос: следует ли автоматически код, реалиазующий *овноидею считать *овнокодом, а его автора - *овнокодером? Или это какой-то особый вид?
57 rene_den
 
26.02.14
13:42
(56) Философский ответ: каковы объективные критерии определения овноидеи? И причем тут кодер? ИМХО: овнокедером можно клисифицировать по корявости кода, а не по идейной  составляющей заказчика.
58 rene_den
 
26.02.14
13:45
(56) "а его автора - *овнокодером?". Я бы написал по другому: "а его заказчика - *овнозаказчиком?".
Программист всегда исправляет последнюю ошибку.