odoo Qweb报表

1.首先在xml文件中注册一个报表

< report  id="qweb_test_report" model="qweb.test" string="Report Test" report_type="qweb-pdf"
             name="qweb_test.test_report" file="qweb_test.test_report"/>

report_type 有两个值,qweb-pdf,qweb-html

2.创建报表类

class qweb_print(models.AbstractModel):
    _name="report.qweb_test.test_report"

    @api.multi
    def get_name(self):
        return [self.env['qweb.test'].browse(self.ids)]

    @api.multi
    def render_html(self,data=None):
        report_obj = self.env['report']
        report = report_obj._get_report_from_name('qweb_test.test_report')
        records = self.get_name()
        docargs={
            "doc_ids":self.ids,
            "doc_model":report.model,
            "docs":records,
        }
        return report_obj.render('qweb_test.test_report',docargs)
复制代码

3.创建报表布局文件 template:

<template id="test_report">
    <t t-call="report.html_container">
        <t t-foreach="docs" t-as="o">
            <div class="page">
                        <div class="row">
                                    <div class="col-xs-12 text-center">
                                         <t t-esc="o.name"/>
                                        </div>
                                </div>
                       </div>
        </t>
    </t>
</template>

转载于:https://www.cnblogs.com/brucexl/p/7485660.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值