Трава стала еще забористее.
уже 3 эквивалентных варианта кода (здесь ТЗ это таблица значений)
1.
для каждого СтрокаТЗ из ТЗ цикл
что-то делаем со СтрокаТЗ;
КонецЦикла;
2.
всего = ТЗ.Количество()-1;
для ИндексСтроки = 0 по всего цикл
СтрокаТЗ = ТЗ[ИндексСтроки];
что-то делаем со СтрокаТЗ;
КонецЦикла;
3.
всего = ТЗ.Количество()-1;
ИндексСтроки = 0;
пока ИндексСтроки < всего цикл
СтрокаТЗ = ТЗ[ИндексСтроки];
что-то делаем со СтрокаТЗ;
ИндексСтроки = ИндексСтроки + 1;
КонецЦикла;
Какой из вариантов вам ближе? в каких случаях? почему?
А если в первом варианте из этого же тз удалять строку то обходить тз цикл будет меньше раз на кол-во удаленных. Пример тз из 2строк 1ую удаляем и цикл завершается.