Имя: Пароль:
1C
 
Как сделать, чтобы можно было прервать обработку по Ctrl+?
0 orda
 
21.01.10
09:01
?
1 ДенисЧ
 
21.01.10
09:02
Ctrl+что?

А вообще, обработкаПрерыванияПользователя() или что-топодобное, не помню всех букв сейчас...
2 Sadovnikov
 
21.01.10
09:03
(1) Алфавит забыл??? Скока ж ты вчера выпил-то? :)
3 orda
 
21.01.10
09:05
(1) Не вижу такой обработки в форме "обработкаПрерыванияПользователя()" и вторую клавишу не помню. Знаю, что как-то можно
4 Aleksey_3
 
21.01.10
09:07
ОбработкаПрерыванияПользователя (UserInterruptProcessing)
Глобальный контекст
ОбработкаПрерыванияПользователя (UserInterruptProcessing)
Синтаксис:
ОбработкаПрерыванияПользователя()
Описание:
Предназначен для прерывания работы встроенного языка при нажатии пользователем клавиши Ctrl+Break.
Метод проверяет, была ли нажата пользователем клавиша Ctrl+Break. Если клавиша была нажата, то выполнение встроенного языка прекращается и выдается соответствующее сообщение.
Данный метод рекомендуется использовать в длительных циклических операциях.
Метод будет иметь действия только в тех случаях, когда допускается прерывание выполнения модулей.
Прерывания выполнения допускается если оно инициировано определенным интерактивным действием пользователя. К таким действиям относятся:
нажатие кнопки в форме;
выбор пункта меню или кнопки командной панели в форме;
выбор пункта меню или кнопки панели инструментов интерфейса;
действия инициируемые обработчиками событий "Выбор" элементов управления.
Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения.
Пример:
ТабДок = ЭлементыФормы.ТабДок;
// ТабДок - элемент управления типа "Табличный документ"
Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
   Если Выборка.ПометкаУдаления Тогда
       Продолжить;
   КонецЕсли;

   Секция = Макет.ПолучитьОбласть("Строка");
   Секция.Параметры.Текст = СокрЛП(Выборка.Наименование);
   Секция.Параметры.Расшифровка = Выборка.Ссылка;
   ТабДок.Вывести(Секция);
   ОбработкаПрерыванияПользователя();
КонецЦикла;

// другой пример
ЭлементыФормы.Добавить(Тип("Надпись"),"Надпись",Истина);
// указание размеров и положения в форме
ЭлементыФормы.Надпись.Верх=15; ЭлементыФормы.Надпись.Лево=450;
ЭлементыФормы.Надпись.Ширина=150; ЭлементыФормы.Надпись.Высота=10;

Пока Истина Цикл
   ЭлементыФормы.Надпись.Значение = ТекущаяДата();
   ОбработкаПрерыванияПользователя();
КонецЦикла;
5 ДенисЧ
 
21.01.10
09:08
(2) Ни капли, не поевришь...

ОбработкаПрерыванияПользователя (UserInterruptProcessing)
Глобальный контекст
ОбработкаПрерыванияПользователя (UserInterruptProcessing)
Синтаксис:
ОбработкаПрерыванияПользователя()
Описание:
Предназначен для прерывания работы встроенного языка при нажатии пользователем клавиши Ctrl+Break.
Метод проверяет, была ли нажата пользователем клавиша Ctrl+Break. Если клавиша была нажата, то выполнение встроенного языка прекращается и выдается соответствующее сообщение.
Данный метод рекомендуется использовать в длительных циклических операциях.
Метод будет иметь действия только в тех случаях, когда допускается прерывание выполнения модулей.
Прерывания выполнения допускается если оно инициировано определенным интерактивным действием пользователя. К таким действиям относятся:
нажатие кнопки в форме;
выбор пункта меню или кнопки командной панели в форме;
выбор пункта меню или кнопки панели инструментов интерфейса;
действия инициируемые обработчиками событий "Выбор" элементов управления.
Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения.
Пример:
ТабДок = ЭлементыФормы.ТабДок;
// ТабДок - элемент управления типа "Табличный документ"
Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
   Если Выборка.ПометкаУдаления Тогда
       Продолжить;
   КонецЕсли;

   Секция = Макет.ПолучитьОбласть("Строка");
   Секция.Параметры.Текст = СокрЛП(Выборка.Наименование);
   Секция.Параметры.Расшифровка = Выборка.Ссылка;
   ТабДок.Вывести(Секция);
   ОбработкаПрерыванияПользователя();
КонецЦикла;

// другой пример
ЭлементыФормы.Добавить(Тип("Надпись"),"Надпись",Истина);
// указание размеров и положения в форме
ЭлементыФормы.Надпись.Верх=15; ЭлементыФормы.Надпись.Лево=450;
ЭлементыФормы.Надпись.Ширина=150; ЭлементыФормы.Надпись.Высота=10;

Пока Истина Цикл
   ЭлементыФормы.Надпись.Значение = ТекущаяДата();
   ОбработкаПрерыванияПользователя();
КонецЦикла;
6 also
 
21.01.10
09:09
ctrl+break
7 orda
 
21.01.10
09:11
(4)-(5)-(6) - благодарю