![]() |
![]() |
![]() |
|
Как выкинуть всех из базы без спроса? Ø |
☑ | ||
---|---|---|---|---|
0
HelpFinder
23.12.04
✎
14:36
|
ЗавершитьРаботуСистемы(0) работает только когда пользователь дал согласие на выход. а если я хоче без его ведома киллять их?
есть ли альтернатива? |
|||
1
ValeraVV
23.12.04
✎
14:38
|
Процедура ПриЗавершенииРаботыСистемы()
Тама подправь) |
|||
2
Ghost
23.12.04
✎
14:39
|
2(1)А ежели какой-нибудь чудак открыл окно идентификации и ушел, то это не поможет.
|
|||
3
Uho
23.12.04
✎
14:42
|
(0) Права на папку с базой снять...
|
|||
4
101
23.12.04
✎
14:42
|
отрубить 'шару'
|
|||
5
ValeraVV
23.12.04
✎
14:43
|
(2) ну а это уже другая, страшная, история
|
|||
6
Вадя
23.12.04
✎
14:43
|
Чудаков останется пара штук, остальные вылетят. Отцепишь ручками.
|
|||
8
Caligula
23.12.04
✎
16:21
|
(0) Объясните плиз, а как с пом. ЗавершитьРаботуСистемы(0) откинуть пользователя?
|
|||
9
Ghost
23.12.04
✎
16:25
|
Если Константа.ОткинутьЮзера=1 Тогда
ЗавершениеРаботыСистемы(); КонецЕсли; |
|||
10
Caligula
23.12.04
✎
16:35
|
(9) ну если на пальцах ... если мне нужно выкинуть юзеров с базы, они должны по команде дружно запустить обработку, в которой строчка ЗавершениеРаботыСистемы(); и выкинутся??
|
|||
11
MMF
23.12.04
✎
16:36
|
(9) вот наглядный пример причины вопроса "почему моих юзверей комп спрашивает Повторить Транзакцию"
|
|||
12
ValeraVV
23.12.04
✎
16:37
|
(10) LOL. Ну а как же по другому.
Хотя можно еще применить шаманство. |
|||
13
maxanp
23.12.04
✎
16:38
|
В ОбработкуОжидания ставишь проверку константы, только не забудь отключить проверку у админа, а то не исправишь потом эту константу
|
|||
14
PS
23.12.04
✎
16:40
|
А
Если Юзер.Откинулся()=0 Тогда Че делать:)))) |
|||
15
Caligula
23.12.04
✎
16:40
|
(11)(12) Я чет не понял ... речь идет о том, как отрубить народ от базы, если админу например нуно монопольно войти??
|
|||
16
maxanp
23.12.04
✎
16:41
|
13 к 10
|
|||
17
uri
23.12.04
✎
16:45
|
Если Юзер.Откинулся()=0 Тогда
Че делать:)))) Иначе |
|||
18
Ghost
23.12.04
✎
16:46
|
2(11)Я ЧИТАЮ значение константы, так что расслабся =))).
|
|||
19
DBegunkov
23.12.04
✎
16:52
|
Вместо константы удобнее использовать файл с определенным именем, например: всем_выйти.flg. А в Процедуре, назначенной процедурой ОбрабокаОжидания() написать Если ФС.ФайлСуществует(КаталогИБ()+"всем_выйти.flg") Тогда ЗавершитьРаботуСистемы(0) КонецЕсли;
|
|||
20
Туxлый
23.12.04
✎
16:54
|
||||
21
SergMit
23.12.04
✎
17:04
|
Звонишь главбуху и просишь, чтобы все вышли из "бухгалтерии". Только потом, когда обновишь все, не забудь снова позвонить и разрешить, а то так и будут в коридоре толпиться...;-) http://1c.realnet.ru/kuban/140509.html
|
|||
22
Мулька
23.12.04
✎
17:05
|
Да уж.
|
|||
23
MikaZX
23.12.04
✎
17:24
|
(21) из бухгалтерии-то они выйдут, а прогу могут и не закрыть. :)
|
|||
24
DeiMos
23.12.04
✎
17:52
|
Процедура ВыбросПользователя()
Польз = СоздатьОбъект("Справочник.Пользователи"); Если Польз.НайтиПоКоду(СОКРЛП(ИмяПользователя()),0) = 1 Тогда Если Польз.Выброс=1 Тогда Польз.Выброс=0; Польз.Записать(); ЗавершитьРаботуСистемы(0); КонецЕсли; Иначе ЗавершитьРаботуСистемы(0); КонецЕсли; КонецПроцедуры // ВыбросПользователя ОбработкаОжидания("ВыбросПользователя",5); |
|||
25
Caligula
24.12.04
✎
09:21
|
||||
26
Мулька
24.12.04
✎
09:27
|
Еще раз да уж. Через обработку ожидания - имхо, самый неудачный оператор в 1С.
|
|||
27
Agat
24.12.04
✎
09:29
|
Кординально - RESET...
|
|||
28
DBegunkov
24.12.04
✎
09:45
|
(26)
А есть еще варианты, кроме ОбработкиОжидания? Если не использовать ВК, конечно... |
|||
29
Caligula
24.12.04
✎
10:02
|
(26) а конкретные доводы?
|
|||
30
Sure2
24.12.04
✎
10:24
|
Если 1С для SQL, то можно выбросить средствами SQL:
http://1c.proclub.ru/modules/mydownloads/personal.php?cid=5&lid=4188 |
|||
31
WAR
24.12.04
✎
12:02
|
2(all) Интересно! А я вот так у себя выгоняю юзверьков:
Процедура СбросЮзверьков() Если НазваниеНабораПрав() <> "Администратор" Тогда ЗавершитьРаботуСистемы(0); Иначе Константа.ВремяСброса = ""; Стр = " /FI ""USERNAME ne " + ИмяКомпьютера() + "<ИмяПрогера1>""" + " /FI ""USERNAME ne " + ИмяКомпьютера() + "<ИмяПрогера2>"" /T /F"; КомандаСистемы("TaskKill /IM 1cv7.exe" + Стр); КомандаСистемы("TaskKill /IM 1cv7s.exe" + Стр); КонецЕсли; КонецПроцедуры Процедуру СбросЮзверьков() надо использовать с ОбработкойОжидания. Выкидывает всех, кроме 2х прогеров. Да, время выброса задается константой ВремяСброса, а в процедуру ПриЗаписиКонстанты я написал рассылку всем сообщения о том что надо выйти (но мой способ хорош для терминалки). Процедура ПриЗаписиКонстанты(ИмяКонст,ЗначКонст) Если ИмяКонст = "ВремяСброса" Тогда Если ПустоеЗначение(ЗначКонст) = 0 Тогда Если СтрДлина(ЗначКонст) < 4 Тогда ЗначКонст = ""; Возврат; КонецЕсли; Если Число(ЗначКонст) > 2359 Тогда ЗначКонст = "0000"; КонецЕсли; Если Число(Прав(ЗначКонст,2)) > 59 Тогда ЗначКонст = Лев(ЗначКонст,2) + "59"; КонецЕсли; КомандаСистемы("Start Msg * Господа, в " + Лев(ЗначКонст,2) + ":" + Прав(ЗначКонст,2) + " будет выполнено отключение всех пользователей!!! " + "Пожалуйста закончите к этому времени все текущие дела. Донесите эту информацию до всех сотрудников" + " из вашего отдела. Отдел ИВТ."); КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
32
Caligula
24.12.04
✎
18:28
|
Все работает, ток значение в справочнике на 1 не позвращается :-(
глПользователь.РазрешитьРаботу = 1; // то бишь спрПольз.Записать(); не рабо // эта хрень не работает почему? // ---------------- спрПольз = СоздатьОбъект("Справочник.Пользователи"); Если спрПольз.НайтиЭлемент(глПользователь) = 1 Тогда глПользователь = СпрПольз.ТекущийЭлемент(); Если глПользователь.РазрешитьРаботу = 0 Тогда глПользователь.РазрешитьРаботу = 1; спрПольз.Записать(); Сигнал(); Сигнал(); Сигнал(); Предупреждение("Вы ща будете вырублены нах...", 10); ЗавершитьРаботусистемы(); КонецЕсли; КонецЕсли; |
|||
33
DeiMos
24.12.04
✎
18:45
|
Если глПользователь.РазрешитьРаботу = 0 Тогда
СпрПольз.РазрешитьРаботу = 1; Ы? |
|||
34
Caligula
24.12.04
✎
18:49
|
Вопросик возник ... какой оператор в 1с-ке делает задержку?
|
|||
35
Caligula
24.12.04
✎
18:54
|
up
|
|||
36
Тупой 1Assник
24.12.04
✎
19:27
|
вот например =)))
Сч=0; Пока Сч<>1000000 Цикл Сч=Сч+1; КонецЦикла; |
|||
37
Caligula
24.12.04
✎
20:08
|
(36) ага, а юзер сможет в этот момент чем-нить заниматься?
|
|||
38
ValeraVV
24.12.04
✎
20:19
|
(37) чем нибудь сможет)))))
|
|||
39
Caligula
25.12.04
✎
13:13
|
(38) Предупреждение("Сходи чайку попей", 10);
|
|||
40
Chai Nic
25.12.04
✎
16:21
|
Все просто несерьезно. Если юзер заблокировал интерфейс и у него висит окно ввода пароля - то ОбработкаОжидания не выполняется. То же самое, если висит системное модальное окно (параметры принтера, диалог сохранения и прочее). Наконец, юзер может формировать длительный отчет, что тоже приведет к невозможности "выкинуть" его. Или окно транзации (повторить/отменить)... Кажется, 1с совершенно не думал об удобстве _администрирования_ :(
|
|||
41
VZ
25.12.04
✎
16:39
|
Гоподяяя... Развезли-то... Все просто до безобразия: просишь любым доступным методрм (net send, телефон, лично... ) выйти из базы. И выйти из базы у тех, кто отлучился. Потом смотришь, кто не вышел, запоминаешь. Отрубаешь их админскими средствами. Делаешь свое дело, потом запускаешь полную проверку конфигурации с переиндексацией + пересчетпми итогов. На возмущенные вопли спокойно отвечаешь, что поскольку ты был ВЫНУЖДЕН нештатно прекратить сеанс таких-то (фамилии громко и внятно), просто обязан провести проверку базы, дабы чего-плохого не было.
В следующий раз этой проблемы не будет. |
|||
42
OVG
25.12.04
✎
16:58
|
(41) Во!!! Именно!!!
net send 'ВсеБухи' 'Выйти всем нах из базы в течении 5 минут!!! ' Через 5 минут рестарт SQL сервера или снятие шары на каталог БД. Всё протоколируется и несется к главбуху/гендиру. Кто не вышел - то я не виноват типа :) А дальше административными средствами (в смысле средствами администрации компании). Пару раз по шапке получат - научатся. |
|||
43
Очкарик
25.12.04
✎
18:45
|
v7backup решит проблему полностью.
киляет процессы выбрасывает юзеров и еще backup делать умеет.. |
|||
44
DRB
25.12.04
✎
20:55
|
(41) ну зачем? зачем ты так сдался - пусть бы пообсуждали :-)
|
|||
45
romix
26.12.04
✎
06:26
|
Если юзеров выгоняют из базы, чтобы поправить текстовичок или форму, то это неправильно.
Есть компонента ActiveMD, которая позволяет обновлять тексты и формы "на ходу", безо всяких #ЗагрузитьИзФайла. А структуру базы менять нужно без юзеров, т.к. процесс может затянуться, к примеру, часика на 2. |
|||
46
trdm
26.12.04
✎
13:35
|
1CAdd105.exe - выкидывает пользователей из базы даже если он блокировал систему "ключиком", не говоря уже о модальных диалогах.....
причем вроде как корректно.... старая проверенная вещь.... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |