`
yinxvxv
  • 浏览: 51947 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

odoo qweb report调用python代码

阅读更多

 

1.添加一个python文件

在它的__init__.py中注册

 

2.添加一个与template对应的类

 

 

class report_test(osv.AbstractModel):
    _name = 'report.my_module.report_test'
    _inherit = 'report.abstract_report'
    _template = 'my_module.report_test'

 

 

这里module是my_module

report template是report_test

 

3.添加一个用于template调用的类

class test_wrapped():

    def __init__(self, cr, uid, name, context=None):
        if context is None:
            context = {}
        super(test_wrapped, self).__init__(cr, uid, name, context=context)
        self.localcontext.update( {
            'time': time,
        })

    def set_context(self, objects, data, ids, report_type=None):
        return super(test_wrapped, self).set_context(objects, data, ids, report_type=report_type)

    def foo(self):
        return True

 这里的foo就是用来调用的方法了。

 

3.把这个类告诉template

class report_test(osv.AbstractModel):
    _name = 'report.my_module.report_test'
    _inherit = 'report.abstract_report'
    _template = 'my_module.report_test'
    _wrapped_report_class = test_wrapped

 

4.现在就可以在qweb里调用了

<t t-if="foo()">
foo called
</t>

 

 5.如果你想调用rml_parse中的方法,如formatLang,可以让test_wrapped继承rml_parse

class test_wrapped(report_sxw.rml_parse):

    def __init__(self, cr, uid, name, context=None):
        if context is None:
            context = {}
        super(test_wrapped, self).__init__(cr, uid, name, context=context)
        self.localcontext.update( {
            'time': time,
        })

    def set_context(self, objects, data, ids, report_type=None):
        return super(test_wrapped, self).set_context(objects, data, ids, report_type=report_type)

    def foo(self):
        return True

 

 

分享到:
评论
1 楼 菜鸟开始编程 2018-12-21  
如果report template中调用的函数需要传入一个参数,如何实现,odoo8中的?
比如这样的<t t-foreach="show_invoice_value(docs.invoice_value)" t-as="one_money"> 就传入不了参数的,如何解决?

相关推荐

    odoo qweb文档

    Odoo/OpenERP的网页模块QWEB简述

    Odoo的网页模块QWEB简述.doc

    Odoo 网页模块 QWEB 简述 Odoo 的网页模块 QWEB 是一个基于 OpenERP 的网页模块,负责处理网页相关的逻辑和展示。QWEB 模块是 OpenERP 中的一个重要组件,负责生成网页的视图和模板。在本文中,我们将对 Odoo 的 ...

    odoo中的QWeb模板引擎

    ### Odoo中的QWeb模板引擎详解 #### 一、QWeb模板引擎简介 QWeb作为Odoo框架的主要模板引擎,采用XML格式进行表述,并最终生成HTML文件。这使得开发人员能够在设计网页时更加灵活地控制页面布局与内容,同时保持...

    odoo打印凭证、报表等

    基于odoo的打印报表功能,可以基于本模块研究更加深入的报表打印功能。

    Odoo开发手册第五版,odoo14开发手册,Python

    《Odoo开发手册第五版》是针对Odoo 14这一版本的一份详尽指南,主要面向Python开发者,旨在帮助他们深入理解和掌握Odoo的开发技术。Odoo是一款开源的企业资源规划(ERP)软件,它提供了包括销售、采购、库存、财务、...

    odoo10 report使用自定义的CSS

    在Odoo 10中,报表(Report)是系统中非常关键的一部分,它允许用户以打印或导出的形式获取各种信息。为了使报表更具个性化和专业性,有时我们需要使用自定义的CSS样式来调整其布局和外观。在这个场景中,我们将深入...

    Python基于xmlrpc的webservice服务以及在odoo中的使用

    ### Python基于XML-RPC的WebService服务以及在Odoo中的使用 #### XML-RPC简介与Python实现 XML-RPC(XML Remote Procedure Call)是一种轻量级的远程过程调用协议,它利用XML来编码调用数据和结果数据,并通过HTTP...

    odoo10 report使用自定义的paperformat

    odoo report使用自定义的paper format, 附件中包含整个的module,下载了可以直接安装使用。

    odoo17 python源码

    Odoo 17是Odoo系列企业资源规划(ERP)软件中的一个版本,由比利时Odoo S.A.公司开发并维护。作为一款开源且高度可定制的业务管理平台,Odoo 17提供了全面的企业级解决方案,涵盖了财务管理、销售管理、采购管理、...

    odoo 18企业版源代码

    odoo 18企业版源代码 python

    ODOO12图书项目继承Python方法.mp4

    Odoo 借用了 Python 已有的父类行为的对象继承机制。 作为一个实际的例子,我们将继承图书 ISBN 验证逻辑。在图书应用中仅能验证13位的 ISBN,但老一些的图书可能只有10位数的 ISBN。我们将继承_check_isbn()方法来...

    Odoo从入门到实战:Python开发ERP指南.zip

    使用Odoo开发,支持Odoo11和Odoo12,Python3,包括了学生管理、教师管理、费用管理、CRM、小程序端签到打卡等功能 管理系统是一种通过计算机技术实现的用于组织、监控和控制各种活动的软件系统。这些系统通常被设计...

    odoo_11.0源文件

    Odoo V11引入了全局快捷键和全局搜索功能,使Odoo导航比以往任何时候都更快捷。Odoo 的开源模式让我们可利用无数开发人员和业务专家,在短短数年内,打造数百款应用。 具有强大的技术基础,Odoo 的结构非常独特。其...

    认识odoo中的Python.ppt

    认识odoo中的Python

    odoo开发资料_odoo开发_odoo_python_

    odoo开发 Odoo开发入门首选【在线开发】及【代码生成器】 odoo快速入门方法论的基础 Python 是慢,但我无所谓

    odoo自定义按钮,调用后台方法源码.zip

    odoo自定义按钮,调用后台方法源码.zip

    odoo自定义按钮,调用后台方法源码

    odoo 自定义按钮 全网最清新,不是你打我 在odoo的前端页面,我们也许需要在【创建】/【保存】/【导入】等按钮后,增加自定义按钮,比如【打印XXX】、【合并XXX】这种odoo没有提供的按钮。 本例就是解决之道。

    基于odoo 12的python开发案例

    适合新手入门学习,视频资源推荐哔哩哔哩上的

    odoo web 开发

    odoo web 开发练习资料,包括odoo 前端开发详解,所有的技术,规范。

    odoo14 企业版源码

    4. **增强的模块化**: Odoo 14允许更细粒度的模块化,开发者可以创建更小的、独立的模块,这有利于代码的维护和复用。 5. **字段级权限**: 新增的字段级权限控制,使得数据安全性得到提升,用户只能访问到他们被...

Global site tag (gtag.js) - Google Analytics