Цикл — это конструкция, предназначенная для многократного выполнения набора инструкций. Во встроенном языке 1С существуют три вида циклов: «Пока», «Для» и «Для Каждого из». В этой статье подробно рассмотрим каждый из них, а также особенности работы с вложенными циклами, организацию обратных циклов и способы управления их выполнением.
Цикл «Пока»
Синтаксис:
Пока <Логическое выражение> Цикл // Операторы КонецЦикла;
Этот цикл выполняется до тех пор, пока заданное логическое выражение истинно, т.е. возможно зацикливание
Пример:
Счётчик = 1; Пока Счётчик <= 10 Цикл Сообщить(Счётчик); Счётчик = Счётчик + 1; КонецЦикла;
Результат: В окно сообщений последовательно выводятся числа от 1 до 10. В даном случае приращение (итерацию) счетчика мы выполняем самостоятельно, шаг = 1
Цикл «Для»
Синтаксис:
Для Счётчик = 1 По 10 Цикл Сообщить(Счётчик); КонецЦикла;
Этот цикл автоматически изменяет значение переменной от начального до конечного с шагом 1, в цикле для нельзя задавать шаг
Результат: В окно сообщений последовательно выводятся числа от 1 до 10.
Цикл «Для Каждого»
Используется для последовательной выборки с начала коллекции до конца, доступен для универсальных коллекций, или других объектов и свойств объектов
Для Каждого Элемент Из МассивТаблица_ДругаяКолекция Цикл // Код в цикле КонецЦикла;
Результат: В окно сообщений выводятся все элементы массива.
Вложенные циклы
Во встроенном языке программирования 1С можно использовать циклы внутри циклов. Это особенно удобно при работе с многомерными структурами данных, но рекомендуется не применять излишнюю вложенность, иначе будет сложно выходить из таких циклов, без использования метода “Перейти” .
Пример:
Для Каждого Элемент Из МассивТаблица_ДругаяКолекция Цикл // Код перед вложенным циклом Для Счетчик = 1 по 100 Цикл // Код вложенного цикла КонецЦикла; // Код после вложенного цикла КонецЦикла;
Обратный цикл
Для организации обратного цикла можно использовать цикл «Пока» с уменьшением значения переменной.
Пример:
Счётчик = 10; Пока Счётчик >= 1 Цикл Сообщить(Счётчик); Счётчик = Счётчик - 1; КонецЦикла;
Результат: В окно сообщений выводятся числа от 10 до 1.
Принудительное продолжение цикла
Для перехода к следующей итерации цикла используется оператор «Продолжить». Имеет смысл, когда код в цикле не всегда должен выполнятся.
Прерывание цикла
Для полного выхода из цикла применяется оператор «Прервать».
Эти конструкции позволяют эффективно решать задачи перебора данных, выполнения повторяющихся операций и управления процессом их выполнения в языке 1С:Предприятие.
Легче сочинить десять правильных сонетов, чем хорошее рекламное объявление.