Skip to Content
Menu
This question has been flagged
4 Replies
17980 Views

Hi there:

I have a PDF report, using qWeb in Odoo (v8). My report has this line of code:

<t t-call="report.external_layout">

This line I suppose is for inserting the predefined header in the PDF report. In Settings -> Companies, tab Report Configuration in respective company, there is something like this:


<header>
<pageTemplate>
<frame id="first" x1="1.3cm" y1="3.0cm" height="21.7cm" width="19.0cm"/>
<stylesheet>
<!-- Set here the default font to use for all <para> tags -->
<paraStyle name='Normal' fontName="DejaVuSans"/>
<paraStyle name="main_footer" fontSize="8.0" alignment="CENTER"/>
<paraStyle name="main_header" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
</stylesheet>
<pageGraphics>
<!-- Set here the default font to use for all <drawString> tags -->
<setFont name="DejaVuSans" size="8"/>
<!-- You Logo - Change X,Y,Width and Height -->
<image x="1.3cm" y="27.7cm" height="40.0" >[[ company.logo or removeParentNode('image') ]]</image>
<fill color="black"/>
<stroke color="black"/>
<!-- page header -->
<lines>1.3cm 27.7cm 20cm 27.7cm</lines>
<drawRightString x="20cm" y="27.8cm">[[ company.rml_header1 ]]</drawRightString>
<drawString x="1.3cm" y="27.3cm">[[ company.partner_id.name ]]</drawString>
<place x="1.3cm" y="25.3cm" height="1.8cm" width="15.0cm">
<para style="main_header">[[ display_address(company.partner_id) or '' ]]</para>
</place>
<drawString x="1.3cm" y="25.0cm">Phone:</drawString>
<drawRightString x="7cm" y="25.0cm">[[ company.partner_id.phone or '' ]]</drawRightString>
<drawString x="1.3cm" y="24.6cm">Mail:</drawString>
<drawRightString x="7cm" y="24.6cm">[[ company.partner_id.email or '' ]]</drawRightString>
<lines>1.3cm 24.5cm 7cm 24.5cm</lines>
<!-- left margin -->
<rotate degrees="90"/>
<fill color="grey"/>
<drawString x="2.65cm" y="-0.4cm">generated by Odoo.com</drawString>
<fill color="black"/>
<rotate degrees="-90"/>
<!--page bottom-->
<lines>1.2cm 2.65cm 19.9cm 2.65cm</lines>
<place x="1.3cm" y="0cm" height="2.55cm" width="19.0cm">
<para style="main_footer">[[ company.rml_footer ]]</para>
<para style="main_footer">Contact : [[ user.name ]] - Page: <pageNumber/></para>
</place>
</pageGraphics>
</pageTemplate>
</header>

I changed some lines in order to print the header just like I need it. When I press button Preview Header/Footer, it shows everything just like I typed it, but I doesn't work when I print the report: header is still printed like it was by default. Some threads in forums say to uncheck the Reload from Attachment checkbox... in my case, it always has been unchecked.

As you can see, header is typed in RML form, and my report is in qWeb... Is this a problem? If it is it, how to fix it?

So, how to edit (... and make it to work ...) the PDF report default header???

Thanks in advance.

Avatar
Discard

Hi, if you need the solution to override the default header from code, I can help you with that as I already did that once.

Best Answer

Hi,

You changed the RML header, and you're using QWeb report.

To change the QWeb header make sure you have technical features access, then go to ->Settings->Technical->User Interface->Views

and search for "external" you'll find external_layout_header .

Regards...

Avatar
Discard
Best Answer

Try This
this is default header of q-web report  you can edit it.
 

<t t-name="report.external_layout_header">
<div class="header">
<div class="row">
<div class="col-xs-3">
<img t-if="company.logo" t-att-src="'data:image/png;base64,%s' % company.logo" style="max-height: 45px;"/>
</div>
<div class="col-xs-9 text-right" style="margin-top:20px;" t-field="company.rml_header1"/>
</div>
<div class="row zero_min_height">
<div class="col-xs-12">
<div style="border-bottom: 1px solid black;"/>
</div>
</div>
<div class="row">
<div class="col-xs-3">
<div t-field="company.partner_id" t-field-options="{"widget": "contact", "fields": ["address", "name"], "no_marker": true}" style="border-bottom: 1px solid black;"/>
</div>
</div>
</div>
</t>

 

Avatar
Discard
Best Answer

Where is the field date on the top right pdf reports?

I want to edit it but can't find it anywhere.

I use odoo 14.

Avatar
Discard
Best Answer

 This may help people having the same problem:

<template id=”report_quotation_header” inherit_id=”report.external_layout_header”>
<xpath expr=”//div[@class=’header’]” position=”replace”>
custom div
</xpath>
</template>
it worked for me!

Credits to: 

ttps://supportuae.wordpress.com/2016/06/30/how-to-add-custome-header-and-footer-in-odoo/


Avatar
Discard
Related Posts Replies Views Activity
2
Sep 24
255
5
Aug 19
45067
0
Jun 18
2332
2
May 16
14959
3
Jan 16
2849