如何在 Odoo 18 中配置自动化动作
Odoo是一款多功能的业务管理平台,旨在帮助各种规模的企业更高效地处理日常运营。凭借其涵盖销售、库存、客户关系管理(CRM)、会计和人力资源等领域的多样化模块,Odoo 简化了业务流程,并将所有业务数据整合到一个平台中。其灵活性和随业务扩展的能力,使其成为希望精简运营、提升效率的企业的理想解决方案。
- Odoo的核心优势在于自动化日常任务的能力。Odoo 的一大特色功能是能够自动化常规任务,使企业无需持续人工监控即可确保重要流程无缝执行。在 Odoo 18 中,** 自动化动作(Automated Actions)** 功能得到进一步增强,提供了更多跨模块设置自定义工作流的方式。这些自动化工作流可以基于特定条件触发动作,例如发送提醒、更新记录或启动更复杂的流程,帮助企业以最小的精力保持对运营的掌控。
- 通过自动化重复性任务,企业可节省时间、减少错误并提升效率。本文将将深入探讨 Odoo 18 中自动化动作的工作原理、如何根据需求定制它们,以及它们如何用于简化从销售和客户管理到库存和人力资源等各个领域的流程。
一、配置自动化动作的前提:安装模块
要配置自动化动作,需先安装 base_automation 模块(即 “自动化规则” 模块)。该模块是 Odoo 自动化功能的基础,提供创建自动化规则的核心能力。
二、配置自动化动作的步骤
1、启用开发者模式
- 进入 Odoo 界面,点击右上角用户头像,选择 启用开发者模式(Developer Mode)。
2、访问自动化动作配置界面
- 导航至 设置(Settings) > 技术(Technical) > 自动化规则(Automated Actions)。
在此界面中,您可以创建、编辑或删除自动化规则,定义触发条件和执行动作。
3、配置步骤详解
- 步骤一:基础设置
名称(Name):自定义自动化规则的名称,需简洁明了(如"订单确认后自动开票")
模型(Model):选择要应用自动化动作的目标模型(如销售订单、采购订单、库存调拨等) - 步骤二:触发条件(Triggers)
触发条件决定自动化动作何时执行。Odoo 18 支持以下类型的触发条件:- 1、值更新(Values Updated)
当记录的特定字段发生变化时触发(例如:用户分配、标签添加、状态更新等)。 - 2、更新时(Upon Update)
收到邮件(On Incoming Email):接收到新邮件时触发(如根据邮件内容创建潜在客户)。
发送邮件(On Outgoing Email):发送邮件后触发(如发票邮件发送后自动跟进)。 - 3、时间条件(Timing conditions)
基于日期字段(Based on Date Field):根据记录中的日期字段(如截止日期)触发。
创建后(After Creation):记录创建后的指定时间触发。
最后更新后(After Last Update):记录最后一次更新后的指定时间触发。
- 1、值更新(Values Updated)
- 4、自定义(Custom)
保存时(On Save):记录保存时触发。
删除时(On Deletion):记录删除时触发(如删除订单时发送通知)。
界面变更时(On UI Change):用户界面字段值修改时触发。 - 5、外部触发(External)
·Webhook 触发(On Webhook):接收到外部系统的 Webhook 请求时触发(用于集成第三方应用)。
以下界面展示不同的触发条件:
步骤三:过滤条件(Before Update Domain)
使用域(domain)表达式精确定位目标记录,例如:
[(‘state’,‘=’,‘confirmed’), (‘amount_total’,‘>’,1000)]
表示针对"已确认"且"总金额超1000"的订单
步骤四:执行动作(Action To Do)
定义触发条件满足时执行的动作。Odoo提供10种标准动作:
- 1、执行 Python 代码(Execute Python Code):运行自定义 Python 逻辑(需注意权限和安全性)。
- 2、创建新记录(Create a New Record):自动创建指定模型的新记录(如创建采购订单时自动生成库存调拨单)。
- 3、更新记录(Update the Record):自动更新当前记录的字段值(如订单确认后标记 “已处理”)。
- 4、发送邮件(Send Email):使用现有邮件模板或新建邮件发送通知(如发货后通知客户)。
- 5、添加关注者(Add Followers):自动将指定用户或合作伙伴添加为记录关注者。
- 6、移除关注者(Remove Followers):自动移除记录的关注者。
- 7、创建活动(Create Activity):为记录安排待办活动(如提醒销售跟进客户)。
- 8、发送短信(Send SMS):使用短信模板发送短信通知。
- 9、发送 Webhook 通知(Send Webhook Notification):向外部系统发送 POST 请求(用于数据同步或触发第三方服务)。
- 10、执行现有动作(Execute Existing Actions):批量执行多个已定义的服务器动作。
步骤五:允许的用户组(Allowed Groups)
指定有权限触发该自动化动作的用户组,确保只有特定角色(如管理员、销售团队)可以执行相关动作。
步骤六:动作详情(Action Details)
在此定义当满足指定条件时自动化动作将执行的具体动作。该部分决定了当所有触发条件达标时系统将产生的最终结果。
代码配置示例
以下示例演示如何通过 XML 定义一个自动化规则:当采购相关的库存调拨单状态变为 “完成(done)” 时,自动为采购订单生成草稿状态的发票。
<?xml version="1.0" encoding="utf-8" ?>
<odoo><record id="action_create_invoice_on_purchase_done" model="ir.actions.server"><field name="name">从采购单生成发票</field><field name="model_id" ref="stock.model_stock_picking"/> <!-- 作用于库存调拨单模型 --><field name="type">code</field><field name="code">
purchase_order = record.purchase_id
# 获取关联的采购订单
if purchase_order and purchase_order.invoice_status == 'to invoice':purchase_order.action_create_invoice()
# 调用生成发票的方法</field></record><record id="automated_action_create_invoice_on_picking_done" model="base.automation"><field name="name">调拨单完成时生成发票</field><field name="model_id" ref="stock.model_stock_picking"/><field name="trigger">on_create_or_write</field> <!-- 记录创建或者更新时触发--><field name="filter_domain">[('state', '=', 'done')]</field> <!--仅当状态为"完成"时触发--><field name="action_server_ids" eval="[(4, ref('action_create_invoice_on_purchase_done'))]"/> <!--联上述服务器动作 --></record>
</odoo>
配置说明
当库存调拨单状态变为 “done” 时,触发自动化规则。
规则调用服务器动作,检查关联的采购订单是否需要开票(invoice_status=‘to invoice’),若需要则自动生成发票。
安装包含上述 XML 的自定义模块后,系统将自动创建对应的自动化动作,如下图所示:
五、总结
Odoo 18 的自动化动作功能通过自动化常规任务和简化工作流,为企业提升效率提供了强大工具。通过设置特定的触发条件和动作,用户可节省时间并减少人为错误。Odoo 借助服务器动作(Server Actions)和 XML 配置,支持根据企业独特需求定制自动化逻辑,使团队能够聚焦核心业务,推动增长和创新,而非困于重复性工作。通过合理配置自动化动作,企业可将日常运营效率提升40%以上。总体而言,这些功能助力企业实现更流畅、高效的运营。