Odoo 报表

在模块中新建名为report的python文件

创建__main.xml 文件
<report 
    id = “account_invoices” 
    model = “account.invoice” 
    string = “Invoices” 
    report_type = “qweb-pdf” 
    name = “account.report_invoice” 
    file = “account.report_invoice” 
    attachment_use = “True” 
    attachment = “(object .state in'open''paid'))和 ('INV'+(object.number或''.replace('/'''+'。pdf')“ 
    print_report_name="'跟随组- %s' %(object.name)"
    />

  • Name (强制): 仅在某种列表中查找报表时存在,它仅用作报表的助记符/描述,
  • Model(强制):您的报表将涉及的模型
  • Report_type(强制):无论是qweb-pdf 对于PDF报告或qweb-html为html
  • Prison_report_name :报告的名称(将是PDF输出的名称)
  • Groups many2many.允许查看、使用当前报告的组的字段
  • Attachment_use:如果设置为true,则报告将使用attachment表达式生成的名称储存为记录的附件;如果您只需要生成一次报告(例如出狱法律原因),您可以使用此方法
  • Attachment:Python表达式,用于定义报告的名称; 该记录作为变量是可访问的object
  • paperformat:您要使用的纸质格式的外部ID(如果未指定,则默认为公司的纸质格式)

例如:

<report
            id="action_report_following_group"
            string="打印"
            model="prison.following.group"
            report_type="qweb-pdf"
            file="prison_system.prison_group_report"
            name="prison_system.prison_group_report"
            print_report_name="'跟随组- %s' %(object.name)"
        />

最小的可行性模板

在上述已经完成的情况下

<template  id = “report_invoice” >  // 与上面的name,file 一致
    <t  t-call = “web.html_container” > 
        <t  t-foreach = “docs”  t-as = “o” > 
            <t  t-call = “web.**external_layout**> 
                < div  class = “page” > 
                    <h2>报告标题</ h2> 
                    <p>此对象的名称是<span  t-field = “o.name” /> </ p> 
                </ div> 
            </ t> 
        </ t> 
    </ t> </ template>

调用external_layout将在报表上添加默认页眉和页脚。
PDF正文将是其中的内容<div class="page">
模板id必须是报告声明中指定的名称; 例如account.report_invoice,对于上述报告。由于这是一个QWeb模板,您可以访问docs模板接收的对象的所有字段
报告中可以访问一些特定变量,主要是:

  • docs : 当前报告的记录
  • doc_ids : docs记录的ID列表
  • doc_model : docs记录模型
  • time : time来自Python标准库的引用
  • user : res.user 用户打印报告的记录
  • res_company :记录当前user的公司

放置照片

<span t-field="media.image" t-field-options='{"widget": "image"}' />//media.image 放置的是调用字段名称

一张报表打印多行

<tbody t-foreach = “docs”  t-as = “o”>
放字段
</tbody>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值