Вход | Регистрация
 

Завершение работы если в течение определенного времени пользователь не совершал действий

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


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.