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

Новая тема
"Как можно получить высоту свормированной таблицы (печатной формы документа)?<br>Пробую:<br><br>ЗаполненнаяОбласть=Таб.Область(1,1,Таб.ВысотаТаблицы(),Таб.ШиринаТаблицы());<br>Если ЗаполненнаяОбласть.ВысотаСтроки()<200 Тогда<br>     Перейти ~Повтор;<br>КонецЕсли;<br><br>ЗаполненнаяОбласть.ВысотаСтроки() - всегда 0 и соответственно бесконечный цикл<br><br>Кол-во экземпляров на странице не подходит, не дружит 1С с драйвером принтера Xerox Phaser 3150 PCL 6. Пробовал на разных ПК - w98, XP, w2k3 - никак. Драйвер фирмы производителя.<br>А вот с HP LJ 1100 дружит, но он уже совсем никуда не годный :(<br><br>Только не надо пинать, "а зачем такой принтер покупали", все не усмотриш, начальство и так уже запинало...<br>"
?! ЗаполненнаяОбласть.ВысотаСтроки() - зачем? Если высоту таблицы - Таб.ВысотаТаблицы(). Если количество страниц, то лучьше Таб.ВысотаТаблицы() сравнивать с фиксированным количеством строк на странице.
Если нужно узнать высоту таблицы в пунктах, то ВысотаСтроки() возвращает не 0, если высота строки была установлена в ручную (т.е. 0 - Авто). Причем только если выбрать одну строку.
Строки могут быть разной высоты, в зависимости от длинны наименования, которое может увеличивать высоту строки и переноситься. Тут даже СтрДлина не поможет, размер символов не одинаковый.<br><br>Вот показания отладчика на строке с Перейти...<br>Таб.ВысотаТаблицы() = 23<br>Таб.ШиринаТаблицы() = 6<br>ЗаполненнаяОбласть.ВысотаСтроки() = 0
В том то и дело ... :(<br><br>В 1С++ вроде можно узнать точную высоту строки, но только для показанной таблицы (хотя ее можно спрятать). Для стандартной 1С только если установить высоту вручную для каждой строки :( (во всяком случае мне не удалось сделать по другому).
Читают тему

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