Как прервать выполнение процедуры 1с 77
1С 8.3. Как прервать выполнение процедуры (принудительный выход)
Дано : 1С, версия платформы 8.3. Написан определенный код процедуры.
Задача : прервать выполнение процедуры, чтобы не выполнялся определенный код.
Решение : выход из процедуры в 1С такой же, как и из функции, т.е. командой Возврат . Однако в отличие от функции возвращать ничего не нужно, достаточно только написать данную команду. Например:
Процедура ДПВ_ПредставлениеПредставительВузаНачалоВыбора ( Элемент , ДанныеВыбора , СтандартнаяОбработка )
ЭлементПредставительВуза = Элементы . Найти ( "ПредставительВуза" );
Если ЭлементПредставительВуза = Неопределено Тогда Возврат ; КонецЕсли ;
Данную команду можно вызывать в тех местах процедуры, где необходимо завершить дальнейшее выполнение процедуры (возможно не один раз на протяжении процедуры).
Если же нужно прервать выполнение функции без возвращения какого-либо значения, то можно написать так:
Если Вам понравилась статья, пожалуйста, поставьте лайк, сделайте репост или оставьте комментарий. Если у Вас есть какие-либо замечания, также пишите комментарии.
Комментариев нет :
Поиск по этому блогу
Календарь блога
Дано : Excel c числами и суммами в рублях в ячейках. Задача : написать данные числа прописью без использования макросов и каких-либо над.
Дано : Word 2016 (обновляемый по подписке Office 365). Задача : добавить на страницу рисунок (значок) из готовой коллекции рисунков.
Дано : таблица Excel с колонкой, содержащей фамилию, имя и отчество (ФИО). Задача : извлечь при помощи формул из колонки ФИО данные в след.
Дано : Excel 2016. В двух ячейках указаны даты со временем. Задача : необходимо рассчитать количество полных часов между датами . Дата 1.
Дано : 1С, версия платформы 8.3. Написан определенный код процедуры. Задача : прервать выполнение процедуры, чтобы не выполнялся определ.
1c 7.7.027 Торговое предприятие Изменить имя организации
1c 7.7.027 Торговое предприятие . Посоветуйте пожалуйста как корректно переименовать наименование.
Как принудительно завершить функцию recvfrom
Добрый день. Подскажите как завершить ф-н recvfrom? Приложение ждет данных из сети , но если.
Как принудительно завершить поток скачивания
Пишу утилиту по скачиванию файлов. Нужно, чтобы по нажатию кнопки Pause закачка прекращалась, без.
Как принудительно завершить выполнение программы?
class Program < static void Main(string args) < Triangle T =.
Собственно я так и делаю: "Форма.Закрыть(0);"
Проблема я думаю в этом или я ошибаюсь?:
"Действие данного метода не прерывает выполнения текущей процедуры программы, т.е. процедура доработает до конца. Данный метод лишь устанавливает признак, который отрабатывает после окончания выполнения процедуры." (цитата их Синтаксиса-помощника)
Получается так: я формирую отчет -->в отчета идет обращение к глобальному модулю --> здесь мой вызов обработку вот так: "ОткрытьФорму("Обработка.Форма1НДФЛ2009",Параметры1);". Для первого человека из списка все отработало, нормально. Для второго вот это "ОткрытьФорму("Обработка.Форма1НДФЛ2009",Параметры1);" уже не срабатывает, потому что эта обработка не закрылась после первого открытия. И собственно когда отчет сформировался обработка закрывается. Мне нужно чтобы для каждого человека из списка при формировании отчета вызывалась его налоговая карточка. Что делать?
Я правлю распределение НДФЛ по источникам финансирования в глобальном модуле процедура "глПолучитьРаспределениеРезультата". Задача состоит в том чтобы получить в коде данные по НДФЛ(вычеты в этом месяце, облагаемая база с начала года, удержанный НДФЛ с начала года) и записать их в переменные. Потом я эти данные использую для распределения. Вот эта процедура "глПолучитьРаспределениеРезультата" вызывается во всех отчетах(расчетный листок, свод по зарплате, расчетная ведомость и т.д.), когда мы формируем отчет по определенному источнику финансирования. Так вот я все написал и когда я формирую любой отчет, а в список сотрудников ставлю отдного человека, тогда все работает отлично. Но когда в списке сотрудников несколько человек или мы формируем отчет "по всем", "по подразделению", тогда правильное распределение получается только для первого человека из списка.
В процедуре "глПолучитьРаспределениеРезультата" я вызываю обработку вот так: "ОткрытьФорму("Обработка.Форма1НДФЛ2009",Параметры1);" и пытаюсь ее завершить вот так: "Форма.Закрыть(0);"(эта строчка стоит в конце процедуры "При открытии" в самой обработке.). После того как обработка запустилась в первый раз, она завершается только после окончания формирования отчета, и соответственно второй, третий и т.д. разы обработка не запускается потому что она уже запущена, а она должна запускаться для каждого человека из списка.
Добавлено: Попробую объяснить пролему по другому(у меня проблемы с постановкой вопроса):
Задача состоит в том чтобы вызвать обработку Форма1НДФЛ2009 для конкретного человека, записать нужные данные в константы и завершить ее. И так по списку для всех сотрудников.
Вызываю я вот так: "ОткрытьФорму("Обработка.Форма1НДФЛ2009",Параметры1);"
Завершить пытаюсь так: "Форма.Закрыть(0);"(эта строчка стоит в конце процедуры "При открытии" в самой обработке.) Обработка не завершается, пока мы не пройдем весь список. И получается что для всех людей мы используем данные из констант записанных для первого человека.
Человек нажал кнопочку и запустился процесс. В моем случае это отправка почты. Пока идет дело программа открыла форму и на ней показывает ход выполнения:
Код ( (Unknown Language)):
ФормаCеанса = Справочники.Почта.ПолучитьФорму("Монитор");
ФормаCеанса.Открыть();
ФормаCеанса.ЭлементыФормы.Операция.Значение = "Отправка";
Вот тут цикл
// операции
КонецЦикла
Но на форме "Монитор" я нарисовал кнопку "Прервать". И хочу во внутри цикла сделать что-то вроде:
Код ( (Unknown Language)):
Если НажалКнопочку Тогда
Прервать;
КонецЕсли;
Но как организовать взаимодействие. Ведь пока идет процесс форма Монитор не реагирует на клики. Есть механизм "Фоновые задания". Чую, что это мне нужно. Но нигде не встречал примера на использование.
Поделитесь, люди добрые. Простите, что обращаюсь к вам.
Помощь в написании контрольных, курсовых и дипломных работ здесь
Как прервать выполнение процедуры?
Есть четыре процедуры, вызывающие одна другую. Они читают аксесовскую базу и строят дерево в.
Как прервать выполнение процедуры?
Ребят, подскажите пожалуйста, как остановить выполнение процедуры. В Паскале помню пользовались.
Как из одной процедуры прервать выполнение другой?
Собственно проблема возникла в следующем. Есть такая конструкция: Private Sub Button9_Click(ByVal.
Как прервать выполнение процедуры или функции
Имеется примерно такой код: On Error GoTo MainErr MkDir "С:\A" MainErr: MsgBox.
Как прервать цикл в диалоге (MFC)
Вопрос по Visual C++ - MFC. Имеется диалог с кнопками Ок и Сансел. Нужно прервать цикл при нажатии.
Как прервать выполнение программы?
Здравствуйте. Необходимо прервать выполнение программы, но чтобы при этом форма не закрылась. У.
Как прервать выполнение программы?
В общем сабж. Запустил программы в ТП, видимо допустил ошибки в коде - выполнился бесконечный цикл.
Читайте также: