Имя: Пароль:
1C
 
Завершение работы если в течение определенного времени пользователь не совершал действий
0 Nyarlathotep
 
21.05.21
13:17
Всем привет, нужно завершать работу 1с, если в течении определенного времени пользователь не совершал никаких действий (как минимум не нажал ни одной кнопки в 1с). Как такое сделать в 1с? Как правильно сделать таймер? И, главное, как понять, что пользователь ничего не нажимал в течении заданного времени?
1 mistеr
 
21.05.21
13:29
(0) Планировщик Windows умеет.
2 mistеr
 
21.05.21
13:30
Если RemoteApp, то там тоже есть такая настройка.
3 Nyarlathotep
 
21.05.21
14:56
В win api есть функция GetLastInputInfo, которая решает данную задачу, подскажите, из 1с как-то можно работать с вин апи напрямую? По типу подключения библиотек в python или c++, во так это делается в питоне import win32file, win32api
4 Kassern
 
21.05.21
15:07
Вы куда то далеко ушли, есть же настройка параметров базы в конфигураторе. Там есть время на засыпание сеанса и время на завершение спящих сеансов.
5 Fragster
 
гуру
21.05.21
15:16
(4) это не то. в типовых от 1с куча обработчиков, дергающих сервер каждую минуту, соответственно, пока клиент жив - сеанс не уснет
6 Kassern
 
21.05.21
15:26
(5) Попробую на 11ут потестить, поставил сейчас 600сек на спящий и 1сек на завершение спящего режима.
7 Lama12
 
21.05.21
15:27
(0) А если пользователь открыл отчет и тупо анализирует его?
8 Kassern
 
21.05.21
15:32
(6) действительно, всякие обработчики сбивают дату активности...могли же как то разграничить пользовательскую активность и всякие фоновые плюшки.
9 polosov
 
21.05.21
15:45
(0) На инфосрате есть статья по определению активности пользователя, на основе обработчика ожидания, который смотрит открытые окна и текущий элемент управления; пишет это в РС и если в течение некоторого времени ничего не меняется, то "на выход"
10 Fragster
 
гуру
21.05.21
16:25
(9) нафига в РС-то писать? глобальная переменная на клиенте не модно?
11 Fragster
 
гуру
21.05.21
16:26
надо обязательно сервер и БД подергать?
12 Fragster
 
гуру
21.05.21
16:26
но мысль интересная
13 Kassern
 
21.05.21
16:29
(12) А если история нужная по неактивным сеансам?)
14 Fragster
 
гуру
21.05.21
16:32
(13) зачем? для полноценного аудита нужны другие средства, а для целей определения активности - хватит и этого. но, конечно, если используется концепция рабочего места, то тут тоже возможны ложные срабатывание, нужно в него будет встраивать сброс таймера в процессе работы. Ну да это не сложно реализовать. А для общей концепции - собирать список открытых (с ключами уникальности), текущее открытое и текущий элемент на них - норм.
15 Kassern
 
21.05.21
16:32
(13) помню как то реализовал учет работы операторов по заведению товаров, где посекундно было видно кто когда и сколькько товара завел, от этого сдельно еще зарплата считалась. Было как раз таки легко выловить, кто 2 часа чилил и ничего не заводил в рабочее время, а потом жаловался, что не успевает столько заполнять в день)
16 Fragster
 
гуру
21.05.21
16:39
(15) тут достаточно по ЖР посмотреть действия пользователя
17 Kassern
 
21.05.21
16:44
(16) ЖР это медленно, не для всех и не интересно. Отчетом они могли сами себя контролировать и стараться больше завести, чтобы больше заработать)
18 Mikhail Volkov
 
21.05.21
18:58
Как-то работал на одной фирме, там все работали в терминале. Заметил, уйдешь на обед не закрыв 1С, вернешься, терминальный сеанс 1С закрыт. Поинтересовался как это сделано, оказалось не средствами 1С.
(4) Вроде эти параметры настроены, но не чего само не отключается!? Компьютер, к которому подключена касса, бывает совсем не работает (лишь бы в программе был), менеджеры со своих компьютеров чеки отбивают, и не засыпает, не отключается.
19 ДенисЧ
 
21.05.21
19:03
(15) Сколько после этого ты лежал в больнице с переломами и сотрясениями?
20 ДенисЧ
 
21.05.21
19:03
(18) Терминальные сеансы закрываются средствами оси
21 ДедМорроз
 
22.05.21
00:41
Свой уникальный процесс хранителя экрана screen saver и подписка wmi на создание этого процесса,если создался,то можно из 1с выходить.
22 Mikhail Volkov
 
22.05.21
06:45
(20) Может ТС этого достаточно?
В моей Альфа-Авто сделал dt-выгрузку базы (на всякий случай) каждый день по окончанию работы последнего пользователя, запускается самой Альфа-Авто. Но бывают случаи не все пользователи сами выходят, бывают "спящие". Приходится использовать обработку АРМАдминистратор.БлакировкаСоединения, но она действует сразу на всех пользователей... А ТС нужно для каждого пользователя, тут надо свое что-то писать, подобное... если средствами 1С.
23 Nyarlathotep
 
24.05.21
11:59
В продолжении темы - существует ли способ сделать подписку на событие нужной любой формы - "При создании на сервере"?
24 acht
 
24.05.21
12:12
(23) Фигасе, "в продолжении темы"