|
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
|
||||
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-й попробую, чтоб быть уверенным |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |