30.05.2003, 11:19 | #1 |
Участник
|
Отчет: секции Epilog и PageFooter
Очень странно, но секция Epilog пытается распечататься после секции PageFooter(хотя по-моему всё должно быть наоборот) и соответствеyно вылезает на новую страницу. (Axapta Sp2). Кто-нибудь ещё сталкивался с такой фитчей?
|
|
30.05.2003, 11:31 | #2 |
NavAx
|
так и должно быть
PageFooter - окончание страницы Epilog - окончание документа а на следующую страницу полезло поскольку не влазит на эту
__________________
С уважением, Игорь Ласийчук. |
|
30.05.2003, 11:47 | #3 |
----------------
|
Руководство разработчика
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 |
Участник
|
Цитата:
Изначально опубликовано Garic
так и должно быть В любом случае, большое спасибо за ответ. |
|
30.05.2003, 12:00 | #5 |
Участник
|
Всем спасибо. Вопрос в догонку. Где в таком случае рекомендуется делать нумерацию страниц, если не в PageFooter'e?
|
|
30.05.2003, 12:12 | #6 |
NavAx
|
Нумерацию можно выводить в pageFooter, а вместо Epilog использовать programmableSection которая будет вызываться вконце.
__________________
С уважением, Игорь Ласийчук. |
|
25.06.2005, 01:00 | #7 |
Участник
|
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 |
Модератор
|
Try to check nessesary space before printing. If u've got space enouth, call section, or insert page break otherwise.
Something like this: PHP код:
|
|
25.06.2005, 23:58 | #9 |
Участник
|
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 |
Модератор
|
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 |
Участник
|
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 |
Модератор
|
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 |
Участник
|
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 |
Модератор
|
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 |
Модератор
|
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 |
Участник
|
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 |
Модератор
|
Зовите работать!
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 |
|
|