Цикл — это способ повторить несколько строк программного кода нужное количество раз. Обычно — пока не выполнится нужна условная операция.
Основные циклы в 1С — это «Пока … Цикл» и «Для каждого … из … Цикл». Далее — подробнее про циклы в 1С.
Коллекция значений — это список. Коллекции значений часто возвращают различные методы. Например, таблица – это список строк. Результат запроса – также список строк с данными.
Самый распространенный цикл в 1С позволяет обойти коллекцию «построчно», например:
//Пример с таблицей
Таблица = Новый ТаблицаЗначений();
Таблица.Колонки.Добавить("ИмяКолонки");
Для каждого Строка из Таблица Цикл
Строка.ИмяКолонки = 1;
КонецЦикла;
//Пример с запросом – выгрузка данных в таблицу
Запрос = Новый Запрос("ВЫБРАТЬ Наименование ИЗ Справочник.Номенклатура");
Результат = Запрос.Выполнить().Выгрузить();
Для каждого Строка из Результат Цикл
Сообщить(Строка.Наименование);
КонецЦикла;
Второй по распространенности цикл в 1С позволяет обойти коллекцию пока условие «истинно» (см. условные операции и булево выше):
//Пример с запросом - выборка
Запрос = Новый Запрос("ВЫБРАТЬ Наименование ИЗ Справочник.Номенклатура");
Выборка = Запрос.Выполнить().Выбрать(); //выборка – это последовательный доступ
Пока Выборка.Следующий() Цикл //эта функция возвращает Истина, если еще есть строчки
Сообщить(Выборка.Наименование);
КонецЦикла;
//Пример с таблицей
Сч = 0;
Таблица = Новый ТаблицаЗначений();
Пока Сч < Таблица.Количество() Цикл Строка = Таблица.Получить(Сч); Сч = Сч + 1; КонецЦикла;
Выполнение циклов в 1С можно прервать, пример организации «вечного» цикла в 1С:
Сч = 0;
Пока Истина Цикл
Сч = Сч + 1;
Если Сч > 100 Тогда
Прервать;
КонецЕсли;
КонецЦикла;
Можно пропустить выполнение кода внутри цикла в 1С для некоторых элементов:
Менее распространенный цикл в 1С – это цикл на определенное количество проходов:
Для Сч = 1 по 10 Цикл
//действия…
КонецЦикла;
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.