本文主要介绍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参数取得,但是有时在不同用户登录导致其发生变化,取到不一样的值,可以锁住设定。
来源:https://www.cnblogs.com/odoo12/p/12499209.html