Вопрос вроде простой, если бы не одно "но". Пример:
Табличный документ следующий:
1.
2.
3.
4.
5. Молоток
6. Гвозди
Цифры - это номера строк. Надо удалить все пустые строки в документе,чтобы результат был только
1.Молоток
2.Гвозди
Если обходить ТД в цикле:
СчСтрок =1;
ВысотаТабл = ТабДок.ВысотаТаблицы;
Пока СчСтрок<> ВысотаТабл Цикл
Если ТабДок.Область(СчСтрок,1).Текст = ""
Тогда
ТабДок.УдалитьОбласть()//со смещением по вертикали
КонецЕсли;
СчСтрок = СчСтрок+1;
КОнецЦикла;
Облом в том, что область удаляется, смещается и следующий обход цикла начинается не со следующей строки, а перескакивая через строку.
Пример
СчСтрок =1. Удалили пустую строку, сдвинули, 2я строка встала на место первой и в следующем шаге цикла (счСтрок=2) новую первую уже пропустим..
СчСтрок =1;
ВысотаТабл = ТабДок.ВысотаТаблицы;
Пока СчСтрок<> ВысотаТабл Цикл
Если ТабДок.Область(СчСтрок,1).Текст = ""
Тогда
ТабДок.УдалитьОбласть()//со смещением по вертикали
ВысотаТабл = ВысотаТабл - 1;//высота становится меньше
Иначе
СчСтрок = СчСтрок+1;
КонецЕсли;
КОнецЦикла;