Поделитесь в соцсетях

Обход таблицы значений

Содержание[Убрать]

Обход таблицы значений

Как обойти (перебрать) поочередно все ячейки таблицы значений?

 

Чтобы обойти все ячейки обычно используют следующую схему:

  1. Перебирают строки
  2. У каждой строки перебирают колонки

Этот способ определен расположением данных. Как правило данные в одной строке связаны. Для перебора используют разные конструкции самая простая конструкция которую использую я, если не надо удалять/добавлять значения:



КолонкиТЗ = НоваяТЗ.Колонки;
Для Каждого ТекСтрока Из НоваяТЗ Цикл
Для Каждоко ТекКолонка Из КолонкиТЗ Цикл
ТекЯчейка = ТекСтрока[ТекКолонка.Имя];
КонецЦикла;
КонецЦикла;

Некоторые используют другую конструкцию цикла:



Для с=1 По НоваяТЗ.Количество() Цикл
// какие-то действия
КонецЦикла;

Или смешивают их для достижения большей скорости. Я как-то замерял скорость разных вариаций цикла и их сочетаний для таблицы в 1000 строк и 100 колонок, но разницы не заметил. Иногда были колебания в пределах секунды, но это не было постоянно чтобы можно было подтвердить большую скорость одной из них.

Поэтому я пришел к выводу, что скорость перебора зависит от конкретных данных.

Если Вас интересует как обойти таблицу значений 1с с конца то это показано в статье про удаление строк здесь

Недостаточно прав для комментирования