Выгонялка.

21.04.10

База данных - Инструменты администратора БД

Часто сталкиваюсь с проблемой: просишь пользователей выйти из базы, а они не слушаются!  Для этого написала такую вот выгонялку.
Процедура ЗакрытьПрогу()
 Если Константа.Выгнать = 1 тогда

      Если НазваниеНабораПрав() <> "Администратор" тогда
              ЗавершитьРаботуСистемы(0)

      КонецЕсли
 КонецЕсли
КонецПроцедуры

 

Процедура ПриНачалеРаботыСистемы()
 
 ОбработкаОжидания("ЗакрытьПрогу",60);  // 60 - секунды

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

См. также

Инструменты администратора БД Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Простецкий скрипт переименования файлов в папке в нижний регистр, будет полезен программистам и системным администраторам имеющим навыки програмирования в 1С. Можно легко настроить под себя, спасает мне периодически час времени, может, кому еще будет полезен.

1 стартмани

18.02.2022    4011    0    igor7777    6    

2

Инструменты администратора БД Программист Пользователь Оперативный учет 7.7 1С:Торговля и склад 7.7 Управленческий учет Абонемент ($m)

Боремся с бардаком. Работы в прошлых датах запрещены. Непроведенные документы (по разным причинам) - автоматом переносятся в начало текущего дня при запуске любого первого сеанса 1С в текущем дне. Задержка старта 1С - практически незначима. Не требует настройки, не требует допрограммирования (исключая один оператор вставки в процедуру старта системы). Можно обработку выполнять вручную с любой периодичностью.

2 стартмани

25.05.2020    5875    2    CheBurator    3    

2

Журнал регистрации Инструменты администратора БД Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Бесплатно (free)

Рассмотрим систему на базе Elasticsearch, Logstash и Kibana (ELK Stack) для анализа логов 1С Предприятие 7.7 с целью визуализации и анализа событий 1С.

22.01.2019    11556    phsin    20    

28

Инструменты администратора БД Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Скрипт позволяет выполнить объединение конфигураций и реструктуризацию из командной строки. Объединение выполняется штатными средствами конфигуратора 1С 7.7, взаимодействие с которым происходит путем посылки нажатий клавиш. Пригодится, если есть необходимость обновить или постоянно обновлять множество ИБ.

1 стартмани

22.04.2017    15858    4    devlabnn    2    

6

Инструменты администратора БД Бухгалтер Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 Украина Бухгалтерский учет Абонемент ($m)

Перепроведение по счету для конфигурации Бухгалтерский учет для Украины, 1С: Предприятие 7.7

1 стартмани

23.09.2016    3851    1    Genyak    1    

0

Инструменты администратора БД Системный администратор Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Периодически сталкивался со следующими проблемами при печати в 1С: 7.7 работающей под терминалом: 1) После замены принтера на клиентской машине 1С пытается печатать на старый принтер. 2) Отсутствует предварительный просмотр при печати. 3) Не работает печать без предварительного просмотра (пакетная печать документов). 4) В некоторых формах печатает, в некоторых нет.

1 стартмани

09.06.2016    28035    19    tux    3    

1

Инструменты администратора БД Системный администратор Программист Платформа 1С v7.7 Платформа 1С v8.3 Бесплатно (free)

Часто бывает необходимо отслеживать состояние часто повторяющихся регламентных заданий. Например, синхронизация данных с IP-телефонией, которая может производиться каждую минуту, синхронизация с сайтами, синхронизация данных с различными системами. Использовать для этих целей логирование 1С чрезвычайно неэффективно и не удобно. В таких случаях удобно использовать подход, применяемый в Unix-системах: писать логи в обычные текстовые файлы, а потом делать их обработку через эффективно работающие Unix-команды: grep, tail, cat, less и т.п.

18.05.2016    37106    rudjuk    21    

34
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. cushe 5 21.04.10 11:10 Сейчас в теме
2. Трактор 1254 21.04.10 11:13 Сейчас в теме
Странно. Отправил комментарий, а он не появился :-(
Плюсую за оформление и содержательность изложения. Буду ссылаться как на образец.
Только перенумератор, пожалуйста, не публикуй. Ненадо.
3. Трактор 1254 21.04.10 11:16 Сейчас в теме
Глюки сайта. Убрал повтор.
4. w-divin 21.04.10 11:48 Сейчас в теме
более гуманно (выдернуто из системы сообщений, взятой на проклубе):
   Если ТекПользователь.ЗакрытьСистему=Перечисление.Булево.Да Тогда
        Если ТипЗначения(ФрмЗакрытьСистему)<>100 Тогда
            ОткрытьФорму("Обработка.ЗакрытьСистему",ФрмЗакрытьСистему);
        КонецЕсли;
        ФрмЗакрытьСистему.Форма.Обновить();
        Сигнал();
        
        ТекПользователь.ОсталосьСекунд=ТекПользователь.ОсталосьСекунд-5;
        ТекПользователь.Записать();
        
        Если ТекПользователь.ОсталосьСекунд<=0 Тогда 
            Для а=0 По 5000 Цикл
            КонецЦикла;
            
            ЗавершитьРаботуСистемы(0);
            Возврат;
        КонецЕсли;
        
    ИначеЕсли ТекПользователь.ЗакрытьСистему=Перечисление.Булево.Нет Тогда
        Если ТипЗначения(ФрмЗакрытьСистему)=100 Тогда
            ФрмЗакрытьСистему.Форма.Закрыть();
        КонецЕсли;
        ТекПользователь.ОсталосьСекунд=0;
        ТекПользователь.ЗакрытьСистему="";
        ФрмЗакрытьСистему=0;
        ТекПользователь.Записать();
    КонецЕсли;
Показать
7. Cvetic 307 21.04.10 14:39 Сейчас в теме
(4) я тоже прошу всех выдти, только по чату, на случай если 1С свернута.
(6) при открытых модальных оконах не работает :cry: при авторизации тем более.
5. kompas-dm 781 21.04.10 12:24 Сейчас в теме
6. Andzhej 21.04.10 12:56 Сейчас в теме
(0) как на счет открытых модальных окон и окон авторизации в 1С?
8. Ёпрст 1065 21.04.10 15:22 Сейчас в теме
9. venger 2124 21.04.10 17:57 Сейчас в теме
(8) Пора бунт поднимать;-)
10. Serj1C 483 22.04.10 07:11 Сейчас в теме
11. venger 2124 22.04.10 11:38 Сейчас в теме
(10) Минусуй, ибо -5 снимает публикацию, система то "саморегулирующаяся";-)
12. Cvetic 307 22.04.10 15:26 Сейчас в теме
13. Serj1C 483 23.04.10 07:00 Сейчас в теме
(12) А за что мы должны "Плюс" поставить??
14. Abadonna 3968 23.04.10 07:30 Сейчас в теме
(12)
за что минус?

Терпеть не могу дурацкую поговорку про велосипеды, поэтому сформулирую так: за очередное гениальное откровение новичка.
Кстати, ты еще, наверно, не в курсах: если юзверь после появления вопроса "Провести документ" уйдет курить минут на 40, то:
1. ОбработкаОжидания не отработает, ибо это (не пугайся!) taskmodal window
2. А даже если и отработает (формексовская отрабатывает, спасибо АЛьФу!), то не сработает ЗавершитьРаботуСистемы(0)
15. Abadonna 3968 23.04.10 07:35 Сейчас в теме
(0) +(14) Но минус ставить не буду, потому как любые попытки делать что-то творчески я только приветствую. Но и на плюс не тянет
17. Арчибальд 2709 23.04.10 07:49 Сейчас в теме
(15) Аналогично (с) Успенский
27. Ish_2 1112 25.04.10 09:28 Сейчас в теме
(15),(17) Может быть , первую публикацию автора как-то помечать особо ?
Скажем , цветным текстом "Первый блин !".
Что ни говори , а шкала оценок тут должна быть другая.
Если , конечно, ИС заинтересован в привлечении новых авторов - "хороших и разных".
28. Abadonna 3968 25.04.10 09:47 Сейчас в теме
(27) Может сделать раздел что-то вроде "Моя первая публикация"?
А потом модеры смогут переместить в уже "устоявшиеся" разделы. Или удалить...
29. Ish_2 1112 25.04.10 09:58 Сейчас в теме
(28) Может быть и так.
Правда , если проще обойтись простым техническим приёмом, то лучше им и обойтись.
В твоём варианте требуются некоторые организационные усилия - на ИС это ахиллесова пята.

P.S. Не уверен, что личка работает как надо. ishakk@mail.ru
35. sss999 48 28.04.10 09:06 Сейчас в теме
(27)(15)(9)(10)(11)(1)прошу вас господа оценить мою консоль запросов,если на 8.1 кодите то пригодится должно,(4)неплохо выдернул,а тебе Cvetic рекомендую в следущий раз добавлять некоторые фишки в код.)
16. Abadonna 3968 23.04.10 07:41 Сейчас в теме
И еще: путний проггер хотя бы за 30 секунд должен предупредить юзверей, что
"Программа будет закрыта, сохраните открытые документы!"
Иначе тебя какая-нибудь тётенька-бух может и прибить, если у нее строчек 20-50 дока пропадет свеженабитых ;)
18. Cvetic 307 23.04.10 08:15 Сейчас в теме
Abadonna, спасибо за разъяснения :)
20. Abadonna 3968 23.04.10 09:36 Сейчас в теме
(18) Вот смотри как на самом деле это совсем не просто:
Процедура  глТаймер() Экспорт     
	Если Константа.Убить1С>0 Тогда
		Стр=L.EnumMyNotChild();         
		Для А=1 По СтрКоличествоСтрок(Стр) Цикл  
			С=СтрПолучитьСтроку(Стр,А);   
			Если Найти(С,";#32770;")>0 Тогда  
				С=СтрЗаменить(С,";",РазделительСтрок);
				Хэндл=Число(СтрПолучитьСтроку(С,3));
				L.KillWnd(Хэндл);  // избавились от модальных, кроме Вопрос 
				L.PressButton(Хэндл,"&Нет"); //закрыли Вопрос - ответили "Нет"  
				L.SendEsc(L.h1C());  // примочили календарь из рабочей даты
			КонецЕсли;    
		КонецЦикла;
	КонецЕсли;
КонецПроцедуры
Показать

где L - это:

ЗагрузитьВнешнююКомпоненту(КаталогИБ()+"MiracleV8.dll");
L=СоздатьОбъект("AddIn.MiracleClass");

из http://infostart.ru/public/18629/
Да! Забыл дописать... глТаймер это не ОбработкаОжидания, а Сервис.ОбработкаОжидания от formex
19. Арчибальд 2709 23.04.10 09:33 Сейчас в теме
Из чистого занудства приведу кусочек из конфигурации Камин-ЗПЛ2.0.
	Если Константа.ВсемВыйти > 0 Тогда
		Если Гл_ТаблицаДействий.НайтиЗначение("ЗавершитьРаботу",,"Действие") = 0 Тогда
			Сообщить("006: "+Формат(ТекущаяДата(),"Д ДДММММГГГГ")+", "+ТекущееВремя()+": необходимо завершить работу и выйти из программы");
			Предупреждение(Формат(ТекущаяДата(),"Д ДДММММГГГГ")+", "+ТекущееВремя()+РазделительСтрок+
						"Пожалуйста, завершите работу и выйдите из программы."+РазделительСтрок+
						" Через "+Строка(Константа.ВсемВыйти)+" мин. она закроется автоматически",5);
			Гл_ТаблицаДействий.НоваяСтрока();
			Гл_ТаблицаДействий.Действие = "ЗавершитьРаботу";
			Гл_ТаблицаДействий.Счетчик = Константа.ВсемВыйти;
		КонецЕсли;
	КонецЕсли;
Показать
21. Abadonna 3968 23.04.10 09:45 Сейчас в теме
(19) И ни фига там никто не выйдет, если
...юзверь после появления вопроса "Провести документ?" уйдет курить минут на 40
22. Арчибальд 2709 23.04.10 09:52 Сейчас в теме
(21) Да в курсе я насчет модальных окон. Я ж не в твоей ветке выступаю :D
23. Abadonna 3968 23.04.10 09:55 Сейчас в теме
(22) А вот (20) - успех обеспечен :D
Кроме окна "Авторизация доступа", к которому из 1С и не достучишься.
Но и "этого есть у меня" ;)
24. Serj1C 483 23.04.10 11:20 Сейчас в теме
проще сетевой кабель выдернуть у сервера)))
25. Abadonna 3968 24.04.10 16:43 Сейчас в теме
(24)
проще сетевой кабель выдернуть у сервера)))

В нормальных конторах программиста 1С и на порог серверной не пустят ;)
26. Поручик 4692 25.04.10 00:49 Сейчас в теме
Эт точно (с).
Хоть прежнее место работы нельзя назвать нормальным, но когда потребовалось тупо включить кондиционеры в серверной и рестартануть сами сервера, пришлось потревожить зама по безопасности. Дело было поздно вечером в пятницу.
30. boy13 169 28.04.10 00:44 Сейчас в теме
у меня есть рабочий код подобного.. но с более гибкими настройками. Учитываются ОТДЕЛЬНЫЕ права пользовател (новые), при заходе обычного пользователя ему выдается сообщение. После запуска механизма автовыгона всем пользователям выскакивает предупрждение о закрытии с причиной (вводится вручную), и через заданное время программа у пользователей закрывается автоматически... если надо - подготовлю и выложу.
31. boy13 169 28.04.10 00:46 Сейчас в теме
АВТОРУ: у тебя один неприятный недостаток. Если константа стоит 1, а пользователь только зайдет, то ты будешь ждать 60 секунд..... Надо заюзать ДоНачалаРаботыСистемы()
33. Abadonna 3968 28.04.10 07:25 Сейчас в теме
(31)
Надо заюзать ДоНачалаРаботыСистемы()

- Македонский? Кто такой? Почему не знаю? (с) Чапаев
Это где в 7.7 есть такая процедура? Я что-то пропустил?
37. boy13 169 28.04.10 09:40 Сейчас в теме
32. TheReal0 28.04.10 06:55 Сейчас в теме
Если есть возможность предупредить всех до момента выгонять, то я использую консоль кластера , для вырубания юзеров. (к-с вариант)

Если нет возможности предупредить, то можно реализовать механизм предупреждений внутренними средствами 1с (а ля 1cq или регламентные задания), и выгонять с консоли кластера.

з.ы. в консоли базу блокировать с кодом разрешения , чтобы и те кто не видел сообщений не входили и не начинали работать
34. Abadonna 3968 28.04.10 07:31 Сейчас в теме
(32) (31)
Ребята, вы вверх-то посмотрите!
Алгоритм для 1С: Бухгалтерский учет 7.7; 1С: Оперативный учет 7.7; 1С: Расчет 7.7; 1C: OpenConf 7.7
36. S_MIXA 3 28.04.10 09:37 Сейчас в теме
Процедура CLOSE_PROGA()
ЗавершитьРаботуСистемы(0);
КонецПроцедуры

Процедура ЗакрытьПрогу()
// условие при котором j=0, до этого j=1

if j=0 then
message("####################################");
message("#....Программа будет закрыта через 1 минуту....#");
message("#..........Сохраните пожайлуста документы...........#");
message("####################################");
//ОбработкаОжидания("CLOSE_PROGA",60);
ОбработкаОжидания("CLOSE_PROGA",timclose);
endif;
КонецПроцедуры


Во, а команда в Процедура ПриНачалеРаботыСистемы()
ОбработкаОжидания("ЗакрытьПрогу",60); // 60 - секунды

меняется на

timclose=1;
ОбработкаОжидания("ЗакрытьПрогу",60); // 60 - секунды
timclose=60;


у меня так, если чел заходит, то видит надпись и вываливается, а если работает то есть минута на размышение
Оставьте свое сообщение