Рефераты. Программы системы 1С: Предприятие. Конфигурирование и администратирование в программах 1С: Предприят...

Попытка

Обработка исключительных ситуаций.

Синтаксис:

Попытка

   // Некоторые действия;

Исключение

   // Обработка исключительной ситуации;

КонецПопытки;

Параметры:

// Некоторые действия

Исполняемый оператор или последова­тельность таких операторов.

// Обработка исключительной ситуации

Исполняемый оператор или последовательность операторов, которые обраба­тывают исключительную ситуацию.

Исключение

Операторы, следующие за ключевым словом Исключение выполняются, если при выполнении последовательно­сти операторов <// Некоторые действия> произошла ошибка времени вы­полнения.

КонецПопытки

Ключевое слово, которое завершает структуру оператора обработки исклю­чительных ситуаций.

Описание:

Оператор Попытка управляет выполнением программы, основываясь на возникающие при выполнении модуля ошибочные (исключительные) ситуации и определяет обработку этих ситуаций.

В качестве ошибочных (исключительных) ситуаций воспринимаются ошиб­ки времени выполнения модуля. Не предусмотрено определяемых пользовате­лем исключений.

Если при выполнении последовательности операторов <// Некоторые действия> произошла ошибка времени выполнения, то выполнение оператора, вызвавшего ошибку прерывается и управление передается на первый оператор последовательности операторов <// Обработка исключительной ситуации>. При этом управление будет передано даже в том случае, если ошибку вызвал оператор, находящийся в процедуре или функции, вызванной из <// Некото­рые действия>. Если ошибка произошла в вызванной процедуре или функции, то ее выполнение будет прервано, а локальные переменные уничтожены. Это справедливо для любой вложенности вызовов. После выполнения последова­тельности операторов <// Обработка исключительной ситуации> управление передается на следующий за ключевым словом КонецПопытки оператор. Если же последовательность <// Некоторые действия> выполнилась без ошибок, то последовательность операторов <// Обработка исключительной ситуации> будет пропущена и управление также будет продолжено с оператора, следующе­го за ключевым словом КонецПопытки.

Конструкции Попытка-Исключение-КонецПопытки могут быть вложен­ными. При этом, при возникновении исключительной ситуации управление будет передано на самый «внутренний» обработчик, начинающийся с ключево­го слова Исключение. Последовательность операторов <// Обработка ис­ключительной ситуации> может содержать оператор ВызватьИсключение (англоязычный синоним Raise). Выполнение данного оператора прекращает выполнение последовательности <// Обработка исключительной ситуации> и производится поиск более «внешнего» обработчика. Если таковой есть, то управление передается на его первый оператор. Если нет, то выполнение моду­ля прекращается с выдачей сообщения о первоначально возникшей ошибке. Оператор ВызватьИсключение может встречаться только внутри операторных скобок Исключение ... КонецПопытки.

В выдаче диагностики помощь может оказать встроенная функция ОписаниеОшибки() (англоязычный синоним GetErrorDescription). Эта функция не имеет параметров, а в качестве значения возвращает описание ошибки, такое же, как было бы выдано в окне сообщений, в случае отсутствия обработчика исключительной ситуации, за исключением описания модуля и строки, в которой ошибка возникла. Применять данную функцию имеет смысл только при выполнении последовательности операторов <// Обработка исклю­чительной ситуации>, так как в ином случае она вернет пустую строку.

Перейти

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

Синтаксис:

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

Параметры:

<Метка>

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


Описание:

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

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

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

Продолжить

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

Описание:

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

Прервать

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

Синтаксис:

Прервать

Описание:

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

Возврат

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

Синтаксис:

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

Параметры:

<Выражение>

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

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

Символы

Символ

Значение

[ ]

В квадратных скобках заключаются необязательные син­таксические элементы.

( )

Круглые скобки заключают в себе список параметров.

|

Вертикальной линией разделяются синтаксические эле­менты, среди которых нужно выбрать только один.



Специальные символы, используемые в исходном тексте

//

Двумя знаками «косая черта» начинается комментарий. Коммен­тарием считается весь текст от знака "//" до конца текущей стро­ки.

|

Вертикальная черта в начале строки используется только в стро­ковых константах и означает, что данная строка является про­должением предыдущей (перенос строки), (см. «Строковые кон­станты»).

~

Знаком тильда начинается метка оператора.

:

Двоеточием заканчивается метка оператора.

;

Точка с запятой является символом разделения операторов.

( )

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

[ ]

В квадратные скобки заключается размерность массивов.

,

Запятая разделяет параметры в списке параметров методов, про­цедур и функций.

" "

В двойные кавычки заключаются строковые константы.

' '

В одинарные кавычки заключаются константы даты.

.

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

+

Символ «плюс» обозначает операцию сложения.

-

Символ «минус» обозначает операцию вычитания.

*

Символ «звездочка» обозначает операцию умножения.

/

Символ «косая черта» обозначает операцию деления.

Правая угловая скобка обозначает логическую операцию «боль­ше».

>=

Логическая операция «больше или равно».

Левая угловая скобка обозначает логическую операцию «мень­ше».

<=

Логическая операция «меньше или равно».

=

Знак равенства обозначает присвоение или логическую операцию «равно».

<> 

Две угловые скобки обозначают логическую операцию «не рав­но».








 

 

 

 

 

 

 

 

 

 

 

Пример

Рассмотрим часть модуля документа «Счет» в программе «1С:Бухгалтерия»





Процедура «Печать» - создание печатной формы документа.



Процедура Печать()

           

            Таб = СоздатьОбъект("Таблица");

            ИмяФайлаПечатнойФормы = КаталогИБ()+"ExtForms\PrnForms\1cbs.mxl";

            Если ФС.СуществуетФайл(ИмяФайлаПечатнойФормы) = 1 Тогда

                        Таб.ИсходнаяТаблица(ИмяФайлаПечатнойФормы);

            Иначе

                        Таб.ИсходнаяТаблица("Таблица");

            КонецЕсли;

            Таб.ВывестиСекцию("Шапка");


            ВыбратьСтроки();

            Ном = 0;

            Пока ПолучитьСтроку()=1 Цикл

                        Ном = Ном + 1;

            Таб.ВывестиСекцию("Строка");

            КонецЦикла;


            Таб.ВывестиСекцию("Итого");

            Таб.ВывестиСекцию("НДС");

            Если УчитыватьНП = 1 Тогда

                        Таб.ВывестиСекцию("НП");

            КонецЕсли;

            Таб.ВывестиСекцию("Подвал");


КонецПроцедуры




Процедура «Ввод на основании» - документ будет выводиться на основании другого документа.


Процедура ВводНаОсновании(ДокОсн) //предопределенная

            Новый = 1;

            Если ДокОсн.Вид() = "РасходнаяНакладная" Тогда

                        РасчетныйСчет = ДокОсн.РасчетныйСчет;

                        Контрагент = ДокОсн.Контрагент;

                        Договор = ДокОсн.Договор;

                        Плательщик = ДокОсн.Контрагент;

                        ВариантРасчетаНалогов = ДокОсн.ВариантРасчетаНалогов;

                        ДокОсн.ВыбратьСтроки();

                        Пока ДокОсн.ПолучитьСтроку() = 1 Цикл

                                   НоваяСтрока();

                                   Товар = ДокОсн.Товар;

                                   Количество = ДокОсн.Количество;

                                   Цена = ДокОсн.Цена;

                                   Сумма = ДокОсн.Сумма;

                                   НДС = ДокОсн.НДС;

                                   НП = ДокОсн.НП;

                                   Всего = ДокОсн.Всего;

                        КонецЦикла;

            КонецЕсли;

           

КонецПроцедуры //ВводНаОсновании


Страницы: 1, 2, 3, 4, 5, 6, 7



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.