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

参考文章

原文地址:https://www.cnblogs.com/odoo12/p/12499209.html

时间: 2024-10-03 08:08:47

Odoo 打印报表定制方法的相关文章

openerp 打印报表pdf中文乱码解决办法

环境 : ubuntu 12.04 OpenErp 7.0 设置好了语言为中文简体 ,此时打印 报表,中文显示为乱码. 首先 cd /usr/share/fonts/truetype/ 按照网上的方法 下载字体库: wget http://okay.googlecode.com/files/DejaVuSans-Oblique.ttf wget http://okay.googlecode.com/files/DejaVuSans-BoldOblique.ttf wget http://okay

python一些定制方法(函数)

__str__() __call__() __repr__()方法 >>> class Student(object): def __init__(self, name): self.name = name def __call__(self): print('My name is %s.' % self.name) def __str__(self): return 'I am a print call for name:%s !'%self.name def __repr__(sel

46.Odoo产品分析 (五) – 定制板块(2) – 为业务自定义odoo(1)

查看Odoo产品分析系列--目录 在这一章节中,将学习到如何设置"开发者模式"以及备份数据库:然后学习如何添加字段到数据库并在表单和视图中显示. 1 了解odoo的构架 每一个应用都有三个重要的组件,model(模型),view(视图),action(动作). 1.1 模型 在odoo中,模型用于保持和管理组成应用的数据.当保存一张销售订单时,销售订单表头的数据就被保存到名为sale.order的模型.诸如订单日期和客户地址等单个数据项称为字段.在后面的介绍中,? 将学习向sale.o

【视频分享】Liger UI实战集智建筑工程管理系统配商业代码(打印报表、角色式权限管理)

QQ 2059055336 课程讲师:集思博智 课程分类:.net 适合人群:中级 课时数量:23课时 用到技术:Liger UI框架.AJAX.JSON数据格式的序列化与反序列化.角色的交叉权限管理 本课程代码为商业版代码,用户可直接部署运行. 一.系统介绍: 集智建筑工程管理系统是专为建筑类企业打造的一款管理软件.本着"一工程一台帐"的原则,加强对工程的资金管理,解决工程技术部门.工程管理部门.财务部之间数据的共享,方便领导查询工程进度与回款情况,更好的进行查询统计,提供多种统计图

Android下打印调试堆栈方法(转)

转自:http://blog.csdn.net/freshui/article/details/9456889 打印堆栈是调试的常用方法,一般在系统异常时,我们可以将异常情况下的堆栈打印出来,这样十分方便错误查找.实际上还有另外一个非常有用的功能:分析代码的行为.Android代码太过庞大复杂了,完全的静态分析经常是无从下手,因此通过打印堆栈的动态分析也十分必要. Android打印堆栈的方法,简单归类一下 1. zygote的堆栈dump 实际上这个可以同时dump Java线程及native

问答项目---封装打印数组的方法

封装格式化打印数组的方法: /* 格式化打印出数组 */ function p($arr){ echo "<pre>"; var_dump($arr); echo "</pre>"; } function pd($arr){ echo "<pre>"; var_dump($arr);die(); echo "</pre>"; }

Silverlight程序之:简单的Excel报表导出方法

Silverlight程序之:简单的Excel报表导出方法 概述 介绍一种简单的Excel报表导出方法. 页面效果 导出效果: 首先我们创建一个Excel表格,将我们的基本信息格式都设置好,如下图所示: 将创建好的Excel表格另存为网页. 打开VS将创建好的报表模版网页文件拖到Web项目新建的Report文件夹 修改其后缀名为aspx 打开文件 添加头部代码 <%@ Page Language="C#" ContentType="application/vnd.ms-

Powerdesigner打开工程提示打印错误 解决方法

在使用PowerDesigner打开工程时, 提示打印错误的问题,具体错误信息提示如下: 在您可以执行与打印机有关的任务(例如页面设置或打印一个文档)之前,您必须已经安装打印机.您想现在安装打印机么? 解决办法: 打开windows的服务,把 Print Spooler 这个服务启动之后,问题就解决了 Powerdesigner打开工程提示打印错误 解决方法

浏览器打印58小票方法及限制

浏览器打印58小票 浏览器端的打印是极其普遍的一个应用场景,如票据.OA管理.应用文档笔记等的打印.随着基于云端管理的web应用越来越广泛,对于浏览器的打印需求会越来越多.小票打印就是近年来的一个新的浏览器打印应用. 浏览器打印的说明 PC端的每款浏览器都是支持打印功能的,很多的浏览器都对打印功能做了封装,打印时弹出的是预览对话框,如谷歌.360.百度等浏览.同时这些浏览器一般都提供选项,可以选择使用系统设置对话框.火狐则是直接使用的系统对话框(我比较喜欢这个). 在打印大纸张的文件时,直接弹出