![]() |
![]() |
![]() |
|
ЗаблокироватьРаботуПользователя(). Как проверить, заблокирована ли работа пользовател | ☑ | ||
---|---|---|---|---|
0
Phenomen
24.11.09
✎
13:19
|
Сабж
|
|||
1
Prikum
24.11.09
✎
13:20
|
Спросить у него?
|
|||
2
Phenomen
24.11.09
✎
13:24
|
А ты шутник...
Проблема в том, что база блокирует юзвера при его бездействии в течении 10 минут Если юзвер нифига не делал в базе 20 минут, то для разблокировки требуется 2 раза ввести пароль, 30 минут - 3 раза... |
|||
3
Serg_1960
24.11.09
✎
13:29
|
А ты тоже шутник... "...база блокирует юзвера при его бездействии..." - это где так? Точнее, - кто так лихо закрутил?
|
|||
4
hhhh
24.11.09
✎
13:29
|
(2) если база заблокировала юзверя, то она об этом знает. Зачем ещё раз проверять?
|
|||
5
Prikum
24.11.09
✎
13:29
|
Я всего лишь ответил на вопрос "Как проверить, заблокирована ли работа ползовател"
|
|||
6
Phenomen
24.11.09
✎
13:30
|
Я закрутил, была необходимость блокировки.
|
|||
7
Prikum
24.11.09
✎
13:31
|
Ну тепрь открути! Мы же не знаем, что ты там накрутил?
|
|||
8
Phenomen
24.11.09
✎
13:31
|
(7) А ответ на вопрос можно?
|
|||
9
Prikum
24.11.09
✎
13:32
|
Код приведи!
|
|||
10
Darky
24.11.09
✎
13:33
|
ты же как-то определяешь, что юзер не работал 10 мин. в базе и ставишь блокировку. Соотв-но, если юзер не работал 11 мин. то база уже заблокирована
|
|||
11
hhhh
24.11.09
✎
13:33
|
(8)
ЗаблокироватьРаботуПользователя (LockApplication) Синтаксис: ЗаблокироватьРаботуПользователя() Описание: Блокирует работу пользователя, минимизирует окно 1С:Предприятия и выводит диалог авторизации. Продолжение работы возможно только после ввода пароля. |
|||
12
Phenomen
24.11.09
✎
13:33
|
(7) Разжую сабж. Програмно сделана функция блокировки при бездействии. Как _программно_ проверять, заблокирован ли пользователь
Процедура ПроверитьПростойВРаботеПользователя() Экспорт Действие = Константы.ДействиеПриПростое.Получить(); Если Действие.Пустая() Тогда Возврат; КонецЕсли; Блокиратор=Обработки.Блокиратор.Создать(); ВремяПростоя = Блокиратор.ПолучитьВремяПростоя() / 1000; // в секундах МаксВремяПростоя = Константы.ВремяПростоя.Получить(); ПревышениеОбработано = ПараметрыСеанса.ПревышениеОбработано; Если ВремяПростоя > МаксВремяПростоя Тогда Если Не ПревышениеОбработано Тогда ОбработатьПревышениеВремениПростоя(Действие); КонецЕсли; Иначе ПараметрыСеанса.ПревышениеОбработано = Ложь; КонецЕсли; КонецПроцедуры Процедура ОбработатьПревышениеВремениПростоя(Действие) ПараметрыСеанса.ПревышениеОбработано=Истина; Если Действие=Перечисления.ВидыДействийПриПростое.ЗаблокироватьСеанс1С Тогда ЗаписьЖурналаРегистрации("Заблокирована работа пользователя", УровеньЖурналаРегистрации.Предупреждение, , , "Простой в работе"); ЗаблокироватьРаботуПользователя(); ИначеЕсли Действие=Перечисления.ВидыДействийПриПростое.ЗаблокироватьСеансWindows Тогда //ЗапуститьПриложение("rundll32.exe user32.dll,LockWorkStation"); ИначеЕсли Действие=Перечисления.ВидыДействийПриПростое.ЗавершитьРаботу1С Тогда ЗаписьЖурналаРегистрации("Завершение работы пользователя", УровеньЖурналаРегистрации.Предупреждение, , , "Простой в работе"); ЗавершитьРаботуСистемы(Ложь); ИначеЕсли Действие=Перечисления.ВидыДействийПриПростое.ЗавершитьРаботуWindows Тогда //ЗапуститьПриложение("shutdown -s"); КонецЕсли; КонецПроцедуры |
|||
13
Phenomen
24.11.09
✎
13:35
|
(11) это ответ не на тот вопрос
|
|||
14
Serg_1960
24.11.09
✎
13:35
|
(8) Ответ: никак. В платформе нет функционала для проверки. Сам закрутил - сам и выкручивайся как хочешь. Ну например добавить что-ли в базу регистр сведений для регистрации состояния пользователя...
|
|||
15
Fragster
гуру
24.11.09
✎
13:35
|
(0) баян!
ЗаблокироватьРаботуПользователя(); Сообщить("Наконец-то разблокировался!"); |
|||
16
Darky
24.11.09
✎
13:35
|
(13) что скажешь на (10) ?
|
|||
17
Fragster
гуру
24.11.09
✎
13:36
|
ну, или модифицируя (14):
УстановитьПометкуОБлокировке(); ЗаблокироватьРаботуПользователя(); СнятьПометкуОБлокировке(); |
|||
18
Phenomen
24.11.09
✎
13:37
|
(16) скажу что не канает, потому что проверка на бездействие происходит раз в 5 минут.
Можно, конечно, поиграццо со временем... но должно быть что-нить попроще |
|||
19
Phenomen
24.11.09
✎
13:38
|
(15) Перечитай вопрос
|
|||
20
Phenomen
24.11.09
✎
13:38
|
(14) награмождение
|
|||
21
Fragster
гуру
24.11.09
✎
13:38
|
(19) -> (17)
|
|||
22
Fragster
гуру
24.11.09
✎
13:39
|
(21) пометку ставишь куда хочешь - в РС, в файл на диске, посылаешь сообщение на веб-сервер, пофигу
|
|||
23
Prikum
24.11.09
✎
13:39
|
Я так понимаю, что 3 раза вызываешь блокировку? Может быть сделать проверку на то, что пользователь уже заблокирован?
|
|||
24
Phenomen
24.11.09
✎
13:41
|
(23) В этом и вопрос, как сделать эту проверку
Через регистр сведений - не интересно Через параметры сеанса - еще можно подумать.. но тоже не очень интересно |
|||
25
Serg_1960
24.11.09
✎
13:42
|
А если в параметры сеанса вбить тригер блокировки? Автора устроит?
|
|||
26
hhhh
24.11.09
✎
13:42
|
(22) ну она ведь не перейдет на следующую команду, пока пользователь на наберет пароль. Как-то через фоновые задания надо.
|
|||
27
Phenomen
24.11.09
✎
13:43
|
(14) если есть функционал блокировки, то теоритически должны быть функции для работы с ним
|
|||
28
Phenomen
24.11.09
✎
13:44
|
(25) -> (24)
|
|||
29
Phenomen
24.11.09
✎
13:44
|
(26) почему это не перейдет? перебежит еще как
|
|||
30
Fragster
гуру
24.11.09
✎
13:44
|
(26) в этом и смысл - мы ставим пометку, блокируем. пометка сама снимется при вводе пароля.
|
|||
31
Fragster
гуру
24.11.09
✎
13:45
|
(29) пробовал?
|
|||
32
hhhh
24.11.09
✎
13:45
|
(29) ну я вот попробовал в отладчике, у меня не перебежала.
|
|||
33
Phenomen
24.11.09
✎
13:47
|
(31) не особо
(32) а ПодключитьОбработчикОжидания() срабывает на ура... Идей кроме параметров сеанса и игры со временем нет? |
|||
34
hhhh
24.11.09
✎
13:50
|
(33) ты просто физически не сможешь снять блокировку. Смотри (11). Поэтому забей на эту команду и сделай блокировку своими средствами.
|
|||
35
Fragster
гуру
24.11.09
✎
13:52
|
(33) если тебе для нового запуска таймера -
ОтключитьОбработчикОжидания() ЗаблокироватьРаботуПользователя() ПодключитьОбработчикОжидания() |
|||
36
Serg_1960
24.11.09
✎
13:56
|
(33) Есть. Предупреждать пользователя о блокировке изменяя заголовок системы :)
PS: обсуждали и не раз "Что есть бездействие...". Мнения расходятся. Магагер получил выборку с ценами и обсуждает по телефону с клиентом. А тут ты, как чёртик из табакерки, со своей блокировкой... |
|||
37
Phenomen
24.11.09
✎
13:56
|
(34) Проблема в том, что мне не надо снимать блокировку, мне надо проверять, уже заблокирована работа пользователя или нет
(35) Хм... антиресненько... сейчас попробую |
|||
38
Phenomen
24.11.09
✎
14:04
|
(35) Работает, спс
(36) Лучше пусть пусть очередно |
|||
39
Phenomen
24.11.09
✎
14:05
|
(36) Лучше пусть очередной раз введен пароль, чем под его паролем кто-нить уведен пару коробок передач налево...
|
|||
40
Fragster
гуру
24.11.09
✎
14:08
|
(39) один раз сделайте как в OFF: Это ж как надо достать людей... пост № 4 - и все, никто ничего забывать не будет
|
|||
41
Phenomen
24.11.09
✎
14:10
|
(40) Учили, лечили.. приходит новенький и ппц
Всем спасибо |
|||
42
СноваЗдорова
24.11.09
✎
14:15
|
При такой манере общения стоит радоваться что вообще ответы получал.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |