Обход таблицы значений
Как обойти (перебрать) поочередно все ячейки таблицы значений?
Чтобы обойти все ячейки обычно используют следующую схему:
- Перебирают строки
- У каждой строки перебирают колонки
Этот способ определен расположением данных. Как правило данные в одной строке связаны. Для перебора используют разные конструкции самая простая конструкция которую использую я, если не надо удалять/добавлять значения:
КолонкиТЗ = НоваяТЗ.Колонки;
Для Каждого ТекСтрока Из НоваяТЗ Цикл
Для Каждоко ТекКолонка Из КолонкиТЗ Цикл
ТекЯчейка = ТекСтрока[ТекКолонка.Имя];
КонецЦикла;
КонецЦикла;
Некоторые используют другую конструкцию цикла:
Для с=1 По НоваяТЗ.Количество() Цикл
// какие-то действия
КонецЦикла;
Или смешивают их для достижения большей скорости. Я как-то замерял скорость разных вариаций цикла и их сочетаний для таблицы в 1000 строк и 100 колонок, но разницы не заметил. Иногда были колебания в пределах секунды, но это не было постоянно чтобы можно было подтвердить большую скорость одной из них.
Поэтому я пришел к выводу, что скорость перебора зависит от конкретных данных.
Если Вас интересует как обойти таблицу значений 1с с конца то это показано в статье про удаление строк здесь