[已解决]report 打印pdf页眉位置问题
-
@siyuan
我的report
代码和parperformat
代码如下图,问题是:我的report
里面一加入parperformat_id
这个字段就报错啊。
我把这些都写在一个report.xml文件里面,没问题的吧。report代码:
<report id="report_upi_template" string="OA All" model="upi.template" report_type="qweb-pdf" file="upi.report_upi_template_quote" name="upi.report_upi_template_quote" paperformat_id="upi.paperformat_upi" />
paperformat代码:
<record id="paperformat_upi" model="report.paperformat"> <field name="name">UPI PaperFormat</field> <field name="default" eval="True"/> <field name="format">custom</field> <field name="page_height">80</field> <field name="page_width">175</field> <field name="orientation">Portrait</field> <field name="margin_top">40</field> <field name="margin_bottom">20</field> <field name="margin_left">10</field> <field name="margin_right">10</field> <field name="header_line" eval="False"/> <field name="header_spacing">3</field> <field name="dpi">90</field> </record>
-
首先,如果给
report
添加纸张格式,下面的record id
是report
中指定的id
,正确的写法应该如下:<record id="report_upi_template" model="ir.actions.report.xml"> <field name="paperformat_id" ref="paperformat_upi" /> </record>
理解:在源码
report_paperformat.py
中是这样定义的:report_ids = fields.One2many('ir.actions.report.xml', 'paperformat_id', 'Associated reports', help="Explicitly associated reports")
。因为是o2m的字段类型,所以应该这样写。第二,纸张格式中两个参数的说明:
margin-top
:说的是距离顶部的距离,其中包括页眉在内的。
header_spacing
:是正文距离页眉的距离。