"ОбработкаПрерыванияПользователя()" - как заставить работать?! #653364


#0 by mzelensky
Доброго всем! Бьюсь с этой проблемой и чет пока решения найти не могу. Имею примерно такой код: ... .. КонецПроцедуры ... ... КонецПроцедуры Вот в таком случае "ОбработкаПрерыванияПользователя" - не срабатывает! Читаем СП по сей феничке: Метод будет иметь действия только в тех случаях, когда допускается прерывание выполнения модулей. Прерывания выполнения допускается если оно инициировано определенным интерактивным действием пользователя. К таким действиям относятся: нажатие кнопки в форме; выбор пункта меню или кнопки командной панели в форме; выбор пункта меню или кнопки панели инструментов интерфейса; действия инициируемые обработчиками событий "Выбор" элементов управления. Выходит, что в произвольной процедуре/функции я не могу пользоваться обработкой прерывания. но как заставить ее работать??? На форуме уже нечто подобное постили и там народ пришел в выводу, что можно подключить обработчик ожидания и в нем через одно очень жирное и узкое место отлавливать "ОбработкаПрерыванияПользователя". В моем случае этого сделать не получается (по крайней мере мои попытки к положительному результату не привели). Вопрос - как заставить систему обработать "ОбработкаПрерыванияПользователя" и таки завершить работу алгоритма?!
#1 by EasyRider
в цикл ее засунь и увидишь
#2 by х86
так наверное
#3 by mzelensky
она у меня и так в циклах - не работает!
#4 by mzelensky
Хорошо, вот так: ... Для каждого к1 из кк цикл ... КонецПроцедуры на самом деле там вложенностей больше, но я "ОбработкаПрерыванияПользователя" натыкал на каждом уровне цикличности - не срабатывает!
#5 by EasyRider
прерываешь надеюсь нажатием ctrl+break?
#6 by mzelensky
:) из разетки выдергиваю - все-равно не прекращается :) конечно ctrl+break
#7 by Fedot200
можно еще Ctrl+C ИМХО
#8 by mzelensky
что-то первый раз слышу про "Ctrl+C"...
#9 by EasyRider
ноутбук?
#10 by Fedot200
да, вроде не работает
#11 by Defender aka LINN
Окно 1С-то активно?
#12 by Fedot200
по теме, может поможет
#13 by МастерВопросов
Процедура НужнаяМнеПроцедура выполняется на сервере небось?
#14 by mzelensky
ДА!
#15 by mzelensky
У меня локальная база в обычном режиме! Процедура находится в форме.
#16 by mzelensky
еще варианты глупых вопросов?!
#17 by mzelensky
"Проблему можно решить несколькими способами: обновление драйвера, использование экранной клавиатуры и т.п. Также можно воспользоваться программой VKey, которая позволяет синтезировать нажатие клавиши с указанным виртуальным кодом при нажатии определенной пользователем "горячей клавиши"." - уже думал над чм-то подобным. Вот так можно посадить горячую "необычную" горячую клавишу: НО, что меня смутило - приложение то висит (ну т.е. выполняется). Будет ли вообще поймано подобное нажатие клавишь программой?!
#18 by ОчкарикСлава
... :) из разетки выдергиваю - все-равно не прекращается :) у тебя ноутбук штоле ? :)
#19 by mzelensky
Да пошутил я это :)
#20 by mzelensky
+ "Эти 1С-ки такие 1С-ки" (С)
#21 by ОчкарикСлава
так и я пошутил, невидно разве?
#22 by Fedot200
КонецЕсли;     Не смог прерваться. Когда поставил значение 100 000 смог прерваться, по ощущениям где-то в середине и то не каждый раз. Правда делал в это на серваке в терминальной сессии.
#23 by mzelensky
народ, давайте по теме плиз! Реально проблема - как реализовать "завершение алгоритма" (естественно без срубания процесса через диспетчер)?!
#24 by Fedot200
а зачем тебе его надо рубить?
#25 by mzelensky
а код в какой процедуре выполняется? В процедуре события (ну там по кнопочке) или в какой-то произвольной?!
#26 by mzelensky
потому что у меня очень длительный процесс возможен и порой нужно его прекратить не дожидаясь его логического завершения. При этом срубать процесс через диспетчер не хочется.
#27 by Fragster
у меня так вообще почти никогда не срабатывает
#28 by mzelensky
ааааа, ну тогда НЕТ, не НОУТ - на "siemens a35" тестю
#29 by Goggy
"То неудобное чувство, когда ты настолько тонко пошутил, что тебя приняли за идиота..." ®Демотиваторы хД
#30 by mzelensky
как победить?!
#31 by ОчкарикСлава
как ты туда 1С поставил? программаторм флэш шил?
#32 by Fedot200
если для отладки, то можно рубить по счетчику. В модуле отчета в процедуре которая вызывается из другой процедуры по кнопке, вообщем вот и уже в процедуре СформироватьОтчет в модуле отчета код
#33 by mzelensky
"если для отладки, то можно рубить по счетчику" - не для отладки. Чтобы пользователь мог сбивать работу а не сидеть тупо в монитор глядя и ждать по несколько часов. Ну, у меня вообще не срабатывает :(
#34 by Fedot200
Ctrl+Alt+End --> Завершение сеанса.
#35 by Fedot200
+ это в терминале если пользак
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С