Odoo 打印报表定制方法

喜夏-厌秋 提交于 2020-03-15 19:30:59

本文主要介绍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参数取得,但是有时在不同用户登录导致其发生变化,取到不一样的值,可以锁住设定。

参考文章

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!