Как перебрать табличный документ 1с
Перейти к содержимому

Как перебрать табличный документ 1с

  • автор:

Как обойти строки табличной части?

Обход строк табличной части проще всего реализуется с помощью цикла Для Каждого СтрокаТЧ Из ТабЧасть Цикл.

При этом переменной цикла будет являться не номер строки, а вся строка как объект. Если нужен еще номер строки, то можно использовать свойство НомерСтроки или добавить переменную и инкрементировать ее в теле цикла.

Есть также возможность использовать обычный цикл Для . По . Цикл, но необходимо помнить, что индекс 1-го элемента коллекции всегда равен 0 (нулю).

Цикл по ячейкам таблицы табличного дока

Как правильно сделать обход ячеек таблицы табличного дока?
Известно количество строк и колонок таблицы и, если все ячейки имели бы такие имена: «R21C2», то нет проблем. Но когда попадаются объединенные ячейки: «R21C7:R21C9» — как тут быть?

(4)
ОбластьСтрока = ТабличныйДокумент.Область(«R»+(Стр+1));
Расш = ОбластьСтрока.Расшифровка;

Как сделать, чтоб Расшифровка была доступна для чтения?

Я типа того задачу делал

// При изменеии поля в Табличном документе
Процедура ТабДокПриИзмененииСодержимогоОбласти(Элемент, Область)
Перем ИмяЯчейки;
МногострочнаяСтрока = СтрЗаменить(СтрЗаменить(Область.Имя,»C»,Символы.ПС),»R»,Символы.ПС);

НомерСтроки = СтрПолучитьСтроку(МногострочнаяСтрока,2);
НомерКолонки = СтрПолучитьСтроку(МногострочнаяСтрока,3);

(0) не совсем понял в чем проблема, если у тебя известны:

«Известно количество строк и колонок таблицы»

Просто обходишь циклом ячейки. Если в имени ячейки встречается «:», то ячейка состовная. Тебе в (15) об этом говорили.

Т.е. если имя «R21C7» — ячейка без объединения
Если «R21C7:R21C9» — есть «:», значит объединенная. Можно еще Обрабатывать сами «R» и «C» (их количество).

аутор, делай так и привет:

ТвояОбласть = ТабДок.ПолучитьОбласть();
Для к = 1 По ТвояОбласть.ВысотаТаблицы Цикл
Сообщить(ТвояОбласть.Область(к,1,к,1).Текст;)
КонецЦикла;

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *