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
相关推荐
Odoo/OpenERP的网页模块QWEB简述
Odoo 网页模块 QWEB 简述 Odoo 的网页模块 QWEB 是一个基于 OpenERP 的网页模块,负责处理网页相关的逻辑和展示。QWEB 模块是 OpenERP 中的一个重要组件,负责生成网页的视图和模板。在本文中,我们将对 Odoo 的 ...
基于odoo的打印报表功能,可以基于本模块研究更加深入的报表打印功能。
### Odoo中的QWeb模板引擎详解 #### 一、QWeb模板引擎简介 QWeb作为Odoo框架的主要模板引擎,采用XML格式进行表述,并最终生成HTML文件。这使得开发人员能够在设计网页时更加灵活地控制页面布局与内容,同时保持...
《Odoo开发手册第五版》是针对Odoo 14这一版本的一份详尽指南,主要面向Python开发者,旨在帮助他们深入理解和掌握Odoo的开发技术。Odoo是一款开源的企业资源规划(ERP)软件,它提供了包括销售、采购、库存、财务、...
在Odoo 10中,报表(Report)是系统中非常关键的一部分,它允许用户以打印或导出的形式获取各种信息。为了使报表更具个性化和专业性,有时我们需要使用自定义的CSS样式来调整其布局和外观。在这个场景中,我们将深入...
### Python基于XML-RPC的WebService服务以及在Odoo中的使用 #### XML-RPC简介与Python实现 XML-RPC(XML Remote Procedure Call)是一种轻量级的远程过程调用协议,它利用XML来编码调用数据和结果数据,并通过HTTP...
Odoo 17是Odoo系列企业资源规划(ERP)软件中的一个版本,由比利时Odoo S.A.公司开发并维护。作为一款开源且高度可定制的业务管理平台,Odoo 17提供了全面的企业级解决方案,涵盖了财务管理、销售管理、采购管理、...
Odoo 借用了 Python 已有的父类行为的对象继承机制。 作为一个实际的例子,我们将继承图书 ISBN 验证逻辑。在图书应用中仅能验证13位的 ISBN,但老一些的图书可能只有10位数的 ISBN。我们将继承_check_isbn()方法来...
Odoo V11引入了全局快捷键和全局搜索功能,使Odoo导航比以往任何时候都更快捷。Odoo 的开源模式让我们可利用无数开发人员和业务专家,在短短数年内,打造数百款应用。 具有强大的技术基础,Odoo 的结构非常独特。其...
认识odoo中的Python
使用Odoo开发,支持Odoo11和Odoo12,Python3,包括了学生管理、教师管理、费用管理、CRM、小程序端签到打卡等功能 管理系统是一种通过计算机技术实现的用于组织、监控和控制各种活动的软件系统。这些系统通常被设计...
odoo report使用自定义的paper format, 附件中包含整个的module,下载了可以直接安装使用。
odoo开发 Odoo开发入门首选【在线开发】及【代码生成器】 odoo快速入门方法论的基础 Python 是慢,但我无所谓
odoo中的py文件加密
odoo自定义按钮,调用后台方法源码.zip
odoo 自定义按钮 全网最清新,不是你打我 在odoo的前端页面,我们也许需要在【创建】/【保存】/【导入】等按钮后,增加自定义按钮,比如【打印XXX】、【合并XXX】这种odoo没有提供的按钮。 本例就是解决之道。
适合新手入门学习,视频资源推荐哔哩哔哩上的
odoo web 开发练习资料,包括odoo 前端开发详解,所有的技术,规范。
4. **增强的模块化**: Odoo 14允许更细粒度的模块化,开发者可以创建更小的、独立的模块,这有利于代码的维护和复用。 5. **字段级权限**: 新增的字段级权限控制,使得数据安全性得到提升,用户只能访问到他们被...