Contributors mailing list archives

contributors@odoo-community.org

Browse archives

Avatar

Re: Paperformat issues (Odoo14)

by
Francesco Ballerini
- 10/06/2024 10:26:48
Hi Tom, I've never looked closely at wkhtmltopdf and odoo report rendering methods so I've found your answer useful, at least I get a more precise idea of the limitations.
Thanks for the detailed explanation.

--
Francesco Ballerini


Il giorno ven 7 giu 2024 alle ore 20:03 Tom Blauwendraat <notifications@odoo-community.org> ha scritto:

Hi Francesco,

thanks for the more detailed explanation, I get your wish now, I didn't before. You basically want the margin-bottom to differ per page.

I think that's not easy because of the way things are implemented in Odoo - header, content and footer are passed to wkhtmltopdf as separate html blobs, and the margins are global parameters that define the space between them. The header and footer are repeated on each page and get passed a page numbering variable, which is what enables report_qwb_element_page_visibility to work. For the content, it flows across the whole document and generally you don't know while rendering on which page you are.

So in essence, these are constraints of wkhtmltopdf.

-Tom


On 6/7/24 15:02, Francesco Ballerini wrote:
One last note I forgot to report: it might be obvious, but although this issue might not be really problematic on standard report layouts, It will become an issue when you manage 4x or 5x higher footers, as the occupied space becomes relevant. 
I posted an example with standard reports only for reproducibility.

--
Francesco Ballerini

Il giorno ven 7 giu 2024 alle ore 14:44 Francesco Ballerini <francescobl.lavoro@gmail.com> ha scritto:

Hi Tom,


Thanks for the super quick response.

AFAIK the report_qweb_element_page_visibility operates on the area outside the margins of the "content area" so the two things should be clearly separated


That actually make sense for me, so since I was testing a custom report I've tried to reproduced the situation on OCA/reporting-engine odoo14 instance, unfortunately I must confirm what I've said in previous message: if you leave paper format margin bottom value to 0px the footer will not be rendered with or without the installation of module report_qweb_element_page_visibility .

I've taken notes of all steps to reproduce this behaviour, you can read detailed steps below. Is there anything we can do? Should I open an issue for the module?

I don't think it's strictly related, so I'm not sure what to do here.


Steps to reproduce (example with sale order report)


ADD VISIBILITY CLASS (render footer only in last page)

- go on Settings > search for > search for "Document Layout", ensure the "external_layout_standard" or another layout is set

- open the document layout by "external-link" window, find the "div" with footer class and add class "last-page"


ENSURE PAPER FORMAT USAGE ON REPORT

- go on Technical > Actions > Reports , select the one named "Quotation / Order"

- set "A4" record as value for "Paperperformat" field, then click to open the paperformat (or go on Technical > Reporting > Paper Format, and select the A4 paperformat)


CHANGE PAPER FORMAT PARAMETER

- set margin bottom to 0px


PREPARE SALE ORDER DOCUMENT

- make a sale order that will have enough products to generate a report of at least 2 pages (around 25 products should be fine for the standard report)


PRINT DOCUMENT

- on the sale order click "Print" > Quotation / Order


CURRENT BEHAVIOUR

Footer will not be rendered on last page (I posted the report in attachments)


Thank you,
Francesco Ballerini
--------------

Il giorno ven 7 giu 2024 alle ore 12:22 Tom Blauwendraat <notifications@odoo-community.org> ha scritto:

It sounds a bit paradoxical that you define a bottom margin for the report which is then occupied :)

AFAIK the report_qweb_element_page_visibility operates on the area outside the margins of the "content area" so the two things should be clearly separated

Do you perhaps have a screenshot with some arrows and circles highlighting what you mean

On 6/7/24 12:13, Francesco Ballerini wrote:

Hi, 


I am using this module report_qweb_element_page_visibility to be able to show footer conditionally in reports, but I'm having issues with paperformat.


I need to define  a "margin botton" paperformat parameter in order to let the footer get the proper space when it needs to be rendered, although by defining a static paperformat margin bottom the space of the footer will always be occupied in the report, even if the footer is not displayed by the class last-page/first-page


So the OCA module works properly, but I think that the margin bottom paperformat parameter is not flexible enough to support this situation.

Did you ever come up with a solution to this ? Any kind of workaround is fine :)

Thank you
--
Francesco Ballerini

_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe

_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe

_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe

_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe

Reference