gifts2017

PowerOff_1C - Выкидывалка + отправка сообщений, предупреждений или вопросов..

Опубликовал ROM (ROM_1C) в раздел Администрирование - Системное

PowerOff_1C: Выкидывалка + отправка сообщений, предупреждений или вопросов..

Обработка выбрасывает пользователей из бухгалтерии...

А именно:

1) отображает активных и не активных пользователей;

2) завершает работу 1С с возможностью сохранять или не сохранять несохраненные данные любого из пользователей или всех одновременно;

3) послать перед завершением сообщение, вопрос, или предупреждение (также можно просто отослать без завершения работы) от имени любого пользователя 1С или произвольного "придуманного";

4) можно выключить, перезагрузить или сделать выход из системы компьютера, с которого подключены к базе (при работе с 1С по терминалу кнопки "выключить\перезагрузить" хотя бы одного пользователя - думаю все понимают, чем закончиться);

5) для "вредных бухгалтеров" можно отправлять команду или сообщение несколько раз (до 10);

Порядок установки в описании обработки!


Если немного дописать можно сделать чат, выключения пользователей по времени...

Жду плюсов и комментариев и чтобы еще здесь доделать!!!

 

29.01.2008 Добавлена русская версия PowerOff_1C. Большое спасибо за переклад на русский Халед!

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
PowerOff_1C версия 1.1(Рус)
.1233218555 195,00Kb
16.10.14
708
.1233218555 195,00Kb 708 Скачать
PowerOff_1C версия 1.1(укр)
.1232231445 180,50Kb
16.10.14
380
.1232231445 180,50Kb 380 Скачать
Описания_установки+Глобальные_процедуры
.1233218618 7,54Kb
16.10.14
366
.1233218618 7,54Kb 366 Скачать
Этот каталог положить в ExtForms
.1233221004 0,36Kb
16.10.14
352
.1233221004 0,36Kb 352 Скачать
PowerOff_1Cv1.1.rar - все вместе
.1233221255 46,84Kb
16.10.14
639
.1233221255 46,84Kb 639 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Андрей Нак (ANRI_962) 18.01.09 02:47
есть ошибки
файл_Т.Открыть(имя_файла_с_акт_польз);Неверное имя файла!
2. ROM (ROM_1C) 18.01.09 04:59
(1) не правильно установили...
1. имя файла задаетьса в самому низу глобальника.
2. Файл с таким именем нужто чтобы был в екстФормсах...
Прочтите внемательно инструкцию по установке...
3. ROM (ROM_1C) 19.01.09 14:18
Качают... а комментариев не вижу:((
4. Serg (eazy123) 22.01.09 03:26
более 90 человек скачало и не дает комментариев? это же хорошо! значит все правильно написал. ))
5. Валерий (aka AMIGO) 22.01.09 08:56
После команды выключения компа (вместе с моим :) ) список пользователей в актив_польз.rom не обновился/не обнулился.
потому в окне користувачы :) в статусе отмечен зеленым пользователь, которого уже нет в БД.
пришлось чистить этот файл.
PS/ что такое "Запит" ? "Запитання"?
6. Валерий (aka AMIGO) 22.01.09 09:25
+5 ROM, под "Тз" спрятана "Таблица [значений]" которая не используется в модуле.
Похоже, она не нужна, её можно выкинуть.
7. Константин (Fisherru) 22.01.09 09:59
Ээээ,
а нельзя ли русифицировать, а то не всё интуитивно понятно ?
8. AnSk (AnSk) 22.01.09 10:21
Запит - Запрос
Запитання - Вопрос
aka AMIGO; +1 Ответить
9. ROM (ROM_1C) 22.01.09 13:40
(5) после выключения компа - выключился ваш... наверно вы работаете по терменале, а не по сети... посмотрю еще раз...
(6) а "Тз" спрятана по тому, что она первая.. а ТЗ з пользователями - вторая на форме..
если Тз стоит первая, то разворачивается на весь экран.. а вторая - нет!
вот и потому и не использую первою...
10. Vadik (Vadik) 22.01.09 13:50
а где же само описание установки?
11. ROM (ROM_1C) 22.01.09 13:57
(10) в описании обработки....
12. Vadik (Vadik) 22.01.09 13:59
Странно... но я почему-то не вижу описания обработки... скачивается только сама обработка...
13. ROM (ROM_1C) 22.01.09 14:07
Выкладываю сюда..

Обработка виключения - завенршения работи


установка
1)
в глобальному модулю на самом верху вчтавляем

Перем имя_файла_с_акт_польз Экспорт;
Перем имя_файла_с_Викл_польз Экспорт;
Перем ТекущееКоличествоОбращений Экспорт;
//*****приберайм после себя в файлах
Процедура ЗавершенияРаботи_РОМ(режимВихода)
Если режимВихода=2 Тогда
файл_Т = СоздатьОбъект("Текст");
файл_Т.Открыть(имя_файла_с_акт_польз);
Если файл_Т.КоличествоСтрок() <>0 Тогда
Для квоСтрок=1 По файл_Т.КоличествоСтрок() Цикл
пользовСфайла = СокрЛП(файл_Т.ПолучитьСтроку(квоСтрок));
Если пользовСфайла <> ИмяПользователя() Тогда
квоСтрок=квоСтрок+1;
Продолжить;
КонецЕсли;
файл_Т.УдалитьСтроку(квоСтрок);
КонецЦикла;
КонецЕсли;
файл_Т.Записать(имя_файла_с_акт_польз);
КонецЕсли;
файл_З = СоздатьОбъект("Текст");
файл_З.Открыть(имя_файла_с_Викл_польз);
Если файл_З.КоличествоСтрок() <>0 Тогда
Для квоСтрок=1 По файл_З.КоличествоСтрок() Цикл
стр_с_файла = СокрЛП(файл_З.ПолучитьСтроку(квоСтрок));
пользовСФайла = Лев(стр_с_файла,Найти(стр_с_файла,"***")-1);
Если пользовСфайла <> ИмяПользователя() Тогда
квоСтрок=квоСтрок+1;
Продолжить;
КонецЕсли;
файл_З.УдалитьСтроку(квоСтрок);
КонецЦикла;
КонецЕсли;
файл_З.Записать(имя_файла_с_Викл_польз);
КонецПроцедуры
Процедура ЧтоСделатьСюзвером_Ром(статусОтключения,ФлагСохранения,Парам,КолОбращений,сообщение,ТекстСообщения,отКого)
// в файлі компнд перша цифра 1, - виключаємо 1С; 2 - доступ до 1С ,3 - повідомлення
// цифла №2 = 1 - запитуємо зберегти не збереженні документи, 0 - не запитуємо;
//цифла №3 = пераметр з компом - 4 - вихід з коритувача, 5 - виключити, 6 - ребут
//цифла №4 = кількість раз може надсилатись повідомлення чи запит на виключення
//цифла №5 = вид повідомлення 1 - "сообщить"; 2 - "предупредить"; 3 - Вопрос
ТекущееКоличествоОбращений=ТекущееКоличествоОбращений+1;
Если статусОтключения="1" Тогда
ЗавершитьРаботуСистемы(ФлагСохранения);
ИначеЕсли статусОтключения="2" Тогда
//*** парам = 4 -виход ; 5 - викл; 6 - ребут;
Попытка
ЗавершенияРаботи_РОМ(1);
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");


Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;

КонецЕсли;
/// модуль доставки повідомлення
Если сообщение= "1" Тогда
Сообщить("<Повідомлення від "+ отКого+ " ["+ ТекущееВремя()+ "]"+"> "+ ТекстСообщения,"!!");
ИначеЕсли сообщение="2" Тогда
Предупреждение(ТекстСообщения,20);
Сообщить("<Попередження від " + отКого+" ["+ ТекущееВремя()+ "]"+"> "+ТекстСообщения,"!!!");
ИначеЕсли сообщение="3" Тогда
Если Вопрос(ТекстСообщения,4,20)=6 Тогда
Сообщить("<Запитання до Вас від " + отКого +" ["+ ТекущееВремя()+ "]"+ "> "+ТекстСообщения,"!");
Сообщить("Ви відповіли " + "Так");
Иначе
Сообщить("<Запитання до Вас від " + отКого +" ["+ ТекущееВремя()+ "]"+ "> "+ТекстСообщения,"!");
Сообщить("Ви відповіли " + "Ні");
КонецЕсли;
КонецЕсли;
Если ТекущееКоличествоОбращений >= Число(КолОбращений) Тогда
ТекущееКоличествоОбращений=0;
ЗавершенияРаботи_РОМ(1);
КонецЕсли;
КонецПроцедуры

//*********************************
Процедура НачалоРаботи_Ром()
файл_Т = СоздатьОбъект("Текст");
файл_Т.Открыть(имя_файла_с_акт_польз);
Если файл_Т.КоличествоСтрок() <>0 Тогда
//проверка на всяк випадок глюканого завершення роботи системи....
Для квоСтрок=1 По файл_Т.КоличествоСтрок() Цикл
пользовСфайла = файл_Т.ПолучитьСтроку(квоСтрок);
Если пользовСфайла <> ИмяПользователя() Тогда
квоСтрок=квоСтрок+1;
Продолжить;
Иначе
файл_Т.УдалитьСтроку(квоСтрок);
квоСтрок=квоСтрок+1;
КонецЕсли;
КонецЦикла;
КонецЕсли;
файл_Т.ДобавитьСтроку(ИмяПользователя()) ;
файл_Т.Записать(имя_файла_с_акт_польз);
КонецПроцедуры
Процедура ОтключитьПользоватлей_Ром()
файл_В = СоздатьОбъект("Текст");
Попытка
файл_В.Открыть(имя_файла_с_Викл_польз);
Исключение
КонецПопытки;
Для КолСтр=1 По файл_В.КоличествоСтрок() Цикл
стр_с_файла=СокрЛП(файл_В.ПолучитьСтроку(КолСтр));
пользовСФайла = Лев(стр_с_файла,Найти(стр_с_файла,"***")-1);
статусОтключения = Лев(Сред(стр_с_файла,Найти(стр_с_файла,"***")+3),1);
флагСохранения = Прав(Лев(Сред(стр_с_файла,Найти(стр_с_файла,"***")+3),2),1);
ЧтоСКопДелаем = Прав(Лев(Сред(стр_с_файла,Найти(стр_с_файла,"***")+3),3),1);
КолОбращений = Прав(Лев(Сред(стр_с_файла,Найти(стр_с_файла,"***")+3),4),1);
сообщение = Прав(Лев(Сред(стр_с_файла,Найти(стр_с_файла,"***")+3),5),1);
ТекстСообщения = Лев(Сред(стр_с_файла,Найти(стр_с_файла,"|")+1),1000);
отКого = Сред(стр_с_файла,Найти(стр_с_файла,"\")+1,Найти(стр_с_файла,"|")-Найти(стр_с_файла,"\")-1);
Если (СокрЛП(пользовСФайла) = ИмяПользователя()) Тогда
ЧтоСделатьСюзвером_Ром(статусОтключения,флагСохранения,ЧтоСКопДелаем,КолОбращений,сообщение,ТекстСообщения,отКого);
Прервать;
КонецЕсли;
КонецЦикла;
КонецПроцедуры






2)
Процедура ПриЗавершенииРаботыСистемы()
****************
***
***
СделатьЗавершения_Ром=1;
Если Вопрос("Вы действительно хотите выйти из программы?",4,10) =7 Тогда
СделатьЗавершения_Ром=0;
СтатусВозврата(0);
КонецЕсли;
Если СделатьЗавершения_Ром=1 Тогда
ЗавершенияРаботи_РОМ(2);
КонецЕсли;

КонецПроцедуры




3)

Процедура ПриНачалеРаботыСистемы()

***************
****
**

НачалоРаботи_Ром();
ОбработкаОжидания("ОтключитьПользоватлей_Ром",5);
КонецПроцедуры


4)
и в самом конце глобальника

имя_файла_с_Викл_польз = КаталогИБ()+"ExtForms/управления_пользователями_Ром/"+"выкл_польз.rom";
имя_файла_с_акт_польз = КаталогИБ()+"ExtForms/управления_пользователями_Ром/"+"актив_польз.rom";
ТекущееКоличествоОбращений=0;

5) Каталог управления_пользователями_Ром положить в КаталогИБ()+"ExtForms;


14. Vadik (Vadik) 22.01.09 14:08
15. ROM (ROM_1C) 22.01.09 14:10
Прошу описания глюков и предложений по разработке.. заранье благодарен..
16. Валерий (aka AMIGO) 22.01.09 14:15
Спасибо, ROM! успехов тебе :)
17. Vadik (Vadik) 22.01.09 14:21
м все таки было бы не плохо, перевести на русский все, а так очень полезная обработочка
18. Валерий (aka AMIGO) 22.01.09 14:31
(14) Установка в закладке "Описание":
http://s40.radikal.ru/i089/0901/a6/98140eedcf36.jpg

ROM: вот про эту Таблицу я говорил:
http://s56.radikal.ru/i153/0901/2e/3eb6e3e23bce.jpg
19. ROM (ROM_1C) 22.01.09 14:33
(17)на днях переведу на русский.. а кому не терпится - используйтесь, например http://pereklad.online.ua/
20. ROM (ROM_1C) 22.01.09 14:36
(18)
aka AMIGO, эта Тз - навидима.. ее можно и удалить.. а нужна для того, чтобы втора я не развертувалась на весь экран!
21. Михаил Семенов (Shaman100M) 28.01.09 08:37
(20) В свойствах формы для этого снимается галочка.
22. ROM (ROM_1C) 28.01.09 10:08
23. Халед (Khaled) 28.01.09 17:17
Я уже сделал русский вариант + рус. редми. Жду отклика от автора.
24. ROM (ROM_1C) 28.01.09 18:53
Khaled, спасибо!
За несколько дней выложу оновленую версию с большими возможностями (такие как "надоедать бухгалтеру за неоплачевану работу ", и прочее....)
ждите!
25. Балагина Эльвира (asterisk) 05.02.09 15:31
строку 35 Если Тз.Вибрать = 4 Тогда
заменить на Если Тз.Выбрать = 4 Тогда
Спасибо обработка очень полезна
26. ROM (ROM_1C) 05.02.09 17:08
asterisk, ошибки при переводе! недосмотрели! исправил!
27. Саня Пупкин (pupkinSana) 11.02.09 08:09
Интересно, а если нельзя отключать компьютер юзверя, а у него в окне 1С светится модальное окно? Все пропало? так и будет висеть?
28. ROM (ROM_1C) 11.02.09 10:47
pupkinSana, такие случаи не часто бывают... но бывают...
используйте кнопку выключения компютера!!! пусть знают....
29. saleg (saleg_20) 26.02.09 10:55
30. saleg (saleg_20) 26.02.09 10:57
31. Николай (NikM) 03.03.09 12:42
Ещё бы базу блокировать ;)
32. ROM (ROM_1C) 03.03.09 14:44
(31) а монопольной режим для чего?
33. Николай (NikM) 03.03.09 15:45
(32) Ну например, выгнал всех из базы, запустил конфигуратор, но не успел нажать на кнопку выгрузки, а кто-то опять зашел. Ежели народу много - я тупо подключения к серваку запрещаю. Но это же на все базы действует.
34. Айрат (Craig) 15.07.09 09:16
(33) Выгнал всех из базы, тупо переименовал папочку и не кто не сможет подключиться на период твоего колдовства ;-) и другие базы целы. Примитивно, но эффективно
(0) А у меня к автору вопрос, а возможно такое реализовать без затрагивания глобального модуля!?

35. ROM (ROM_1C) 15.07.09 14:16
(34) только с использованием какойто внешней компонеты...
36. Дмитрий Новопашин (Hai4) 22.06.11 12:09
вашу машу, а в описании нельзя было пояснить, что там еще описание установки надо качать - а то с ИС 1 раз в сутки дает скачивать.
37. volamm (volamm) 14.07.11 17:49
Инструкция к установке в самом файле ert есть на вкладке "описание"
38. Вячеслав Кадацкий (marsohod) 26.08.11 15:27
Это даже не выгонялка, а вырубалка :)
злобные одмины одобряют :)
39. Алексей (aleksey51286) 21.09.11 10:41
40. ROM (ROM_1C) 21.09.11 11:08
(40) Все работает. Ищите у себя ошибку.
41. Сергей Мурзинов (Sergey_Murzinov) 04.10.11 23:11
Пользусь достаточно давно, удобная весчь
42. andyrk1 (andyrk1) 19.10.11 16:50
Спасибо, полезная обработка
43. Npoen Dzogchen (Dansur) 26.06.13 08:18
Чтото на терминале не работает. win2003 sp2 x32 xeon. права одминские.
44. vitunchik 28.08.13 10:19
Установил по инструкции,а пользователей вырубает только последняя кнопка справа и то с запросом
45. vitunchik 28.08.13 10:20
SWbemObjectEx: Общая ошибка на других кнопках выкидывает такую ошибку
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа