如何在 Odoo 18 中配置自动化动作

如何在 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):记录最后一次更新后的指定时间触发。
  • 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%以上。总体而言,这些功能助力企业实现更流畅、高效的运营。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/78236.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

每日两道leetcode

345. 反转字符串中的元音字母 - 力扣&#xff08;LeetCode&#xff09; 题目 给你一个字符串 s &#xff0c;仅反转字符串中的所有元音字母&#xff0c;并返回结果字符串。 元音字母包括 a、e、i、o、u&#xff0c;且可能以大小写两种形式出现不止一次。 示例 1&#xff1a;…

【SQL 基础入门 1. -- SQL 基本语法详解及举例】

文章目录 SQL 数据库创建及使用删除数据库SQL 查看数据空中有哪些表格SQL 创建表格SQL 修改表格列数据格式SQL 表格插入数据SQL 查看表格类型组成SQL 查看表格中的内容 SQL 查询语句SQL 查看指定列SQL 选择指定列SQL 按指定列进行升序排序SQL 平均值/求和/最大值/最小值 SQL 数…

PostgreSQL 分区表——范围分区SQL实践

PostgreSQL 分区表——范围分区SQL实践 1、环境准备1-1、新增原始表1-2、执行脚本新增2400w行1-3、创建pg分区表-分区键为创建时间1-4、创建24年所有分区1-5、设置默认分区&#xff08;兜底用&#xff09;1-6、迁移数据1-7、创建分区表索引 2、SQL增删改查测试2-1、查询速度对比…

Apache Flink 深度解析:流处理引擎的核心原理与生产实践指南

Apache Flink 深度解析&#xff1a;流处理引擎的核心原理与生产实践指南 引言&#xff1a;实时计算的范式革命 2023年双十一期间&#xff0c;某头部电商平台基于Flink构建的实时风控系统成功拦截了每秒超过120万次的异常交易请求。这背后是Apache Flink作为第四代计算引擎的强…

【Java学习笔记】选择结构

选择结构 内容结构 一、顺序结构 二、分支控制 &#xff08;1&#xff09;单分支 &#xff08;2&#xff09;双分支 &#xff08;3&#xff09;多分支 &#xff08;4&#xff09;嵌套分支 &#xff08;5&#xff09;switch 分支结构 三、switch和if的比较 一、顺序结构…

03_JavaScript

文章目录 一、概述1.1、JavaScript简介1.2、JavaScript组成部分1.3、为什么要学习JavaScript1.4、学习的目的1.5、JavaScript与Java的关系 二、使用位置及运行说明2.1、使用位置2.2、如何运行 三、JavaScript基础语法3.1、变量3.2、运算符3.3、控制流程3.3.1、分支结构3.3.2、循…

PySide6 GUI 学习笔记——常用类及控件使用方法(常用类矩阵QRect)

文章目录 一、构造与初始化方法二、坐标与尺寸获取三、坐标与尺寸设置四、几何运算方法五、移动与调整方法六、状态判断方法七、类型转换方法八、操作符重载九、静态方法十、特殊方法附录方法速查表注意的问题交集和并集图解 &#x1f4d8; PySide6.QtCore.QRect 使用整数精度定…

AI 开发入门之 RAG 技术

目录 一、从一个简单的问题开始二、语言模型“闭卷考试”的困境三、RAG 是什么—LLM 的现实世界“外挂”四、RAG 的七步流程第一步&#xff1a;加载数据&#xff08;Load&#xff09;第二步&#xff1a;切分文本&#xff08;Chunking&#xff09;第三步&#xff1a;向量化&…

解决yarn install 报错 error \node_modules\electron: Command failed.

在电脑重装系统后,重新安装项目依赖,遇到这一报错 完整报错信息如下: error D:\xxxxx\xxxxxx\node_modules\electron: Command failed. Exit code: 1 Command: node install.js Arguments: Directory: D:\xxxxx\xxxxx\node_modules\electron Output: HTTPError: Response cod…

2025年3月电子学会青少年机器人技术(五级)等级考试试卷-理论综合

青少年机器人技术等级考试理论综合试卷&#xff08;五级&#xff09; 分数&#xff1a;100 题数&#xff1a;30 一、单选题(共20题&#xff0c;共80分) 1. 2025年初&#xff0c;中国科技初创公司深度求索在大模型领域迅速崛起&#xff0c;其开源的大模型成为全球AI领域的焦…

23种设计模式-行为型模式之模版方法模式(Java版本)

Java 模板方法模式&#xff08;Template Method Pattern&#xff09;详解 &#x1f9e0; 什么是模板方法模式&#xff1f; 模板方法模式是一种行为型设计模式&#xff0c;在一个方法中定义一个操作中的算法骨架&#xff0c;而将一些步骤延迟到子类中。模板方法使得子类可以在…

长城杯铁人三项初赛-REVERSE复现

前言 记录记录 1.LoginToMe int __fastcall main(int argc, const char **argv, const char **envp) {unsigned int v3; // eaxchar s[96]; // [rsp10h] [rbp-70h] BYREFint v6; // [rsp70h] [rbp-10h]int v7; // [rsp78h] [rbp-8h]int i; // [rsp7Ch] [rbp-4h]memset(s, 0, s…

DNS实验

DNS原理 客户端发起请求&#xff1a;客户端向本地 DNS 服务器发送域名解析请求&#xff0c;这是流程的起始点。本地 DNS 服务器查询根域名服务器&#xff1a;若本地 DNS 服务器缓存中无对应记录&#xff0c;它向根域名服务器发起查询&#xff0c;根域名服务器是 DNS 系统顶层&a…

SQLMesh 通知系统深度解析:构建自动化监控体系

SQLMesh 是一款强大的数据编排工具&#xff0c;其内置的灵活通知系统可显著提升团队协作效率。本文将系统解读 SQLMesh 的通知机制&#xff0c;涵盖配置方法、事件触发逻辑及高级定制技巧。 一、通知系统的核心架构 1. 通知目标&#xff08;Notification Targets&#xff09; …

精益数据分析(20/126):解析经典数据分析框架,助力创业增长

精益数据分析&#xff08;20/126&#xff09;&#xff1a;解析经典数据分析框架&#xff0c;助力创业增长 在创业和数据分析的学习道路上&#xff0c;每一次深入探索都可能为我们带来新的启发。今天&#xff0c;依旧带着和大家共同进步的想法&#xff0c;我们一起深入研读《精…

【OSG学习笔记】Day 8: 纹理贴图——赋予模型细节

在 OSG(Open Scene Graph)中,纹理贴图是为模型添加细节的关键技术,主要涉及纹理加载、UV 映射和多重纹理叠加三部分。 基础理论 纹理加载 纹理的作用,就是将2D图像映射到3D模型表面,增强视觉细节。 纹理类型与格式支持: OSG 支持多种图像格式,包括常见的 .jpg/.jpe…

基于事件驱动的云原生后端架构设计:从理念到落地

📝个人主页🌹:慌ZHANG-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、引言:微服务之后,事件驱动正在成为新范式 随着业务复杂度的提升,传统同步式微服务调用模式逐渐暴露出瓶颈:服务间耦合度高、并发能力有限、出错链路复杂。而在互联网业务、金融交易、物联网等场景中…

vue3:十一、主页面布局(修改顶部导航栏样式-右侧:用户信息+退出登录+全屏显示)

一、效果 完成效果,增加顶部导航栏,右侧用户信息(其中个人中心需要后续进行页面开发,这里只写了退出登录功能),以及全屏功能 二、搭建并引入右侧组件 将右侧内容封装到单独的组件,直接引入(像左侧导航条等内容也是可以做成这种形式) 1、新建右侧组件的页面 在layout中…

沁恒CHV203中断嵌套导致修改线程栈-韦东山

调试专题bug实例 2025年01月09日20点场 处理办法1&#xff1a;就是关闭中断嵌套 处理办法2&#xff1a; 使用原来的栈

Qt本地化 - installTranslator不生效

bool QCoreApplication::installTranslator(QTranslator *translationFile)注意这里输入的是QTranslator对象指针&#xff0c;如果QTranslator是局部变量&#xff0c;一旦离开其作用域就会导致翻译失效 错误代码示范&#xff1a; void ApplyTranslator(const QString& qmf…