Циклы в 1С


Цикл — это способ повторить несколько строк программного кода нужное количество раз. Обычно — пока не выполнится нужна условная операция.

Основные циклы в 1С — это «Пока … Цикл» и «Для каждого … из … Цикл». Далее — подробнее про циклы в 1С.


Коллекция значений — это список. Коллекции значений часто возвращают различные методы. Например, таблица – это список строк. Результат запроса – также список строк с данными.

Самый распространенный цикл в 1С позволяет обойти коллекцию «построчно», например:
//Пример с таблицей
Таблица = Новый ТаблицаЗначений();
Таблица.Колонки.Добавить("ИмяКолонки");

Для каждого Строка из Таблица Цикл
     Строка.ИмяКолонки = 1;
КонецЦикла;

//Пример с запросом – выгрузка данных в таблицу
Запрос = Новый Запрос("ВЫБРАТЬ Наименование ИЗ Справочник.Номенклатура");
Результат = Запрос.Выполнить().Выгрузить();

Для каждого Строка из Результат Цикл
     Сообщить(Строка.Наименование);
КонецЦикла;

Второй по распространенности цикл в 1С позволяет обойти коллекцию пока условие «истинно» (см. условные операции и булево выше):
//Пример с запросом - выборка
Запрос = Новый Запрос("ВЫБРАТЬ Наименование ИЗ Справочник.Номенклатура");
Выборка = Запрос.Выполнить().Выбрать(); //выборка – это последовательный доступ

Пока Выборка.Следующий() Цикл //эта функция возвращает Истина, если еще есть строчки
     Сообщить(Выборка.Наименование);
КонецЦикла;

//Пример с таблицей
Сч = 0;
Таблица = Новый ТаблицаЗначений();

Пока Сч < Таблица.Количество() Цикл      Строка = Таблица.Получить(Сч);      Сч = Сч + 1; КонецЦикла;

Выполнение циклов в 1С можно прервать, пример организации «вечного» цикла в 1С:
Сч = 0;
Пока Истина Цикл
     Сч = Сч + 1;
     Если Сч > 100 Тогда
          Прервать;
     КонецЕсли;
КонецЦикла;

Можно пропустить выполнение кода внутри цикла в 1С для некоторых элементов:


Только зарегистрированные пользователи VIP группы могут видеть этот контент.


Менее распространенный цикл в 1С – это цикл на определенное количество проходов:
Для Сч = 1 по 10 Цикл
     //действия…
КонецЦикла;


Проголосовать за этот пост:

1 Star2 Stars3 Stars4 Stars5 Stars (27 голосов, среднее: 2,67 из 5)
Загрузка...

Добавить комментарий