![]() |
![]() |
![]() |
|
Как организовать принудительное отключение пользователей Ø |
☑ | ||
---|---|---|---|---|
0
sparur
15.04.05
✎
10:44
|
Знаю тема уже обсуждалась и думаю не раз, но практически везде предлагают заводлить константу. Но я где-то видел (щас найти не могу), что есть решение со спец справочником, который к тому же может хранить данные о входе\выходе юзеров, ну что-то типа монитора с историей...
Разъясните плиз еще разок, очень буду благодарен |
|||
1
ruslan384
15.04.05
✎
11:10
|
я сделал в справочнике Пользователи графу ВЫКИНУТЬ и ставлю туда ДА при необходимости
|
|||
2
sparur
15.04.05
✎
11:13
|
а структуру справочника можно привести? и где проверяется этот реквизит (ВЫКИНУТЬ)?
|
|||
3
ruslan384
15.04.05
✎
11:20
|
1)Справочник уже должен быть
2)В глобальном модуле: ОбработкаОжидания("ОпросСостоянияСистемы",30); Процедура ОпросСостоянияСистемы() Спр = СоздатьОбъект("Справочник.Пользователи"); Если Спр.НайтиПоКоду(глПользователь.Код)=1 Тогда Если спр.Удалить=Перечисление.ДаНет.Да Тогда спр.Удалить=Перечисление.ДаНет.Нет; спр.Записать(); ЗавершитьРаботуСистемы(1); КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
4
КонецЦикла
15.04.05
✎
11:22
|
Да можно и без справочников... вот как закрыть, если модальное окно, например, открыто? Может на proclub.ru есть что-то...
|
|||
5
sparur
15.04.05
✎
11:41
|
что за модальное окно и какие проблемы с ним?
|
|||
6
Lexusss
15.04.05
✎
11:48
|
||||
7
Naumov
15.04.05
✎
11:55
|
Проще всего выдернуть сетевой кабель из сервера, или Reset нажать...
|
|||
8
КонецЦикла
15.04.05
✎
11:58
|
2(5) Ну, обычно делают через ОбработкаОжидания(), которая проверяет наличие файла или еще чего-то... если что-то есть - то завершаем работу.. а тут получится облом... надо другими ср-вами...
|
|||
9
Gav
15.04.05
✎
12:01
|
Если SQL, делаем хранимую процедуру. При необходимости ее запускаем ,из чего угодно.
|
|||
10
Fynjy
15.04.05
✎
12:12
|
WSH и админские права ... И делай в сетки шо хош :)
|
|||
11
mikeA
15.04.05
✎
12:53
|
(4) говорят в последней версии 1С++ можно и модальное
|
|||
12
KoliFan
15.04.05
✎
13:39
|
При наличии модальных окон завершить работу системы из самой системы невозможно. Ди и не только при наличии модальных. Не все, даже немодальные, окна, порождаемые 1С, являются дочерними по отношению к ней.
Посему, на мой взгляд, единственное решение - это внешнее приложение, которое "грохает" систему в заранее заданное время или при заранее заданных условиях. Во всяком случае, у себя на работе я сделал именно так. |
|||
13
sdaf
15.04.05
✎
13:42
|
citrix - и никаких проблем
|
|||
14
Пим Сибирский
15.04.05
✎
14:14
|
13, адназначна
|
|||
15
sparur
15.04.05
✎
16:44
|
юзаю Цитрикс, а как там вот выкидывать пользователей не знаю. Вернее знаю как можно проследить кто использует какое приложениеи затем убивать сессию. но вот если один юзер сидит в 2-х, 3-х разных базах 1с-ки, а надо его выкинуть из одной определенной, то вот тут как Цитрикс может помочь?
|
|||
16
Viking
15.04.05
✎
16:53
|
Процедура Сформировать()
ScrptCtrl=СоздатьОбъект("MSScriptControl.ScriptControl"); ScrptCtrl.Language="vbscript"; ScrptCtrl.AddCode(" |Function ViolateComputer() | Set WMI = GetObject(""winmgmts:{(Shutdown,RemoteShutdown)}\\"+СокрЛП(ИмяКомпа)+"\Root\CIMV2"") | For Each OS In WMI.ExecQuery(""SELECT * FROM Win32_OperatingSystem"") | OS.Win32Shutdown("+Парам+") | Next |End Function |"); ScrptCtrl.Run("ViolateComputer"); КонецПроцедуры ИмяКомп - имя компа в сети парам - параметр... Log Off (Парам=4), Shutdown (Парам=5), Reboot (Парам=6) |
|||
17
Viking
15.04.05
✎
16:55
|
тоже самое для v8
---------- строку ScrptCtrl=СоздатьОбъект("MSScriptControl.ScriptControl"); меняем на ScrptCtrl = Новый COMОбъект("MSScriptControl.ScriptControl"); |
|||
18
Кочуров
15.04.05
✎
17:03
|
Ежели тебе нужно пользователей выкинуть и бэкап сделать: http://v7backup.narod.ru
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |