|  11.05.2007, 15:20 | #1 | 
| Постигающий |  Вычисление размеров секций в отчете 
			
			Здравствуйте. Возникла задача - формировать шапку таблицы на каждой странице (шапка в программируемой секции лежит). После каждого Send'а я ищу конец следующим методом: X++: boolean IsPageEnd()
{
    real usedHeight;
    int  pageHeight = any2int(element.design().printerPageHeight() / 100 -
                              element.design().bottomMarginValue()       -
                              element.design().topMarginValue());
 
    usedHeight =body.HeightValue() + ... + ...  ; //и тд.. ВОТ ТУТ ЗАКОВЫРКА!
    return (usedHeight > pageHeight);
}Последний раз редактировалось Андрей К.; 11.05.2007 в 16:53. | 
|  | 
|  11.05.2007, 16:49 | #2 | 
| Постигающий | 
			
			все молчат (
		 | 
|  | 
|  11.05.2007, 18:40 | #3 | 
| Участник | 
			
			Молчат, потому что извратно это   На всякий случай, посмотрите как определяется высота в отчетах по документам закупок/заказов AxPath://AOT/Reports/SalesPurchInvoi...BeforeLastLine А ProgrammableSections - просто считайте их когда вызываете (в их executeSection) к примеру. И высоту одной умножайте на количество | 
|  | 
|  11.05.2007, 23:24 | #4 | 
| Постигающий | 
			
			2 Kashperuk Спасибо...Я совсем забыл про ExecuteSection самих секций.Там то и буду считать.  но что извратного в моей постановке?Объясните постигающему. | 
|  | 
|  11.05.2007, 23:42 | #5 | 
| Участник | 
			
			Ничего.   Извратны сами Аксаптовские отчеты, имхо. точнее, если это автоотчет, или очень простенький отчет, как большинство стандартных, то они вполне нормальны,. но когда начинаются такие мансы, как у вас - перенос страниц, рассчет высоты, табличное представление с рамкой, т.д. - мне кажется, что это изврат. Но это лишь мнение одного отдельностоящего человека.   | 
|  | 
|  12.05.2007, 09:26 | #6 | 
| Постигающий | 
			
			Мда..Создавая эти отчеты чувствуешь себя начинающим FastReport'oм..    | 
|  | 
|  13.05.2007, 11:18 | #7 | 
| Administrator | 
			
			А чем не устроил обычный PageHeader?
		 
				__________________ Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me | 
|  | 
|  13.05.2007, 20:02 | #8 | 
| Постигающий | 
			
			Максим,дело в том,что в зависимости от галочки на диалоге шапка ставится другая...Ваш вариант был бы очень хороший.Но как я могу управлять видами шапок которые будут печататься в PageHeader?Подскажите плиз.
		 | 
|  | 
|  13.05.2007, 21:44 | #9 | 
| Axapta | 
			
			Ну как вариант сделать несколько программируемых секций с шапками разными и вызывать одну из них из executeSection PageHeader'a в зависимости от галки. Не получится разве?
		 | 
|  | |
| За это сообщение автора поблагодарили: Андрей К. (1). | |
|  13.05.2007, 22:39 | #10 | 
| Постигающий | 
			
			Попробую!Кажется это то , что надо! Спасибо за совет.
		 | 
|  | 
|  14.05.2007, 11:47 | #11 | 
| Постигающий | 
			
			Да,действительно-это то,что доктор прописал! oip, +1
		 | 
|  | 
|  14.05.2007, 12:09 | #12 | 
| Axapta | 
			
			Ну вот. Надо было всего-лишь немного подумать, а не городить то, что описано в первом посте.   Наверное сразу же стоило описать цель, а не способ решения. Тогда и ответ был бы получен быстрее. Цитата: 
		
			Если вы пытаетесь разобраться, как что-либо сделать (а не сообщаете об ошибке), начинайте с описания цели. И только потом описывайте конкретный шаг на пути к ней, который вы оне смогли выполнить. Зачастую люди, которым необходима техническая помощь, имеют на уме высокоуровневую цель и привязываются к одному из возможных, по их мнению, путей ее достижения. Они просят помочь выполнить один шаг, не отдавая себе отчета в том, что выбрали неверный путь. Чтобы разобраться в этом, может потребоваться много усилий. Глупо: Как заставить диалог выбора цвета в программе FooDraw воспринимать шестнадцатеричное RGB-значение? Разумно: Я пытаюсь заменить таблицу цветов в изображении нужными мне значениями. Сейчас я вижу только один способ сделать это - редактируя каждый слот таблицы, но я не могу задать шестнадцатеричное RGB-значение в диалоге выбора цвета программы FooDraw. Вторая версия вопроса - разумна. Она позволяет получить ответ, в котором будет предложено средство, более подходящее для решения задачи. | 
|  |