d9e5a92d

Глава 5 Управляющие операторы

Безусловная передача управления на другой оператор программы.

Синтаксис:

Перейти Метка;

Англоязычный синоним:

Goto

Параметры:

Метка Метка другого исполняемого оператора в программе.
Описание:

Безусловная передача управления на другой оператор программы. Оператор Перейти передает управление от одного оператора к другому. Метка в этом операторе не должна быть меткой перехода на оператор Процедура или Функция.

Область действия оператора Перейти ограничивается программным модулем, процедурой или функцией; он не может передать управление за пределы программного модуля, процедуры или функции.

Оператор безусловного перехода не может быть использован для передачи управления на операторы, находящиеся внутри конструкций: Пока ... КонецЦикла, Для ... КонецЦикла, Если ... ИначеЕсли ... Иначе ... КонецЕсли, Попытка ... Исключение ... КонецПопытки извне этих конструкций.

Пример:

     // Выведем строки текста

     Выв = СоздатьОбъект(Текст);

     Выв.Открыть(ТТТ);

     Для i = l По Выв.КоличествоСтрок() Цикл

        Если i = 10 Тогда

           Перейти ~М1;

        КонецЕсли;

        Сообщить(Выв.ПолучитьСтроку(i));

        Перейти ~М2;

~М1:    Сообщить(Это десятая строка);

~М2: КонецЦикла;

Продолжить

Передача управления в начало цикла.

Синтаксис:

Продолжить;

Англоязычный синоним:

Continue;

Описание:

Передает управление в начало цикла. Оператор Продолжить немедленно передает управление в начало цикла, где производится вычисление и проверка условий выполнения цикла. Оператор Продолжить может использоваться только внутри конструкций операторов цикла Пока и Для.

Пример:

// Выведем строки текста начиная с 5

Выв = СоздатьОбъект(Текст);

Выв.Открыть(ТТТ);

Для i = 1 По Выв.КоличествоСтрок() Цикл

   Если i 5 Тогда

      Продолжить;

   КонецЕсли;

   Сообщить(Выв.ПолучитьСтроку(i));

КонецЦикла;

Прервать

Прерывает выполнение цикла.

Синтаксис:

Прервать

Англоязычный синоним:

Break

Описание:

Прерывает выполнение цикла. Оператор Прервать приводит к немедленному прекращению выполнения цикла и передает управление первому оператору, следующему за конструкцией оператора Пока или Для. Оператор Прервать может использоваться только внутри конструкций операторов цикла Пока и Для.

Пример:

// Выведем строки текста с 1 по 10

Выв = СоздатьОбъект(Текст);

Выв.Открыть(ТТТ);

Для i = l По Выв.КоличествоСтрок() Цикл

   Сообщить(Выв.ПолучитьСтроку(i));

   Если i=10 Тогда

      Прервать;

   КонецЕсли;

КонецЦикла;

Возврат

Завершение процедуры или функции.

Синтаксис:

Возврат [Выражение]

Англоязычный синоним:

Return

Параметры:

Выражение Выражение, значение которого содержит результат обращения к функции. Этот параметр обязателен для оператора Возврат в теле описания функции, но не может использоваться в процедуре.
Описание:

Оператор Возврат завершает выполнение процедуры или функции и передает управление в вызвавшую точку программы. Оператор Возврат обязателен в функции и необязателен в процедуре. Если в процедуре не используется оператор Возврат, то его неявное выполнение происходит вслед за последним исполняемым оператором процедуры. Данный оператор может применяться только в теле описания процедуры или функции, причем Выражение может задаваться только в случае использования оператора в контексте функции.

Пример:

Функция ДеньНедели(Номер)

   Если Номер =1 Тогда

      Return понедельник;

   ИначеЕсли Номер =2 Тогда

      Возврат вторник;

   ИначеЕсли Номер =3 Тогда

      Возврат среда;

   ИначеЕсли Номер =4 Тогда

      Возврат четверг;

   ИначеЕсли Номер =5 Тогда

      Возврат пятница;

   ИначеЕсли Номер =6 Тогда

      Возврат суббота;

   ИначеЕсли Номер =7 Тогда

      Возврат воскресенье;

   Иначе

      Возврат ошибка;

   КонецЕсли;

КонецФункции

Специальные конструкции языка

#ЗагрузитьИзФайла

Переключение загрузки программного модуля на загрузку из текстового файла.

Синтаксис:

#ЗагрузитьИзФайла ИмяФайла

Англоязычный синоним:

ftLoadFromFile

Параметры:

ИмяФайла Имя файла, содержащего исходный текст программного модуля (записывается без кавычек и скобок).
Описание:

Данная конструкция переключает загрузку программного модуля на загрузку из указанного файла. Специальная конструкция #ЗагрузитьИзФайла должна записываться в первой строке программного модуля с первой позиции. Ее использование рекомендуется для отладки, чтобы быстро отлаживать код какого-либо программного модуля без промежуточного сохранения всей конфигурации. Данная конструкция переключает загрузку программного модуля конфигурации на загрузку из указанного файла. Содержимое программного модуля конфигурации при этом игнорируется.

Для редактирования собственно файла, откуда загружается текст программного модуля, можно использовать встроенный текстовый редактор системы 1С:Предприятие , открывая его через главное меню «Файл» — «Открыть». Далее, если выбрать в главном меню «Действия» — «Текст модуля», то это позволит при редактировании использовать свойства контекстного выделения цветом синтаксических конструкций языка и установленную для программных модулей ширину табуляции.

Данную возможность можно использовать для отладки любых программных модулей. Считывание текста файла и его компиляция происходит в момент открытия окна формы (документа, отчета и т. д.). Таким образом, в режиме исполнения, после внесения изменений и записи файла, содержащего текст модуля, следует просто закрыть и открыть окно формы заново. Внесенные в текст файла изменения сразу сработают, что позволяет отлаживать систему без промежуточного сохранения всей конфигурации.

После окончания отладки текста программного модуля в файле, следует перенести текст из файла в программный модуль конфигурации.

Замечание: #ЗагрузитьИзФайла является не оператором, а специальной конструкцией, поэтому не должна заканчиваться точкой с запятой.

Пример:

#ЗагрузитьИзФайла NEW_MOD.TXT


Содержание раздела