7.7 Количество страниц в отчете

olga13

Well-known member
10.10.2008
208
0
#1
День добрый! У меня такая проблема: на первом листе спецификации нужно указать общее количество листов. Но, пока я не выведу весь отчет, я не знаю, сколько будет листов. Можно ли каким-то образом задать значение в ячейке таблицы уже после того, как в таблицу выведена секция? Или заранее как-то посчитать, сколько получится листов?
 

olga13

Well-known member
10.10.2008
208
0
#3
Через колонтитул не годится, количество листов должно указываться в таблице. Это инженерная документация, там штамп в углу. Или есть способ колонтитул в таблицу вывести?
 

puh14

Well-known member
11.07.2008
1 412
0
#4
Тогда только зная точное кол-во строк на странице. Самый лучший способ что я видел был такой -

Основная проблема - очень длинное ( до 800 символов) наименование. Бывает и по 50 символов, соответственно высота строки пляшет. Надо чтобы выводилось корректно и переносилось между страницами.

решение : создаются две секции строки с ФИКСИРОВАННОЙ высотой. При выводе строчной части считаетя кол-во символов в строке. Если меньше 50 - выводится первая секция, и цикл двигается дальше.
Если больше - тогда от строки откусывается первые 50 символов, выводится первая секция, а дальше запускается второй цикл, в котором от оставшейся строки откусываются и выводятся по 50 символов во второй секции ( в ней нет поперечных перегородок, для красоты) и так пока строка не кончится. Дальше опять цикл по табчасти документа.


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

gorlanovmax

Well-known member
19.06.2008
286
0
#5
Все строки отчета запихать в ТЗ. Посчитать кол-во строк. Узнать сколько строк у Вас помещается на странице. Остальное - дело математики
 

olga13

Well-known member
10.10.2008
208
0
#6
Спасибо за советы. Думаю, что вариант с ТЗ мне больше подходит, попробую воплотить.
 
K
#7
при выводе первой страницы запомнить адрес ячейки в которую будем выводить кол. страниц, после вывода всей печатной формы через Область.Текст проставляем нужное значение
 

olga13

Well-known member
10.10.2008
208
0
#8
kaa, огромное спасибо! Через Область.Текст все получилось!