Имя: Пароль:
1C
1С v8
ОбработкаПрерыванияПользователя. Действия после.
0 Klesk666
 
20.01.14
05:55
Можно ли после того как пользователь нажал ctrl+break выполнить какие нибудь процедуры модуля?
1 Рэйв
 
20.01.14
06:00
Да запросто.
После КонецЦикла - хоть белый параход!
2 Klesk666
 
20.01.14
06:07
спасибо
3 Рэйв
 
20.01.14
06:14
понедельник- это маленькая пятница:-)
4 Klesk666
 
20.01.14
06:27
как то неоднозначно, справка:
Метод проверяет, была ли нажата пользователем клавиша Ctrl+Break. Если клавиша была нажата, то выполнение встроенного языка прекращается и выдается соответствующее сообщение.
Данный метод рекомендуется использовать в длительных циклических операциях.

выполнение встроенного языка прекращается
рекомендуется использовать в длительных
5 Рэйв
 
20.01.14
06:34
(4)Блин:-)  Точно маленькая пятница.
Извини, я ввел тебя в заблуждение:-)
Постоянно втыкаю в циклы и поэтому почему то подумалось что оно как Прервать работает.
Действительно код прекращает работу.
6 Klesk666
 
20.01.14
06:35
(5) ничего страшного =)
тогда вопрос в (0) в силе
7 Рэйв
 
20.01.14
06:35
(4)Ты скажи что тебе надо. Может без  обработки прерывания можно обойтись
8 Klesk666
 
20.01.14
06:37
пример: снимаю активность записей с регистра накопления, если прерываю по ctrl+break надо заново активность поставить, а то можно забыть.
9 Рэйв
 
20.01.14
06:40
(8)Делай в транзакции
типа:

НачатьТранзакцию():

Для н=1 по 1000000000 Цикл
   ОбработкаПрерыванияПользователя();    
   Снятие активности();
Конеццикла;

ЗафиксироватьТранзакцию();
10 Рэйв
 
20.01.14
06:41
тогда при прерывании все вернется автоматически назад
11 Defender aka LINN
 
20.01.14
07:41
Как вариант - подключить обработчик ожидания, запустить цикл с обработкой прерывания, после цикла обработчик отключить. Если обработчик сработал - выполнение прервали