Odoo 打印报表定制方法

本文主要介绍odoo打印报表定制的方法及代码示例

从odoo8.0开始使用基于Qweb,Bootstrap和Wkhtmltopdf的全新报表引擎。一份报表由两个元素构成:

1 在ir.actions.report.xml中定义报表记录,使用定义报表生成的参数。

2 Qweb view定义报表样式

 

Report title

这里docs是从context发送过来的变量,代表报表内容记录。docs的作用其实是 ,比如你在界面上选定了几条相关模型的记录,然后可以通过docs访问这些记录数据,相当于模型方法中的recordset赋值给 docs = self,然后可以在qweb里读取。

另外还有user代表打印此报表的人

创建的报表可以通过html和pdf格式直接访问
http://localhost:8069/report/html/account.report_invoice/1
http://localhost:8069/report/pdf/account.report_invoice/1

注意

生成pdf需要服务端安装wkhtmltopdf程序, 有时候打印的报表样式丢失,需要正确设置相关参数。另外还会遇到一个样式bug。

report.url = http://localhost:8069 如果你的odoo有使用反向代理,你可以设置url路径为本地访问。web.base.url.freeze=True 样式路径通过web.base.url参数取得,但是有时在不同用户登录导致其发生变化,取到不一样的值,可以锁住设定。

参考文章

posted @ 2020-03-15 18:36  odoo开发者  阅读(2257)  评论(0编辑  收藏  举报