`
yinxvxv
  • 浏览: 51607 次
  • 性别: 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打印凭证、报表等

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

    odoo中的QWeb模板引擎

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

    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...

    odoo17 python源码

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

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

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

    odoo_11.0源文件

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

    认识odoo中的Python.ppt

    认识odoo中的Python

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

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

    odoo10 report使用自定义的paperformat

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

    odoo开发资料_odoo开发_odoo_python_

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

    odoo中的py文件加密

    odoo中的py文件加密

    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