Получение высоты таблицы

Новая тема
"Как можно получить высоту свормированной таблицы (печатной формы документа)?
Пробую:

ЗаполненнаяОбласть=Таб.Область(1,1,Таб.ВысотаТаблицы(),Таб.ШиринаТаблицы());
Если ЗаполненнаяОбласть.ВысотаСтроки()<200 Тогда
    Перейти ~Повтор;
КонецЕсли;

ЗаполненнаяОбласть.ВысотаСтроки() - всегда 0 и соответственно бесконечный цикл

Кол-во экземпляров на странице не подходит, не дружит 1С с драйвером принтера Xerox Phaser 3150 PCL 6. Пробовал на разных ПК - w98, XP, w2k3 - никак. Драйвер фирмы производителя.
А вот с HP LJ 1100 дружит, но он уже совсем никуда не годный :(

Только не надо пинать, "а зачем такой принтер покупали", все не усмотриш, начальство и так уже запинало...
"
?! ЗаполненнаяОбласть.ВысотаСтроки() - зачем? Если высоту таблицы - Таб.ВысотаТаблицы(). Если количество страниц, то лучьше Таб.ВысотаТаблицы() сравнивать с фиксированным количеством строк на странице.
Если нужно узнать высоту таблицы в пунктах, то ВысотаСтроки() возвращает не 0, если высота строки была установлена в ручную (т.е. 0 - Авто). Причем только если выбрать одну строку.
Строки могут быть разной высоты, в зависимости от длинны наименования, которое может увеличивать высоту строки и переноситься. Тут даже СтрДлина не поможет, размер символов не одинаковый.

Вот показания отладчика на строке с Перейти...
Таб.ВысотаТаблицы() = 23
Таб.ШиринаТаблицы() = 6
ЗаполненнаяОбласть.ВысотаСтроки() = 0
В том то и дело ... :(

В 1С++ вроде можно узнать точную высоту строки, но только для показанной таблицы (хотя ее можно спрятать). Для стандартной 1С только если установить высоту вручную для каждой строки :( (во всяком случае мне не удалось сделать по другому).
Читают тему
(гостей: 1)

Быстрый переход