1С 8.3 Циклы - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Циклы

Циклы в 1С 8.3 - это способ повторить несколько строк программного кода нужное количество раз. Циклы применяются для выполнения каких-либо повторяющихся действий и/или нужная условная операция. В циклах часто используются условия, например: созданные с помощью оператора Если.
Создание цикла (Для ... По ... Цикл) в 1С 8.3:
&НаКлиенте
Процедура СозданиеЦиклаДляПо(Команда)

    Для
А = 1 По 10 Цикл
       
Сообщить(А); // 1 2 3 4 5 6 7 8 9 10
   
КонецЦикла;

КонецПроцедуры
Создание цикла (Для Каждого ... Из ... Цикл) в 1С 8.3:
&НаКлиенте
Процедура СозданиеЦиклаДляКаждогоИз(Команда)

   
Месяцы = Новый Массив();
   
Месяцы.Добавить("Март");
   
Месяцы.Добавить("Апрель");
   
Месяцы.Добавить("Май");
   
Месяцы.Добавить("Июнь");

    Для Каждого
Месяц Из Месяцы Цикл
       
Сообщить(Месяц); // Март Апрель Май Июнь
   
КонецЦикла;

КонецПроцедуры
Создание цикла (Пока ... Цикл) в 1С 8.3:
&НаКлиенте
Процедура СозданиеЦиклаПока(Команда)

   
Месяцы = Новый Массив();
   
Месяцы.Добавить("Март");
   
Месяцы.Добавить("Апрель");
   
Месяцы.Добавить("Май");
   
Месяцы.Добавить("Июнь");

   
А = 0;
    Пока
А < Месяцы.Количество() Цикл
       
Сообщить(Месяцы[А]); // Март Апрель Май Июнь

       
А = А + 1;// Увеличиваем счетчик
   
КонецЦикла;

КонецПроцедуры
Создание обратного цикла (Пока ... Цикл) в 1С 8.3:
&НаКлиенте
Процедура СозданиеОбратногоЦиклаПока(Команда)

   
Месяцы = Новый Массив();
   
Месяцы.Добавить("Март");
   
Месяцы.Добавить("Апрель");
   
Месяцы.Добавить("Май");
   
Месяцы.Добавить("Июнь");

   
Б = Месяцы.Количество() - 1;
    Пока
Б >= 0 Цикл
       
Сообщить(Месяцы[Б]); // Июнь Май Апрель Март

       
Б = Б - 1;// Уменьшаем счетчик
   
КонецЦикла;

КонецПроцедуры
Цикл по таблице значений в 1С 8.3:
&НаКлиенте
Процедура ЦиклПоТаблицеЗначений(Команда)

   
ТЗ = Новый ТаблицаЗначений();
   
ТЗ.Колонки.Добавить("Год");

   
// Заполняем ТЗ значениями
   
Стр = ТЗ.Добавить();
   
Стр.Год = 2020;

   
Стр = ТЗ.Добавить();
   
Стр.Год = 2021;

   
Стр = ТЗ.Добавить();
   
Стр.Год = 2022;

   
// Цикл по строкам ТЗ
   
Для Каждого СтрокаТЗ из ТЗ Цикл
       
Сообщить(СтрокаТЗ.Год); //2020 2021 2022
   
КонецЦикла;

КонецПроцедуры
Цикл по результату запроса в 1С 8.3:
&НаКлиенте
Процедура ЦиклПоРезультатуЗапроса(Команда)

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

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

КонецПроцедуры
Прерывание цикла в 1С 8.3:
&НаКлиенте
Процедура ПрерываниеЦикла(Команда)

    Для
В = 1 По 10 Цикл
        Если
В > 3 Тогда
            Прервать;
// Переход в конец цикла ***
       
КонецЕсли;

       
Сообщить(В); // 1 2 3
   
КонецЦикла;
   
//***

КонецПроцедуры
Принудительное продолжение цикла в 1С 8.3:
&НаКлиенте
Процедура ПринудительноеПродолжениеЦикла(Команда)

    Для
П = 1 По 10 Цикл //***
       
Если П <> 4 Тогда
            Продолжить;
// Возврат в начало цикла ***
       
КонецЕсли;

       
Сообщить(П); // 4
   
КонецЦикла;

КонецПроцедуры
0
отзывы
____________________
Copyright©, «Программист 1С в г.Минске», 14.04.2020
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Назад к содержимому