当前位置: 首页 > article >正文

如何在 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%以上。总体而言,这些功能助力企业实现更流畅、高效的运营。

相关文章:

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

如何在 Odoo 18 中配置自动化动作 Odoo是一款多功能的业务管理平台&#xff0c;旨在帮助各种规模的企业更高效地处理日常运营。凭借其涵盖销售、库存、客户关系管理&#xff08;CRM&#xff09;、会计和人力资源等领域的多样化模块&#xff0c;Odoo 简化了业务流程&#xff0c…...

node.js 实战——(Http 知识点学习)

HTTP 又称为超文本传输协议 是一种基于TCP/IP的应用层通信协议&#xff1b;这个协议详细规定了 浏览器 和万维网 服务器 之间互相通信的规则。协议中主要规定了两个方面的内容&#xff1a; 客户端&#xff1a;用来向服务器发送数据&#xff0c;可以被称之为请求报文服务端&am…...

新市场环境下新能源汽车电流传感技术发展前瞻

新能源革命重构产业格局 在全球碳中和战略驱动下&#xff0c;新能源汽车产业正经历结构性变革。国际清洁交通委员会&#xff08;ICCT&#xff09;最新报告显示&#xff0c;2023年全球新能源汽车渗透率突破18%&#xff0c;中国市场以42%的市占率持续领跑。这种产业变革正沿着&q…...

系统重装——联想sharkbay主板电脑

上周给一台老电脑重装系统系统&#xff0c;型号是lenovo sharkbay主板的电脑&#xff0c;趁着最近固态便宜&#xff0c;入手了两块长城的固态&#xff0c;装上以后插上启动U盘&#xff0c;死活进不去boot系统。提示 bootmgr 缺失&#xff0c;上网查了许久&#xff0c;终于解决了…...

CentOS 7.9升级OpenSSH到9.9p2

初始版本 ssh -V OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017 1.安装编译依赖 yum install -y gcc perl make zlib-devel pam-devel openssl-devel wget 2.升级OpenSSL到1.1.1版本 2.1 备份当前OpenSSL配置 sudo cp -r /usr/bin/openssl /usr/bin/openssl.bak sudo …...

fastjson使用parseObject转换成JSONObject出现将字符特殊字符解析解决

现象&#xff1a;将字符串的${TARGET_VALUE}转换成NULL字符串了问题代码&#xff1a; import com.alibaba.fastjson.JSON;JSONObject config JSON.parseObject(o.toString()); 解决方法&#xff1a; 1.更换fastjson版本 import com.alibaba.fastjson2.JSON;或者使用其他JS…...

37、aiomysql实操习题

练习题1&#xff1a;慢查询优化 题目描述 将以下低效查询优化为索引查询&#xff1a; # 原始低效查询 await cursor.execute("SELECT * FROM orders WHERE YEAR(created_at)2023")参考答案 # 优化后查询&#xff08;使用索引范围扫描&#xff09; await cursor.e…...

Rust 2025:内存安全革命与异步编程新纪元

Rust 2025 Edition通过区域内存管理、泛型关联类型和零成本异步框架三大革新&#xff0c;重新定义系统级编程语言的能力边界。本次升级不仅将内存安全验证效率提升80%&#xff0c;更通过异步执行器架构优化实现微秒级任务切换。本文从编译器原理、运行时机制、编程范式转型三个…...

【安装neo4j-5.26.5社区版 完整过程】

1. 安装java 下载 JDK21-windows官网地址 配置环境变量 在底下的系统变量中新建系统变量&#xff0c;变量名为JAVA_HOME21&#xff0c;变量值为JDK文件夹路径&#xff0c;默认为&#xff1a; C:\Program Files\Java\jdk-21然后在用户变量的Path中&#xff0c;添加下面两个&am…...

开关电源实战(六)STM32数控电源BuckBoost

文章目录 芯片手册详解栅极驱动器EG3112栅极驱动芯片2EDF7275K隔离式MOS栅极驱动器运放检测电流GS8558MCP6022打板测试硬件设计PID测试存在的问题参考:基于STM32的同步整流Buck-Boost数字电源 开源 芯片手册详解 栅极驱动器 EG3112栅极驱动芯片 (较低芯片,一个四五毛) …...

Vue3项目中 npm 依赖安装 --save 与 --save-dev 的区别解析

这两个命令的区别如下&#xff1a; bash npm install --save types/crypto-js # 安装到 dependencies&#xff08;生产依赖&#xff09; npm install --save-dev types/crypto-js # 安装到 devDependencies&#xff08;开发依赖&#xff09; 核心区别 依赖分类不同…...

Oracle 数据库中的 JSON:性能注意事项

本文为白皮书“JSON in Oracle Database: Performance Considerations”的翻译及阅读笔记。 目的 本文档概述了在 Oracle 数据库中存储和处理的 JavaScript 对象表示法 (JSON) 的性能调优最佳实践。应用这些最佳实践将使开发人员、数据库管理员和架构师能够主动避免性能问题&…...

机器人项目管理新风口:如何高效推动智能机器人研发?

在2025年政府工作报告中&#xff0c;“智能机器人”首次被正式纳入国家发展战略关键词。从蛇年春晚的秧歌舞机器人惊艳亮相&#xff0c;到全球首个人形机器人马拉松的热议&#xff0c;智能机器人不仅成为科技前沿的焦点&#xff0c;也为产业升级注入了新动能。而在热潮背后&…...

【Linux】网络基础和socket(4)

1.网络通信&#xff08;app\浏览器、小程序&#xff09; 2.网络通信三要素&#xff1a; IP&#xff1a;计算机在网络上唯一标识&#xff08;ipv4:4个字段&#xff0c;每段最大255 IPV6:16进制&#xff09; 端口&#xff1a;计算机应用或服务唯一标识 ssh提供远程安全连接…...

大数据可能出现的bug之flume

一、vi /software/flume/conf/dir_to_logger.conf配置文件 问题的关键: Dir的D写成了小写 另一个终端里面的东西一直在监听状态下无法显示 原来是vi /software/flume/conf/dir_to_logger.conf里面的配置文件写错了 所以说不是没有source参数的第三行的原因 跟这个没关系 …...

图解Mysql原理之全局锁,表级锁,行锁了解吗?

前言 大家好&#xff0c;我是程序蛇玩编程。 Mysql中的锁大家都用过吗&#xff0c;那全局锁&#xff0c;表锁&#xff0c;行锁哪个用的频率最多呢? 正文 全局锁: 全局锁就是对整个数据库实例加锁。 MySQL 提供了一个加全局读锁的方法&#xff0c;命令是 Flush tables wi…...

JavaScript 的“世界模型”:深入理解对象 (Objects)

引言&#xff1a;超越简单值&#xff0c;构建复杂实体 到目前为止&#xff0c;我们学习的变量大多存储的是单一的值&#xff0c;比如一个数字 (let age 30;​)、一个字符串 (let name "Alice";​) 或一个布尔值 (let isActive true;​)。这对于简单场景足够了&am…...

Java集成【邮箱验证找回密码】功能

目录 1.添加依赖 2.选择一个自己的邮箱&#xff0c;作为发件人角色。 3.编写邮箱配置【配置发件人邮箱】 4.编写邮箱配置类 5.编写controller业务代码 6.演示效果 7.总结流程 8.注意 结语 一.发送邮箱验证码 1.添加依赖 <!--导入邮箱依赖--> <dependency&g…...

HarmonyOS 5.0应用开发——MVVM模式的应用

【高心星出品】 文章目录 MVVM模式的应用ArkUI开发模式图架构设计原则案例运行效果项目结构功能特性开发环境model层viewmodel层view层 MVVM模式的应用 MVVM&#xff08;Model-View-ViewModel&#xff09;模式是一种广泛用于应用开发的架构模式&#xff0c;它有助于分离应用程…...

程序员鱼皮最新项目-----AI超级智能体教程(一)

文章目录 1.前言1.什么是AI大模型2.什么是多模态3.阿里云百炼平台介绍3.1文本调试展示3.2阿里云和dashscope的关系3.3平台智能体应用3.4工作流的创建3.5智能体编排应用 1.前言 最近鱼皮大佬出了一套关于这个AI 的教程&#xff0c;关注鱼皮大佬很久了&#xff0c;鱼皮大佬确实在…...

【AI模型学习】双流网络——更强大的网络设计

文章目录 一 背景1.1 背景1.2 研究目标 二 模型2.1 双流架构2.2 光流 三 实验四 思考4.1 多流架构4.2 fusion策略4.3 fusion的early与late 先简单聊了双流网络最初在视频中的起源&#xff0c;之后把重点放在 “多流结构"和"fusion” 上。 一 背景 1.1 背景 Two-Str…...

HarmonyOS:一多能力介绍:一次开发,多端部署

概述 如果一个应用需要在多个设备上提供同样的内容&#xff0c;则需要适配不同的屏幕尺寸和硬件&#xff0c;开发成本较高。HarmonyOS 系统面向多终端提供了“一次开发&#xff0c;多端部署”&#xff08;后文中简称为“一多”&#xff09;的能力&#xff0c;可以基于一种设计…...

“在中国,为中国” 英飞凌汽车业务正式发布中国本土化战略

3月28日&#xff0c;以“夯实电动化&#xff0c;推进智能化&#xff0c;实现高质量发展”为主题的2025中国电动汽车百人会论坛在北京举办。众多中外机构与行业上下游嘉宾就全球及中国汽车电动化的发展现状、面临的挑战与机遇&#xff0c;以及在技术创新、市场布局、供应链协同等…...

《Pinia 从入门到精通》Vue 3 官方状态管理 -- 基础入门篇

《Pinia 从入门到精通》Vue 3 官方状态管理 – 基础入门篇 《Pinia 从入门到精通》Vue 3 官方状态管理 – 进阶使用篇 《Pinia 从入门到精通》Vue 3 官方状态管理 – 插件扩展篇 &#x1f4d6; 教程目录 为什么选择 Pinia&#xff1f;1.1 背景介绍1.2 Vuex 的痛点&#xff08;对…...

Java技术体系的主要产品线详解

Java技术体系的主要产品线详解 Java Card&#xff1a;支持Java小程序&#xff08;Applets&#xff09;运行在小内存设备&#xff08;如智能卡&#xff09;上的平台。 Java ME&#xff08;Micro Edition&#xff09;&#xff1a;支持Java程序运行在移动终端&#xff08;手机、P…...

‌机器学习快速入门--0算力起步实践篇

在学习人工智能的过程中&#xff0c;显卡是必不可少的工具&#xff0c;但它的成本较高且更新换代速度很快。那么&#xff0c;没有GPU的情况下如何学习人工智能呢&#xff1f;以下是针对普通电脑与有算力环境分离的学习规划方案&#xff0c;尤其适合前期无GPU/云计算资源的学习者…...

MySQL 详解之索引:提升查询效率的秘密武器

在数据库的世界里,数据量通常是巨大的。想象一下,一个拥有数百万甚至数十亿条记录的表格,如果你需要从中查找符合特定条件的几条甚至一条记录,数据库是如何快速找到它们的呢?如果没有高效的机制,数据库不得不一条条地遍历整个表格,这无疑会非常缓慢和耗费资源。这时,索…...

中通 Redis 集群从 VM 迁移至 PVE:技术差异、PVE 优劣势及应用场景深度解析

在数字化转型浪潮下&#xff0c;企业对服务器资源的高效利用与成本控制愈发重视。近期&#xff0c;中通快递将服务器上的 Redis 集群服务从 VM&#xff08;VMware 虚拟化技术&#xff09;迁移至 PVE&#xff08;Proxmox VE&#xff09;&#xff0c;这一技术举措引发了行业广泛关…...

源码篇 剖析 Vue2 双向绑定原理

前置操作 源码代码仓地址&#xff1a;https://github.com/vuejs/vue/tree/main 1.查看源码当前版本 当前版本为 v2.7.16 2.Clone 代码 在【Code】位置点击&#xff0c;复制 URL 用于 Clone 代码 3.执行 npm install 4.执行 npm run dev 前言 在 Vue 中最经典的问题就是双…...

Restful接口学习

一、为什么RESTful接口是数据开发的核心枢纽&#xff1f; 在数据驱动的时代&#xff0c;RESTful接口如同数据高速公路上的收费站&#xff0c;承担着数据交换的核心职责。数据工程师每天需要面对&#xff1a; 异构系统间的数据交互&#xff08;Hadoop集群 ↔ 业务系统&#xf…...