Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
теория по 1С.docx
Скачиваний:
75
Добавлен:
07.02.2015
Размер:
24.76 Mб
Скачать

Цикл Пока (While)

Оператор цикла Покапредназначен для циклического повторения операторов, находящихся внутри цикла. Цикл будет выполнятся пока не выполнится условие, т.е. <ЛогическоеВырожение> не станет равно Истина.

Выполнение цикла можно можно прервать в любой момент при помощи оператора Прервать; после него управление передастся операторам после КонецЦикла;.  Так же можно прервать только текущую итерацию и перейти к следующей итерации при помощи операторПродолжить.

Структура цикла (Русскоязычный синтаксис):

Пока<ЛогическоеВырожение>Цикл

<операторы>

КонецЦикла;

Структура цикла (Англоязычный синтаксис):

While<Логическоевыражение>Do

<операторы>

EndDo;

Оператор Прерватьможно заменить наBreak, иПродолжитьнаContinue.

 

 

Пример 1. Цикл Для

Задача: Узнать сколько раз число 387 будет делится без остатка на 3, уменьшая число на 28. Количество итераций равно 10.

Число=387;

Счетчик=0;

ДляКолПроходов=0по10Цикл

Если((Число/3)=0)Тогда

Счетчик=Счетчик+1;

КонецЕсли;

Число=Число-28;

КонецЦикла;

Сообщить(Счетчик);

 

Пример 2. Цикл Для каждого

Задача: У нас есть таблица значений “Товар” со столбцом Цена и наименование, необходимо подсчитать сумму всех товаров, но если встретим товар ”груша” прерывать цикл.

Сумма=0;

ДлякаждогоТекЭлизТоварЦикл

Сумма=Сумма+ТекЭл.Цена;

Если(ТекЭл.наименование="груша")тогдаПрервать();

КонецЦикла;

Сообщить(Сумма);

Пример 3. Цикл Пока

Есть число 586 сколько раз придется уменьшить число на 2 пока число не станет 0;

Число=586;

Счетчик=0;

Пока(Число<>0)Цикл

Число=Число-2;

Счетчик=Счетчик+1;

КонецЦикла;

Сообщить(Счетчик);

$11 Процедуры

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

Структура процедуры:

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

Процедура<ИмяПроцедуры>([[Знач]<ИмяПараметра>[=<ЗначениеПоУмолчанию>]],...)[Экспорт]

// операторы

[Возврат;]

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

или англоязчный

Procedure<ИмяПроцедуры>([[Знач]<ИмяПараметра>[=<ЗначениеПоУмолчанию>]],...)[Export]

// операторы

[Return;]

EndProcedure;

Описание:

ИмяПроцедуры– наименование процедуры.

Знач– указывает что параметр справа будет использовать значение и передача значения не повлияет на него.

ИмяПараметра- наименование параметра.

ЗначениеПоУмолчанию– значение которое будет браться по умолчанию для параметра.

 … – я так указал что параметров может быть много.

Экспорт– делает доступной данную процедуру из других модулей.

Возврат- завершает работу процедуры.

Пример процедуры

&НаКлиенте

ПроцедураКоманда1(Команда)

   п1=31;п2=2;

   Печать(п1,п2,3);

   Сообщить("Перем1-"+п1);//выдаст 31

   Сообщить("Перем2-"+п2);//выдаст 22

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

&НаКлиенте

ПроцедураПечать(ЗначПеременная1,Переменная2,Переменная3=2)Экспорт

   Сообщить("Перем1-"+Переменная1);// выведет 31

   Переменная1=56;

   Сообщить("Перем1(56)-"+Переменная1);// выведет 56

   Сообщить("Перем2-"+Переменная2);// выведет 2

   Переменная2=22;

   Сообщить("Перем2(22)-"+Переменная2);// выведет 22

   Сообщить("Перем3-"+Переменная3);// выведет 3

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

$12 Функции

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

Функция начинается с ключевого слова Функция,  заканчиваетсяКонецФункции.

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

Структура функции:

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

Функция<Имя>([[Знач]<ИмяПараметра>[=<ЗначениеПоУмолчанию>]],...)[Экспорт]

// операторы

[Возврат<значение>;]

Конецфункции;

или англоязчный

Function<Имя>([[Знач]<ИмяПараметра>[=<ЗначениеПоУмолчанию>]],...)[Export]

// операторы

[Return<значение>;]

EndFunction;

Описание (схожи с процедурами):

Имя- наименование функции.

Знач- указывает что параметр справа будет использовать значение и передача значения не повлияет на него.

ИмяПараметра- наименование параметра.

ЗначениеПоУмолчанию- значение которое будет браться по умолчанию для параметра.

… – я так указал что параметров может быть много.

Экспорт- делает доступной данную функцию из других модулей.

Возврат <значение>- завершает работу функции передает возвращаемое значение.