как програмно прервать выполнение обработки в 1С 7.7? аналог кнопки Esc. #481536


#0 by Вовчик
собственно вопрос  в названии))
#1 by Darky
Прервать/Возврат
#2 by ДенисЧ
#3 by Вовчик
Прервать-прерывает текущий цикл, а возврат-это выход из функции, а мне надо полностью из обработки выйти.
#4 by Вовчик
))))
#5 by Ленинград
Возврат + Форма.Закрыть
#6 by Darky
этого в сабже не было :)
#7 by Darky
Тогда только без Возврат
#8 by Вовчик
ясно спс)))
#9 by Эльниньо
ЗначениеИзСтрокиВнутр("{}");
#10 by Ленинград
Стесняюсь спросить, что это?
#11 by KishMish
Если идет многоуровневый вызов функции из функции, возврат сработает только на текущую функцию. Надо возвраты по условию ставить после каждого вызова функции.
#12 by Вовчик
я вот тоже думаю что это? Форма.Закрыть не работает. Неужели нету аналога кнопки Esc?.
#13 by Вовчик
я думал он просто обязан быть, даже стеснялся задавать это вопрос)))
#14 by ДенисЧ
попробуй ЭмулироватьКлавиатуру(<?>,,) Синтаксис: ЭмулироватьКлавиатуру(<Строка>,<Ждать>,<Раскладка>) Назначение: Метод предназначен для программной эмуляции нажатий кнопок на клавиатуре. Параметры: <Строка> - строка для отсылки в буфер клавиатуры (подробнее см. документацию по методу SendKeys из WSH); <Ждать> - необязательный флаг: 1 - продолжать программу только после обработки сообщения клавиатуры Windows; 0 - продолжить выполнение, не дожидаясь обработки сообщения (по умолчанию). <Раскладка> - Необязательный параметр.  Строка с наименованием раскладки или число, соответствующее следующим раскладкам: ПРИМЕР: А кроме того, тебя же не удивляет, что нет программной функции CtrlAltDel...
#15 by Ленинград
Чувак, те написали, осталось только включать штуку которая выше плеч с отверстиями
#16 by Вовчик
все что написали я и так знал, кроме у меня восемь вложенных циклов а каждом из них выполняется процедура, в процедуре условие если оно выполнится надо завершить обработку. Можно конечно как в . Но было бы гораздо удобнее если бы одной командой  прерывалась обработка полностью.
#17 by Вовчик
16 к а не к
#18 by Злопчинский
Если Условие=1 Тогда Возврат; КонецЕсли; - чем не устраивает?
#19 by Skom
парни...вы тока сильно не ржите...но про метки тут еще никто не рассказал)))))
#20 by Вовчик
все устраивает просто таких условий придется сделать 8 , так и сделаю конечно,просто интересно было может есть способ выйти из обработки одной командой. Метка работает только внутри текущей функции
#21 by Злопчинский
8 вложенных циклов и в каждом из них примерно одинаковое условие однозначно свидетельствуют о совершенно кривой реализации требуемйо какой-то задачи. Включи мозг.
#22 by Нафигатор
Преврати процедуру в функцию.
#23 by Ёпрст
ОстановитьВыполнение Синтаксис: ОстановитьВыполнение Назначение: прекращает дальнейшее выполнение кода ©formex.dll
#24 by Вовчик
зачем ругаться если не знаешь в чем дело?))) задача к 1С не имеет никакого отношения просто считаю кое что))))  есть задачи которые не решаются коротким путем например задачи комбинаторики, но все таки надо стремиться к уменьшению количества операций. Если выходить из каждого цикла последовательно, то надо добавлять еще одно условие в каждом цикле, "Если Условие=1 Прервать" а это еще сорок тысяч операций если условие выполнится где то в конце допустим. ты уверен что в семерке есть такое?
#25 by AeDen
А ты проверь :)
#26 by AeDen
тебе дае подсказку дали...
#27 by orefkov
#28 by orefkov
В уже дали правильный и абсолютно штатный способ. Просто надо все в Попытку оборачивать.
#29 by Вовчик
да этот способ работает, сомневаюсь что он штатный, но для моих целей вполне подходит. А где можно взять formex.dll ?
#30 by КапЛей
dorex.ru
#31 by ДенисЧ
#32 by Вовчик
)))
#33 by Эльниньо
А ты попробуй. Прерывает всё. Жёстко. Но лучше не пробуй.
#34 by Вовчик
ага я попробовал, хорошо что на учебной базе))))
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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