Циклы в 1С на примерах

Цикл – это конструкция, которая предназначена для многократного исполнения неких инструкций. Во встроенном языке 1С существует три вида циклов «Пока», «Для» и «Для Каждого». Рассмотрим на примерах работу с каждым из них.

Цикл «Пока»

Синтаксис:

Пока <Логическое выражение> Цикл
// Операторы
КонецЦикла;

Принцип работы такого цикла заключается в том, что операторы находящиеся после ключевого слова «Цикл», будут выполнятся пока логическое выражение будет равно ИСТИНА.

Пример:

Счётчик = 1;
Пока Счётчик <= 5 Цикл
            Сообщить(Счётчик);
            Счётчик = Счётчик + 1;  
КонецЦикла;

В результате выполнения такого цикла, в окно сообщений будут последовательно выведены цифры от 1 до 5.

Наша команда предоставляет услуги по консультированию, настройке и внедрению 1С.
Связаться с нами можно по телефону +7 499 350 29 00.
Услуги и цены можно увидеть по ссылке.
Будем рады помочь Вам!

Цикл «Для»

Синтаксис:

Для <Имя переменной> = <Начальное значение> По <Конечное значение> Цикл
// Операторы
КонецЦикла;

После начального присвоения значения для переменной после ключевого слова «Для», такой цикл прекратится, когда значение переменной будет меньше либо равно конечному значению после ключевого слова «По». В таком цикле приращение переменной происходит автоматически, и всегда равно «1».

Пример:

Для Счётчик = 1 По 5 Цикл
Сообщить(Счётчик);
КонецЦикла;

Результат:

Цикл «Для Каждого»

Синтаксис:

Для Каждого <Элемент> Из <Коллекция> Цикл
// Операторы
КонецЦикла;

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

Пример кода:

// Создание массива
Массив = Новый Массив();

// Наполнение массива
Массив.Добавить("Элемент №1");
Массив.Добавить("Элемент №2");
Массив.Добавить("Элемент №3");

// Обход массива по элементам
Для Каждого Элемент Из Массив Цикл
Сообщить(Элемент);
КонецЦикла;

Визуальное представление созданного массива в 1С:

Результат работы цикла:

Вложенные циклы

Во встроенном языке программирования 1С  доступна возможность использования вложенных циклов. К классическому примеру использования таких конструкций можно отнести один из способов последовательного перебора всех ячеек таблицы значений.

Пример:

КоллекцияКолонок = ТаблицаЗначений.Колонки;
Для Каждого ТекущаяСтрока Из ТаблицаЗначений Цикл
Для Каждого ТекущаяКолонка Из КоллекцияКолонок Цикл
// Получаем значение ячейки
ТекущаяЯчейка = ТекущаяСтрока[ТекущаяКолонка.Имя];
КонецЦикла;
КонецЦикла;

С помощью внешнего цикла мы последовательно получаем строки из коллекции «ТаблицаЗначений». Затем во внутреннем цикле, имея строку, получаем значение каждой ячейки из коллекции  «КоллекцияКолонок».

Как организовать обратный цикл

Пример:

Счётчик = 5;

Пока Счётчик >= 1 Цикл
Сообщить(Счётчик);
Счётчик = Счётчик - 1;
КонецЦикла;

Результат:

Как принудительно продолжить цикл

Принудительный переход к следующей итерации в циклах 1С осуществляется с помощью оператора «Продолжить» (Continue).

Пример:

Для Счетчик = 1 По 5 Цикл

Если Счетчик = 2 Тогда
Продолжить;
КонецЕсли;

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

КонецЦикла;

В таком примере с помощью операторов «Если» и «Продолжить» пропускаем цифру «2».

Результат:

Как прервать цикл

Полный выход из цикла (прерывание) во встроенном языке программирования 1С осуществляется с помощью оператора «Прервать» (Break).

Пример:

Для Счетчик = 1 По 5 Цикл

Если Счетчик = 2 Тогда
Прервать;
КонецЕсли;

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

КонецЦикла;

Такой цикл перестанет выполняться, как только значение переменной «Счётчик» будет равно «2».

Результат:

Поделиться

Оцените статью

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
Загрузка...

Подпишитесь на наш YouTube канал

YouTube

Подписаться

Комментировать