AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.05.2003, 11:19   #1  
dn is offline
dn
Участник
Самостоятельные клиенты AX
 
486 / 159 (6) ++++++
Регистрация: 26.03.2003
Адрес: Москва
Отчет: секции Epilog и PageFooter
Очень странно, но секция Epilog пытается распечататься после секции PageFooter(хотя по-моему всё должно быть наоборот) и соответствеyно вылезает на новую страницу. (Axapta Sp2). Кто-нибудь ещё сталкивался с такой фитчей?
Старый 30.05.2003, 11:31   #2  
Garic is offline
Garic
NavAx
Аватар для Garic
NavAx Club
 
393 / 63 (3) ++++
Регистрация: 23.07.2002
Адрес: Москва
так и должно быть
PageFooter - окончание страницы
Epilog - окончание документа
а на следующую страницу полезло поскольку не влазит на эту
__________________
С уважением, Игорь Ласийчук.
Старый 30.05.2003, 11:47   #3  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Руководство разработчика
Epilog - end of the report. Use it to display items such as a logo. The epilog is printed just after the page footer on the last page in a report.
Старый 30.05.2003, 11:52   #4  
dn is offline
dn
Участник
Самостоятельные клиенты AX
 
486 / 159 (6) ++++++
Регистрация: 26.03.2003
Адрес: Москва
Цитата:
Изначально опубликовано Garic
так и должно быть
По логике разработчиков Аксапты - может быть. Но в известных мне построителях отчетов (например CrystalReports, FastReport) - это не так.
В любом случае, большое спасибо за ответ.
Старый 30.05.2003, 12:00   #5  
dn is offline
dn
Участник
Самостоятельные клиенты AX
 
486 / 159 (6) ++++++
Регистрация: 26.03.2003
Адрес: Москва
Всем спасибо. Вопрос в догонку. Где в таком случае рекомендуется делать нумерацию страниц, если не в PageFooter'e?
Старый 30.05.2003, 12:12   #6  
Garic is offline
Garic
NavAx
Аватар для Garic
NavAx Club
 
393 / 63 (3) ++++
Регистрация: 23.07.2002
Адрес: Москва
Нумерацию можно выводить в pageFooter, а вместо Epilog использовать programmableSection которая будет вызываться вконце.
__________________
С уважением, Игорь Ласийчук.
Старый 25.06.2005, 01:00   #7  
gb is offline
gb
Участник
 
42 / 15 (1) ++
Регистрация: 31.03.2005
text at the end of a report
Task:
I need to add a large text at the end of Purchase order. I tried to call programmableSection from the executeSection of the PageFooter. If my text fits next page everything is fine. However, if the text is larger than one page I get an error and I don't get anything printed after Purchase Order at all.

Does anybody have any suggestion?
Thank you.
Старый 25.06.2005, 13:58   #8  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Try to check nessesary space before printing. If u've got space enouth, call section, or insert page break otherwise.
Something like this:
PHP код:
    boolean  fEndLine false;
    
int      q1q2q3q4;
   ;
    
/* Debuging information, uncomment to see the nessasary parameters
    q1 = element.getPageHeight();
    q2 = element.currentYmm100()/100;
    q3 = CustInvoiceTransLog_FLX_Body_4.heightValue();
    q4 = PageFooter_Sum.heightValue();
    */

    
if ((lineNum != 0) &&(cntRec lineNum) == 1//if you want print summary with the LAST record 
    
{
        if (   
//sum all sections, then check height
            
((element.getPageHeight() - element.currentYmm100()/100) <=
            (.....
ctrlBody.heightValue() +
             
PageFooter_Sum.heightValue() + ctrlReportFooterSum.heightValue()+
             
ctrlFooterInv1.heightValue() + ctrlFooterInv2.heightValue())) &&
            ((
element.getPageHeight() - element.currentYmm100()/100) > 0)
            )
        {
            
fEndLine true//need to insert page breaking
            
element.executeSection(ctrlPageFooterSum);
            
element.newPage();
        } 
Старый 25.06.2005, 23:58   #9  
gb is offline
gb
Участник
 
42 / 15 (1) ++
Регистрация: 31.03.2005
George,
Thanks a lot for your quick responce.
I actually decided to use Epilog and it works ok. See below. I am looping through myTable and pull all notes related to my purchId.

public void executeSection() // this is for epilog
{
MyTable myTable;

if (printEpilog) // this is just a global var
{
While select myTable
where myTable.PurchId == purchIdForDoc
{
strDocTitle = myTable.DocDesc;
strDocNotes = myTable.Notes;
super();
}
}
}

The only problem I have now is that when a document is longer than one page then it prints its part for one page then skips blank page and then continue on third page. Kind of strange. I tried different size of documents and it seems not important as long as it is longer than one page. The really wierd thing is that if I have two documents attached and one of them longer than one page, everythihg works fine - no blank pages.
Tnank you.
Старый 27.06.2005, 15:36   #10  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Yeah, man! That seems like a little problem this the current Y position in te report.
Some suggestions:

we have strDocNotes - str varyable and ctrlDocNotes - reportTextControl variable.
try to set property ctrlDocNotes.DynamicHeight to "Yes"
check ctrlDocNotes.height(). (info() will be enough)
set text to control: ctrlDocNotes.text(myTable.Notes);

check debug information like:
element.getPageHeight();
element.currentYmm100()/100;
ctrlFooter.heightValue();
check ctrlDocNotes.height().

if (getPageHeight() > (currentYmm100()/100 + ctrlDocNotes.height().))
insert page break;

super();


Good Luck!

Sincerely Yours,
George Nordic
Старый 27.06.2005, 18:23   #11  
gb is offline
gb
Участник
 
42 / 15 (1) ++
Регистрация: 31.03.2005
:( memo field
The problem is that my source for Doc field is a memo field and so it could be longer than one page. I can't really catch y coordinate in the middle of printing that field.

It starts printing Doc and if it is longer than one page it jumps on the next one.. for some reason it doesn't print on the second page, but leaves it blank and continues printing again on third page. The good news is that nothing gets lost , I mean all the data is printed. But that blank page is really irritaiting...
Старый 27.06.2005, 18:49   #12  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Hmm... So you have a blank page after inserting bage beaking or automaticly?

How about checking pagenum on the current page?
I've got a lot of bright ideas!

Sincerely Yours,
George Nordic
Старый 27.06.2005, 19:06   #13  
gb is offline
gb
Участник
 
42 / 15 (1) ++
Регистрация: 31.03.2005
I don't have page break and I can't really get the page number in the middle of printing one field...

What happens is that it starts printing long field, it gets to the end of the page and continues further.. it should continue printing on the next page ,but it leaveds it blank and continues printing on the third one.
below is my executesection on the epilog. If I have only one record then my while will be executed only once.

public void executeSection() // this is for epilog
{
MyTable myTable;

if (printEpilog) // this is just a global var
{
While select myTable
where myTable.PurchId == purchIdForDoc
{
strDocTitle = myTable.DocDesc;
strDocNotes = myTable.Notes;
super();
}
}
}

the debugging of currentY shows a start coordinate. the page size is static. DocNotes set as DynamicHeight on properties..
Any other ideas?
Старый 27.06.2005, 19:30   #14  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Can't this thing depends on printer settings?
Try to print at another printer or change "Bottom" property on "Program Segtion", "Design" or "Footer " from "Auto" to.. 25mm (1")

Sincerely Yours,
George Nordic
Старый 27.06.2005, 19:47   #15  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
We had a such problem... Unfortunately, I've fogeten how I solved this situation
Try to change setting before coding.

Sincerely Yours,
George Nordic
Старый 27.06.2005, 19:53   #16  
gb is offline
gb
Участник
 
42 / 15 (1) ++
Регистрация: 31.03.2005
And the really weird thing is that if I have multiple documents attached , then the long one is printing fine without any blank pages along with others..

I appreciate your help very much. If I one day get to Moscow I would love to buy you a lunch.
Thanks a lot.
Старый 27.06.2005, 20:07   #17  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Зовите работать!

2 gb: That's a joke for some inhabitant of this forum!
You're welcome. I'll be glad to see you in Moscow!

Good Luck!
Теги
отчет, ax3.0, report

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Вписать динамический отчет в страницу (DAX 4.0) Qaz Qwerty DAX: Программирование 2 17.07.2008 05:46
Ширина секции в отчете symba DAX: Программирование 2 06.06.2008 17:46
Как получить указатель на отчёт когда пользователь выбрал Печать на принтер в просмотрщике, в форму SysPrintForm? rkorchagin DAX: Программирование 10 17.04.2008 11:59
Отчет SalesInvoice "несколько раз" в одном окне Delfins DAX: Программирование 2 16.10.2006 14:33
Epilog && PageFooter kashperuk DAX: Программирование 1 19.06.2006 15:07

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:08.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.