欢迎访问Odoo亚太地区金牌服务机构·开源智造(OSCG)    400-900-4680  sales@oscg.cn 
Language/语言  简体中文       English       日本語    
更高效的企业可视化低代码敏捷开发工具:Odoo在线开发操作图解

Odoo是面向企业的免费开源应用软件,不同行业,不同企业,业务需求都不同。即使同一个企业,不同时期,新需求也会不断冒出。针对这种企业的个性化需求,Odoo自带在线开发工具,可以在线定制开发,解决各种新需求和个性化的业务定制需求。

Odoo的在线开发工具,可以解决的一些典型需求包括:

  1. 加字段:如Odoo的产品表单,很多行业都有行业特有的一些产品信息,需要在产品上增加更多行业相关字段。
  2. 加表单:如产品表单上增加了一个品牌字段,还需要增加一个品牌,用于维护各种品牌,产品上的品牌字段选择品牌,而不是填写品牌。
  3. 隐藏字段:不需要某些字段,页面上不显示该字段,或者某些字段只有特别权限的人才能看。例如产品表单上的成本字段,只有财务和采购才能看,其他人隐藏起来,不允许看见。
  4. 修改单据打印格式
  5. 自动通知:例如,希望系统每天自动以邮件形式,发送仓库中临近保质期的库存列表给仓库主管。
  6. 自动检查:例如,销售订单提交时候,增加检查逻辑:客户信用额度是否超标了,销售价格是否低于该产品的最低折扣率。

Odoo中在线开发工具有两个版本,一个是Odoo企业版的Studio工具,一个是Odoo社区版的在线开发工具。Studio工具增加了可视化开发功能,即在页面上拖拉即可增加字段,修改显示格式,修改单据打印格式。但Studio属于企业版,需要购买授权。本文主要介绍我们开源智造免费开源的社区版的在线开发工具。

开启开发者模式

开启开发者模式,如下图,进入“设置”模块,页面滚动到下部,点击“激活开发者模式”。

打开开发者模式后,右上角显示一个小虫子,点击,下拉显示很多开发者工具。后续章节中将逐步介绍其中的一些重要工具。


增加字段和表单

本节开发实现如下业务需求:

1. 增加品牌表单

2. 产品上增加品牌字段,该字段关联到品牌表单

3. 产品标签打印格式上增加品牌

增加表单

Odoo中,新增表单的步骤:

1. 创建一个模型,Odoo的模型对应到数据库的数据表,模型名称中的点(.)替换为下划线(_),就是数据表名称

2. 在模型中添加字段,这等同于在数据库的数据表中添加字段定义

3. 给模型添加访问权限,如果不加访问权限,则任何人都看不见这个模型,不能对数据表进行增删改查的操作

4. 添加模型的访问菜单,通过该菜单进入增删改查的维护页面

添加“产品品牌”表单的详细的操作步骤:

Odoo中,打开开发者模式,进入菜单“设置 à 技术 à 数据库结构 à 模型”

创建新模型 “品牌”x_product_brand 。在Odoo中,在线创建的模型名,以及字段名,必须以 x_ 下划线开头。模型 x_product_brand有两个字段,一个x_name,品牌名称,一个 x_code,品牌代码

给模型添加访问权限,即哪些权限组可以增删改查品牌表。注意权限添加好以后,点击左上角“保存”按钮

点击模型下方的“创建菜单”按钮,添加“品牌”菜单,通过该菜单维护产品品牌

回到采购模块,刷新页面(按F5键),点开“基础配置”菜单,新出现了“品牌”菜单。

增加字段

Odoo中,在现有表单上增加新字段的步骤是:

1. 找到需要增加字段的模型,在该模型上添加字段

2. 进入表单的显示页面,点右上角的“调试”按钮,打开列表或表单视图,在希望显示的位置添加 XML 代码,在视图上显示新加的字段。

3. F5刷新页面,即可显示新增加的字段。

下面图解介绍如何在产品表单上增加品牌字段,该字段关联(数据库术语叫:外键关联,many2one)到前面添加的品牌表单。

进入菜单“设置 > 技术 > 数据库结构 > 模型”,查找模型“产品模板”,如下图。

打开“产品模板”模型,点击“添加明细行”,增加字段 x_brand_id , 字段“多对一”关联到前面创建的表单 x_product_brand ,如下图。添加以后,注意保存字段,以及模型。

进入采购模块,产品菜单,点击产品打开表单(Form视图),鼠标移动到“产品类别”字段上,系统显示产品类别的字段名 categ_id 。我们准备在产品类别的后面显示“品牌字段”。

点击右上角的小虫子,点击“Edit View:Form”,打开表单视图编辑页面。找到字段 categ_id,在它后面添加 xml 代码行:<field name="x_brand_id"/>,如下图

F5刷新页面,可以看见新增加的品牌字段


修改打印格式

Odoo中修改单据打印格式的步骤是:

1. 找到单据打印格式对应的报告

2. 打开报告表单,找到打印格式对应的qweb视图

3. 修改qweb视图,增加希望打印的字段信息

下面图解详细说明操作步骤:

菜单“设置 > 技术 > 动作 > 报告”,搜索dymo报告(产品标签打印的报告)

点击打开报告,点击右上角按钮“QWeb视图”,查看打印格式对应的QWeb视图名称

打开菜单“设置 > 技术 > 用户界面 > 视图”,搜索dymo,打开产品标签打印的dymo 视图。

在视图中添加 品牌打印的 xml 代码:<span t-field="product.x_brand_id.x_name"/>,添加好以后,注意保存。

回到产品表单视图,点击按钮“标签打印”,选择 Dymo格式的标签。打印出来的PDF的标签上,产品名称后面,增加了“品牌”的打印。


业务逻辑处理

Odoo中在线业务逻辑开发工具有三个,一个是自动动作,一个是服务器动作,一个是计划任务。

  • 自动动作:可以设置某个动作,当创建或者修改某个单据时候系统自动执行该动作。动作可以是自己编写的python程序,也可以是发送邮件、发送短信等。
  • 服务器动作:当点击某个按钮或菜单时候,自动执行指定的动作。动作可以是自己编写的python程序,也可以是发送邮件、发送短信等。
  • 计划任务:定期循环执行某个动作。动作可以是自己编写的python程序,也可以是发送邮件、发送短信等。

一、自动动作

安装模块 base_automation,如下图:

模块安装后,菜单“设置 > 技术 > 自动化 > 自动动作”,创建自动动作。

自动动作各字段设置方法说明如下:

模型:本自动动作适用的模型,如本例是“产品模板”

启用:本自动动作是否生效,不启用的话,则不生效

触发:自动动作的触发方式。参考后文详解各个触发方式的含义

应用于:自定义一个过滤条件,只针对符合此条件的记录,执行自动动作

待办的行动:执行什么动作。参考后文详解各种动作的含义

Python代码:当“待办的行动”选择“可执行Python代码”时候,此处编写python程序代码。

自动动作的触发方式有下面六种:

创建时:当创建一个新记录时候,触发本自动动作

更新时:当修改记录时候,触发本自动动作。这个选项,可以指定触发字段,以及更新前域表达式。

  • 触发字段:只有修改此处指定的字段时候,才触发自动动作
  • 更新前域表达式:指定一个过滤条件,只有符合此过滤条件的记录发生更新,才会触发此自动动作。和“应用于”的过滤条件不同,此处的过滤条件应用于更新前,而“应用于”的过滤条件适用于更新后。

创建以及更新时:创建或更新记录时候,都触发本自动动作

删除时:删除记录时候,触发本自动动作

基于表单修改:当在页面上修改指定字段时候,触发自动动作。此选项,在“触发字段”指定哪些字段修改时候触发本动作。和“更新时”不同的是,此选项只有用户在页面上修改字段值时候才会触发,而“更新时”则任何方式的修改(页面上修改,或者程序代码调用 write方法修改)都会触发。

基于表单修改,实际是给模型增加 on_change方法,必须以 action 返回onchange格式的字典,如下面示例代码,修改产品名称时候发警告。

res = {}

res["warning"] = {"title": "产品名称警告","message":"注意遵循产品命名规则!"}

action = res

基于时间条件:指定一个时间条件,当符合此时间条件时候,触发自动动作。

  • 触发日期:指定模型上的一个日期型字段
  • 触发日期后的延迟:触发日期的指定时间(分钟、小时、或者天数)后触发自动动作。如果此处填写负数,表示触发日期前的指定时间触发自动动作。

自动动作的执行动作有下面八种:

可执行Python代码:编写一段Python程序,系统自动调用执行此Python程序

创建新记录:创建一条指定模型的记录

  • 目标模型:创建哪个模型的记录
  • 链接字段:本动作模型的哪个字段指向先创建的记录
  • 写入数据:待创建记录的各个字段值

更新记录:更新本模型的记录,写入数据中,设置更新哪些字段,以及更新为什么值

执行多个动作:执行其他动作,可以连续执行多个动作。在动作中指定其他动作

发送Email:指定一个Email模板,系统自动发送邮件

添加关注者:在符合条件的记录上,添加指定的关注者

创建新活动:在符合条件的记录上,添加一个待办活动。待办活动可以分配给指定的人,也可以分配给记录上的某个字段指定的那个用户,如下面截图上,待办事项分配给销售订单上的“负责业务员”。

发送文本短信:指定一个短信模板,系统自动按模板格式发送短信

二、服务器动作

菜单“设置 > 技术 > 动作 > 服务器动作”。服务器动作的配置字段,和前一节的自动动作基本相同,这里不再详述。

自动动作是系统自动触发,而服务器动作通常是用户点击上下文菜单触发。如下图。

注意,本示例功能,需要在“销售 > 基础配置 > 设置 ”页面中,勾选“价格表”功能。

三、计划任务

菜单“设置 > 技术 > 自动化 > 安排的动作”,下例截图是Odoo自带的MRP计划运行任务。计划任务上的配置字段较为简单,在前面章节基本都介绍过了,此处不再详述。



以上就是Odoo在线开发工具的应用详解,如您对Odoo感兴趣或正在为您的企业ERP选型,欢迎随时联系我们开源智造。

全球最大企业ERP插件应用市场:Odoo条码及包裹操作详解