Циклы в 1С
Внимание! В конце статьи ссылка на видеоурок.
Если Вы раньше не сталкивались с программированием, то вероятно не совсем понятна необходимость использования цикла в программе 1С. В этой статье я расскажу об операторах цикла, а также об их основном назначении.
Но сначала, для ясности, несколько пояснений об употребляемых в статье выражениях:
Итерация – это повторение.
Операторные скобки – зарезервированные слова, которые всегда записываются парами, открывающим оператором и закрывающим оператором. Например: Функция – КонецФункции, Если – КонецЕсли, Для – КонецЦикла и т.д.
Тело цикла – программный код находящийся внутри операторных скобок цикла.
Цикл – это конструкция, которая повторяет выполнение строк находящихся в теле цикла, количество повторений зависит от результата выполнения условий в начале цикла.
Если бы не было этого оператора, то код находящийся внутри цикла пришлось бы написать столько раз сколько итераций нам нужно. Представляете, если в документе 100 строк и их надо перебрать и, допустим, изменить значение, а если при этом их количество периодически меняется, т.е. они добавляются и удаляются. Это было бы не просто.
Цикл позволяет упростить задачу с выполнением повторяющихся строк кода.
В программе 1С 8.1 существует три конструкции цикла:
«Для .. По .. Цикл» - повторяет количество циклов с начального значения счетчика до конечного указанного значения, прибавляя 1 к переменной счетчика при каждой итерации. Используется когда известно количество итераций.
Цикл 1С Для
Для Счетчик = 1 По 3 Цикл
//Тело цикла
КонецЦикла;
Цикл 1С Пока
«Пока … Цикл» - выполняется пока вычисляемое значение равно Истина. Может использоваться в случаях, когда переменные для вычисления выражения меняются в теле цикла либо, если перебирается коллекция и у нее есть соответствующий метод возвращающий булево, который вызывается в начале цикла.
Пока Выборка.Следующий() Цикл
//Тело цикла
КонецЦикла;
Цикл 1С Для каждого
«Для Каждого … Из … Цикл» перебирает коллекцию с первого по последний элемент. Записывая в переменную(в примере: ТекЭлемент) значение элемента.
Для Каждого ТекЭлемент Из МассивЭлементов Цикл
//Тело цикла
КонецЦикла;
Обратный цикл 1С
Также существует обратный цикл, который можно использовать для обхода коллекций в обратном порядке т.е. снизу вверх(с конца). Такой способ может понадобиться если нужно удалять элементы коллекции
КоличествоЭлементов = МассивЭлементов.Количество();
Для ОбратныйИндекс = 1 По КоличествоЭлементов Цикл
ТекЭлемент = МассивЭлементов[КоличествоЭлементов - ОбратныйИндекс];
КонецЦикла;
Операторы продолжить и прервать рассматриваются в видео, ссылка ниже.
Более подробно о циклах 1C Вы можете узнать из видеоурока, скачав файл по этой ссылке.
Комментарии
Изменить цены уже набранной номенклатуры для одного контрагента, на цены выбранного. (1С:Предприятие 8.1 (8.1.14.72))
RSS лента комментариев этой записи