Имя: Пароль:
1C
1C 7.7
v7: Универсальный способ уведомлений о длительных операциях
0 Тёплый фарфор
 
02.11.18
10:38
Коллеги, тут такую задачу хотелось бы сделать.
Каждый раз, после запуска длительной операции, блокирующей работу пользователя в БД, хотелось бы получать уведомление о завершении. Пусть это будет просто Сообщить(). Главное - можно реализовать универсальный механизм, чтобы не нужно было везде вносить подписку на окончание операции? Что-то типа глобальной процедуры Formex ПослеОткрытия(), которая срабатывает после открытия любого объекта БД, но тут - ПослеВыполнения() Есть идеи?
1 АЛьФ
 
02.11.18
10:41
Длительная операция - это просто долгое выполнение какой-то процедуры?
2 Тёплый фарфор
 
02.11.18
10:41
да
3 Cool_Profi
 
02.11.18
10:45
V7 и подписка?
4 Ёпрст
 
02.11.18
10:48
(0) ну дык оформи подписку в перехватчике, например.
5 Ёпрст
 
02.11.18
10:48
Только вот непонятно, кому ты событие хочешь посылать
6 Peltik
 
02.11.18
10:51
(0) прогрессбар нарисуй что бы не скучали
7 Тёплый фарфор
 
02.11.18
10:51
(4) если мне не изменяет память, то там нужно знать процедуру, которая вызывается? Если так - то это не подходит, т.к. они могут быть разные
(5) лампочка у меня есть, которой могу управлять из 1С. Когда куча окошек открыто, не хочу постоянно переключаться и смотреть "когда же сформируется очет"
8 Тёплый фарфор
 
02.11.18
10:51
(6) не катит
9 Peltik
 
02.11.18
10:54
(8) чего так?
10 Тёплый фарфор
 
02.11.18
10:55
(9) лучше по теме...
11 big
 
02.11.18
10:55
А если сгенерировать внешнее событие и отлавливать его в ГМ?
12 Peltik
 
02.11.18
10:56
(10) Ну база же заблокирована, один фиг сидят нифига не делают, так хоть бар видеть будут
13 Тёплый фарфор
 
02.11.18
10:57
(11) кстати - мысль... думаю это вполне реально
14 АгентБезопасной Нацио
 
02.11.18
10:57
может, просто не блокировать работу? отдавать задачу фоновому процессу...
15 big
 
02.11.18
10:58
(14) Что-то типа робота, запущенного на сервере?
16 Тёплый фарфор
 
02.11.18
10:59
(14) это в клюшках то? костыли типа COM имеются ввиду? Хочу лампочку!! (топаю ногами) :)))
17 Ёпрст
 
02.11.18
10:59
(7) достаточно после окончания, вернуть фокус на 1с-ину программно.
18 Тёплый фарфор
 
02.11.18
11:03
(17) Уже ближе, только я с перехватчиком на "Вы". Пни, пжта, хотя бы, куда копать дальше? Чтобы запустить перехватчик - нужно же привязываться к чему-то? Например к процедуре "Сформировать". Правильно я понимаю? Если так, то это не универсально...
19 Тёплый фарфор
 
02.11.18
11:05
(11) я тут подумал... так то да, но это тоже не универсально.. . Самой лучшее - это какой-то способ опроса - заблокирована база или нет... возможно это?
20 Ёпрст
 
02.11.18
11:06
(18) та нет, в отчете вернуть фокус на 1с-ину
21 Ёпрст
 
02.11.18
11:07
после кода сформировать
22 oslokot
 
02.11.18
11:08
(16) "фоновое задание" в клюшках, имеется ввиду запущенный процесс от пользователя-робота на сервере, который сделает всю работу сам и сообщит любым удобным способом.
23 Тёплый фарфор
 
02.11.18
11:08
(20) вооотт.. т.е. в каждом отчёте надо прописывать... йа слишком ленив ))
24 АгентБезопасной Нацио
 
02.11.18
11:09
(15) ага
(16) не обязательно ком, можно хоть NetaInet
25 Ёпрст
 
02.11.18
11:09
типа НаПереднийПлан() у формекса
26 Тёплый фарфор
 
02.11.18
11:10
(22) (24) не, ну не то это всё.. это отдельная тема, но благодарю за советы
27 Ёпрст
 
02.11.18
11:10
(23) Ну, тогда Перехватчиком можно допилить, чтоб у отчетов "правил" формулу кнопки -  дописывал туда еще и твой код.
28 Ёпрст
 
02.11.18
11:11
тип того (тут дописывал свой код в формулах):

http://catalog.mista.ru/public/20038/
29 Тёплый фарфор
 
02.11.18
11:11
(27) ничёсе, и так можно? )) круть...
30 Тёплый фарфор
 
02.11.18
11:13
(28) только... кнопок в отчёте может быть десяток... с разными вариантами.... надеюсь это смогу решить...
31 АгентБезопасной Нацио
 
02.11.18
11:14
(28) В перехваченном ПриОткрытии искать кнопку "сформировать", и там подменять? прикольно...
хорошую шутку можно на 1 апреля сделать
32 Ёпрст
 
02.11.18
11:15
(31) да, типа того
33 Тёплый фарфор
 
02.11.18
11:17
(30) в принципе, думаю так: вешаю это на каждую кнопку, а затем смотрю на время выполнения... если больше заданного интервала - это мой случай...
34 Ёпрст
 
02.11.18
11:22
(33)Можно еще поиграться с методом ПолучитьВремяПростояСистемы
35 Ёпрст
 
02.11.18
11:23
и на его основе что-то слепить, ибо обработки ожидания, что формековские, что через класс таймер, не прерываются (работают всегда)
36 Тёплый фарфор
 
02.11.18
11:34
спасибо... покурю... думаю пищи для размышления и экспериментов мне, пока, хватит...
37 АгентБезопасной Нацио
 
02.11.18
13:11
(35) прикольно. работает.
я тут совместил - при открытии обработки подменяется формула, подмененная устанавливает соединение с другим экземпляром 1с, передает туда имя обработки и заполненные параметры. та выполняет. осталось как-то отловить вывод файла отчета (как отправить и показать - я знаю)
накувыркался с тем, что ПолучитьАтрибут работает с номерами атрибутов не от 1 до количества, а от 0 до кол-1. при попытке получить с несуществующим номером - падает.
если подскажешь, как отловить выведенный файл - может, причешу да выложу...
38 АЛьФ
 
02.11.18
13:16
2(37) Можно попробовать по обработке ожидания ждать когда активный контекст станет таблицей.
39 АгентБезопасной Нацио
 
02.11.18
13:18
хы, затупил. элементарно же - АктивныйКонтекст()
40 АгентБезопасной Нацио
 
02.11.18
13:19
(38) ага, спасибо!
41 АгентБезопасной Нацио
 
02.11.18
13:20
(38) мне даже обработка ожидания не нужна - я ж явно вызываю процедуру формирвания.
42 Ёпрст
 
02.11.18
13:25
(41) нужна, если делать универсально и в одном месте..
43 АгентБезопасной Нацио
 
02.11.18
13:30
(42) "в одном месте" - звучит двусмысленно...
у меня же "сервер отчетов" одновремено только один отчет формирует...
блин, ну что за жизнь. узнал, что "решение существует", и делать уже неинтересно...
44 tgu82
 
02.11.18
13:34
Жива еще 7-ка )
Правда все эток 1С имеет уже мало отношения. Это как бы уже Дельфи
45 Ёпрст
 
02.11.18
13:36
(43) имеется ввиду, универсальное задание, например, в глобальнике, которая будет делать НаПереднийПлан, если активный контекст стал Таблицей
46 tgu82
 
02.11.18
13:45
(45) А точно ли активным контекстом станет нужная таблица из нужной формы ?
47 Ёпрст
 
02.11.18
13:56
(46) дык там же и проверит, каков был предыдущий активный контекст
48 Ёпрст
 
02.11.18
13:56
а по большому счету, пофик, если эта обработка ожидания будет всего лишь делать на переднийПлан
49 АгентБезопасной Нацио
 
02.11.18
14:07
(45) так "сервер отчетов" не должен "на передний план"  ничего выдвигать - он вообще может на сервере крутиться... он просто сохраняет сформированую таблицу в файл, и передает его...
50 Kigo_Kigo
 
02.11.18
14:45
Еще, как я правиль понял задачу, на дельфях написать exe - к, ну типа ""Усё готово,ШЕФ!" с кнопкой ОК, положить его в базу и по окончании обработки ЗапуститьПриложение(КаталогИБ()+"Усеготово.exe")
А уж дельфях определить параметры хапуска этого приложения, ну там на передний план, моргать в трее и так далее
остается одна задача, распихать это все в конец нужных процедур
51 АгентБезопасной Нацио
 
02.11.18
14:50
(50) сообщить-то можно с помощью 100500 методов... хоть письмом или СМС. или через астериску позвонить...
смысл был отловить завершение выполнения отчетов без переписывания
52 Pahomich
 
02.11.18
15:10
А что мешает, просто перед КонецФункции, написать Сообщить("Я кончила"+ТекущееВремя)
53 АгентБезопасной Нацио
 
02.11.18
15:23
(52) мешает то, что нужно 100500 отчетов переписать...
а мы уже сделали без всякого переписывания.
54 АгентБезопасной Нацио
 
08.11.18
08:04
Есть у кого-нибудь старый RiK_Inet? решил "допилить и выложить", обновил библиотеку на скачаную - и работать перестало... сервер не создается, IP не получается, только ПолучитьВерсиюКомпоненты  работает :-(
55 ADirks
 
08.11.18
08:20
(54) есть версия от 01.03.2008
56 АгентБезопасной Нацио
 
08.11.18
08:33
(55) Закинь? или выложи куда-нибудь. плз.
на сайте от 18.12.09
57 ADirks
 
08.11.18
08:42
(56) отправил в почту
58 АгентБезопасной Нацио
 
08.11.18
08:53
ок, спасибо.
59 АгентБезопасной Нацио
 
08.11.18
09:02
(57) Алексей, а может не работать из-за 64-разрядной винды? с присланой библиотекой такая же фигня...
60 ADirks
 
08.11.18
10:10
(59) да запросто
тем более, учитывая что оно на Дельфе написано, и под винду 2000, может быть всё что угодно
61 АгентБезопасной Нацио
 
08.11.18
10:11
(60) ясно. Буду у Олега исходники клянчить.
Но перед этим завтра на 32-й попробую, чтоб быть уверенным