Odoo 20 的 20 条新特性
Odoo 20 路线图
本文的 20 条新特性来自 Odoo 官方在 2026 年 4 月 2 日 Partner Days 上发布的 Odoo 20 路线图。发布节奏如下,新版本将在 9 月 24-26 日的 Odoo Experience 布鲁塞尔大会 期间正式发布。
共 68 篇文章 · 当前标签「Odoo」
本文的 20 条新特性来自 Odoo 官方在 2026 年 4 月 2 日 Partner Days 上发布的 Odoo 20 路线图。发布节奏如下,新版本将在 9 月 24-26 日的 Odoo Experience 布鲁塞尔大会 期间正式发布。
按照商业授权的不同Odoo的版本可分为:“社区版”和“企业版”。社区版提供了Odoo的整体框架和核心功能,企业版以社区版为核心提供一系列的企业专属增强模块来扩展社区版的功能并包含企业专属服务。社区版的代码公开发布在Github上: http://www.github.com/odoo/odoo ,可自由获取。企业版的代码在获得商业授权后,由Odoo公司或Odoo授权合作伙伴提供。根据Odoo官方的说明,为确保Odoo开源社区版本的竞争力,其在社区版和企业版的研发投入比例是80%之于20%。 下图说明了社区版和企业版的区别:
在模块开发中,我们往往会引入第三方的python模块。比如当我们在对业务数据做统计分析时,可能会用到pandas Python函数库。在开发者这边我们可以安装pandas包,然后就可以在Odoo模块代码中导入pandas包中的函数,类等:
其实把Odoo换成“一切”也可以。因为正如李普曼在《Public Opinion》里所说:“多数情况下我们并不是先理解后定义,而是先定义后理解。我们往往只能看到自己所熟悉、所喜欢的景象,那些与之相抵触的事实则会视而不见,而这自然就构成了我们认知的“刻板印象”(Sterotype)。当然我们这里毕竟不是来探讨哲学,社会学命题的,而是想跟大家聊聊Odoo相关的一些“刻板印象”。
十月四号,Odoo公司发布了最新的Odoo12版本。首先来看看这次发布会上的亮眼功能。
Odoo系统中主要包含下面三类按钮, 见下图:
普通按钮
布尔按钮: 参见之前的介绍
动态按钮
[!NOTE] 也有人将Odoo的Smart Button直译为“智能按钮”的,感觉稍显夸张。另外,布尔按钮实际上也是一种特殊的动态按钮。
Odoo中有很多层级关系的数据,比如:产品的分类,多层级的BOM,项目中的任务及其子任务等等。在数据库中快速存储更新这些有层级关系的数据,并能实现高效的查询是一个颇具挑战的任务。
上图中归档/有效转换按钮就是一个被称作布尔按钮的控件。这个控件对应一个布尔类型的字段,所以被称作布尔按钮。 我们可以用下面的语法来定义这个按钮:
假设有一个需求希望在订单上选择客户时显示该客户的可用信用额度。很显然我们可以继承sale.order对象,增加可用信用额度的计算字段:
class SaleOrder(models.Model):
_inherit = 'sale.order'
available_credit = fields.Float(string=u'可用信用额度', compute='_get_available_credit')
@api.depends('partner_id')
def _get_available_credit(self):
....
这个需求很简单。但是,如果对销售发票也有同样的需求呢?我们当然可以把上面的代码拷贝到account.invoice的继承对象中。
我们知道Odoo是通过wkhtmltopdf
工具将HTML格式的报表转换为pdf报表。所以,如果系统中没有安装该工具,则在打印报表时会提示该工具缺失并只能显示HTML格式的报表。 安装wkhtmltopdf很简单,但是如果您用的是Debian/Ubuntu系统,请勿用下面的命令安装: