首页 > 其他分享 >Odoo 报表2

Odoo 报表2

时间:2023-09-25 13:22:32浏览次数:34  
标签:报表 记录 docs 报告 名称 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>

  

标签:报表,记录,docs,报告,名称,Odoo,模板
From: https://www.cnblogs.com/pythonClub/p/17727732.html

相关文章

  • odoo报表3
    定义odoo中的报表,是创建一张数据库视图。数据库视图和表的联系和区别联系:数据库中的数据都是存储在表中,视图(view)是在基本表之上建立的表,它的结构(即所定义的列)和内容(即所有数据行)都来自基本表,它依据基本表存在而存在。一个视图可以对应一个基本表,也可以对应多个基本表。区别:1、视......
  • odoo中的PDF报表
     1.定义PDF报表解析类.模型类解析类代码 fromodooimportapi,modelsclassParticularReport(models.AbstractModel):_name='report.hr_teacher.teacher_info_report_pdf'@api.modeldef_get_report_values(self,docids,data=None):p......
  • devexpress report 两半三联报表
    241mm 140mm三联换算成英尺如上  ......
  • Odoo 通过Javascript调用模型中自定义方法
    实践环境Odoo14.0-20221212(CommunityEdition)代码实现在js脚本函数中调用模型中自定义方法:this._rpc({model:'demo.wizard',//模型名称,即模型类定义中_name的值method:'action_select_records_via_checkbox',//模型中自定义名称args:['arg_value......
  • odoo中用javascript调用model中定义好的方法,及要注意的坑
    odoo中如果前端界面要调用后台model中写好的方法,很简单。使用do_action即可,比如要调用改res.users的默认语言后执行的方法odoo.define('switch_language.SwitchLanguageMenu',function(require){"usestrict";varModel=require('web.Model');varsessi......
  • 报表导出工具
    目录示例一示例二示例三示例一依赖<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.5</version></dependency><dependency><groupId>org.apache.poi<......
  • Odoo看板视图实践案例
    看板视图是一个很常见的可视化解决方案了,例如:联系人卡片,任务卡片,还有二次元朋友们经常逛的哔站。我个人也是非常喜欢看板视图,比起那些呆板的tree视图,看板视图给人的感觉的就是简洁直观又好看。本人也是初学Odoo一个月,其中深意只知其一,但也想跟各位大佬分享交流,于是斗胆以拙见一......
  • Odoo16.0 支付宝模块
    odoo16.0官方将支付宝模块弃用了,但是需求还在,我们也不太可能去使用推荐的asipay,因此,我们决定,自己手动实现它。安装与配置首先,我们在应用中安装我们的支付宝模块: 安装好之后,我们进入配置界面: 这里对各个参数简单介绍一下:支付宝APPID:我们在支付宝开放平台申请的应用......
  • odoo16 顺丰速运
    随着顺丰官方升级了新的API接口,我们的顺丰模块也顺应时代潮流进行了全新升级,本文将给大家简单介绍一下新顺丰速运模块的功能。安装与配置首先,与老版本不同的是,我们把顺丰的配置参数放到了承运方设置里。 我们在这里填入在丰桥平台设置的客户编码、校验码和月结编号等参数。......
  • odoo中在一个模块下修改另一个模块中的视图文件(新增一个字段)
     下面的代码,可以在一个模块中,修改另一个视图的内容,这里是新增一个字段,即:下图中的字段:my_field 固定部分:- <record id="view_order_form_inherit_my_module" model="ir.ui.view">:这是定义一个新的记录的开始标签。model="ir.ui.view"表示这个记录的模型是ir.ui.view,这是O......