Перехід по мітці

Виконується оператором Перейти мітка

де мітка це імя, що починається з тильди (знака ~), наприклад ~ М1

Цей оператор неприйнятний для прихильників структурного програмування Проте є ситуації, коду він корисний, наприклад для дострокового виходу з вкладеного циклу

ПрикладЗаписати, код виведення груп поспіль наступних неперіодичних констант, що повідомляє перед виведенням групи її номер, завершуючи висновок, виявивши неперіодичних константу типу Календар

/ / Процедура, що виводить групи неперіодичних констант

/ / Завершується або при виявленні неперіодичної константи типу Календар,

/ / Або після виведення всіх груп Запускається з обробки Проба процедура Виконати ()

перем всегоКонстант, ин, номерГруппи, іден ОчістітьОкноСообщеній ()

номерГруппи = 0

всегоКонстант = МетаданниеКонстанта ()

ін = 1 / / Номер константи v

поки ин <= всегоКонстант цикл

якщо МетаданниеКонстанта (ін) Періодичний = 0 тоді номерГруппи = номерГруппи + 1

Повідомити (Виводиться група з номером + номерГруппи)

/ / Вкладений цикл Поки

поки МетаданниеКонстанта (ін) Періодичний = 0 цикл якщо МетаданниеКонстанта (ін) Тип = Календар тоді

перейти ~ М1 / / Вихід з усіх циклів КонецЕсли

іден = МетаданниеКонстанта (ін) Ідентифікатор Повідомити (іден + ” + КонстантаПолучітьАтрібут (іден))

ін = ін + 1 / / Не забуваємо перейти до наступної константі якщо ін> всегоКонстант тоді

перервати / / Достроковий вихід з вкладеного циклу КонецЕсли

конецЦікла / / Поки МетаданниеКонстанта (ін) Періодичний = 0 інакше / / Маємо періодичну константу

ін = ін + 1 / / Не забуваємо перейти до наступної константі КонецЕсли

конецЦікла / / Поки ин <= всегоКонстант

/ / Розташовуємо після мітки ~ М1 двокрапка

~ М1: / / Сюди передається керування оператором Перейти ~ М1 якщо номерГруппи = 0 тоді

Повідомити (В конфігураторі немає неперіодичних констант”) КонецЕсли

КонецПроцедури / / Виконати

Зауваження  У цьому завданню мітку ~ М1 не можна розташувати перед оператором конецЦікла:

~ М1: кінець циклу / / Поки ин <= всегоКонстант

оскільки таке використання позначки не призводить до виходу з циклу, а передає управління на оператор Поки зовнішнього циклу У конкретному випадку результатом такого розміщення мітки буде зациклення програми

Зрозуміло, завдання можна вирішити і без використання оператора, ввівши прапор виявлення константи типу Календар і застосувавши, наприклад, обєднання умов При бажанні відповідний код ви можете скласти самостійно

Джерело: Бартеньев О В 1С: Підприємство: програмування для всіх Базові обєкти та розрахунки на одній дискеті М: Діалог-МІФІ, 2005 464 с

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*