odoo自定义报表
来源:互联网 发布:网络视频广告数据分析 编辑:程序博客网 时间:2024/06/07 01:45
核心目录结构
1.建立模板文件 即上图的report_template.xml
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<template id="report_receipt_template">
<t t-call="report.html_container">
<t t-call="report.external_layout">
<div class="page">
<h2>财务收据</h2>
<h3>收据内容</h3>
<p>姓名:<t t-esc="name"/></p>
<p>收费:<t t-esc="price"/></p>
</div>
</t>
</t>
</template>
</data>
</openerp>
2.将模板添加到打印按钮 (menu=True 添加到顶部打印)
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<report id="report_receipt"
model="jm.tju.student.charge"
string="打印收据"
report_type="qweb-html"
name="finance.report_receipt"
menu="True"/>
</data>
</openerp>
3.写控制函数
注意:_name=report.<模块名>.<第2步中的id> report.render('<模块名>.<第1步中的id>', docargs)
self.id = 勾选的记录的id
# _*_ coding: utf-8 _*_
from openerp import models, fields, api
class Report_receipt(models.AbstractModel):
_name = "report.finance.report_receipt"
@api.multi
def render_html(self, data=None):
report = self.env['report']
report_obj = self.env['jm.tju.student.charge'].browse(self.id)[0]
name = report_obj.name_show
price = 0
for line in report_obj.fee_line:
if(line.printing == True):
price += line.fee_charged
line.printed = True
line.printing = False
docargs = {
"name": name,
"price": price
}
return report.render('finance.report_receipt_template', docargs)
4.自定义按钮调用打印
<模块名>.<第1步中id>
return self.env['report'].get_action(self, 'finance.report_receipt')
阅读全文
0 0
- odoo自定义报表
- odoo报表
- Odoo(OpenERP)开发实践:在QWeb报表中自定义页眉页脚
- Odoo(OpenERP)开发实践:在QWeb报表中自定义页眉页脚
- Odoo(OpenERP)开发实践:在QWeb报表中自定义页眉页脚
- Odoo(OpenERP)开发实践:在QWeb报表中自定义页眉页脚
- odoo自定义模块开发
- 为Odoo安装PDF报表运行环境
- Odoo安装Pentaho报表模块历险记
- Odoo Qweb报表css丢失问题
- odoo 9.0创建自定义模块
- Odoo 10.0 安装自定义模块
- Odoo
- 自定义报表
- 自定义报表
- 自定义报表
- 自定义报表
- 自定义报表
- Okhttp的拦截器
- 增强式for循坏
- 数据库触发器
- Inception V1
- hibernate get() load()
- odoo自定义报表
- AliOS Things云端物联网操作系统
- FeignClient相关
- 异常捕获机制
- laypage.js分页插件使用总结
- 数据结构——线性结构(7)——链队列的实现
- Escape HDU
- VSCode tasks.json中的各种替换变量的意思 ${workspaceFolder} ${file} ${fileBasename} ${fileDirname}等
- VSCode launch.json中的各种替换变量的意思 ${workspaceFolder} ${file} ${fileBasename} ${fileDirname}等