数据清理

Odoo 数据清理 应用通过以下功能保持数据完整性和一致性:

  • 去重 <data_cleaning/deduplication>:合并或删除重复条目,确保数据唯一。
  • 回收 <data_cleaning/recycle>:识别过期记录,以归档或删除方式处理。
  • 格式化 <data_cleaning/field-cleaning>:根据指定需求查找并替换文本数据,实现标准化。

可自定义规则确保文本数据保持最新、简洁、一致,并符合公司特定的格式要求。

数据清理 应用由多个模块组成。安装 <general/install> 以下模块即可使用全部功能:

名称描述
数据回收{.interpreted-text role=“guilabel”}基础模块,启用回收功能,适用于 Odoo Community 版
数据清理{.interpreted-text role=“guilabel”}启用字段清理功能,仅在 Odoo Enterprise 版 可用
数据清理(合并){.interpreted-text role=“guilabel”}启用去重并合并记录,仅在 Odoo Enterprise 版 可用

::: spoiler 此外,还提供若干针对特定应用的模块:

名称描述
CRM 去重{.interpreted-text role=“guilabel”}CRM 应用启用去重功能,使用默认的 CRM 合并特性
帮助台合并操作{.interpreted-text role=“guilabel”}Helpdesk 应用启用合并功能
项目合并操作{.interpreted-text role=“guilabel”}Projects 应用启用合并功能
UTM 去重{.interpreted-text role=“guilabel”}UTM Tracker 应用启用合并功能
WMS 会计合并{.interpreted-text role=“guilabel”}在安装 Inventory 应用时,合并产品可能影响库存估值,系统会给出警告
:::

重复记录 仪表盘将相似记录分组,可通过 去重规则 <data_cleaning/deduplication-rules> 中设定的匹配条件进行 合并 <data_cleaning/merge-records>

进入路径:数据清理应用 → 去重

RULE 侧边栏列出所有激活的去重规则,并在每条规则旁显示检测到的重复数量。默认选中 All 规则,记录按规则分组并显示相似度(百分比),主要列包括:

  • 创建时间:原记录的创建日期时间。
  • 名称:原记录的名称或标题。
  • 字段值:用于检测重复的字段原始值。
  • 使用于:引用该原记录的其他模型。
  • ID:原记录唯一标识。
  • 是否主记录:重复记录合并至的 主记录。每组相似记录只能有 一个 主记录。

RULE 侧边栏选择特定规则即可过滤对应的重复记录。

  1. 在相似记录组中选择一条 主记录(作为基准),系统会把其他记录的信息合并进该主记录。
    也可以不指定主记录,由 Odoo 随机挑选一条进行合并。
  2. 点击相似记录组顶部的 合并 按钮,再点击 确定 完成合并。

合并后,系统会在主记录的聊天窗口记录合并信息;如 项目 任务等,会附带指向旧记录的链接,便于追溯。

提示
点击 丢弃 按钮可将分组直接隐藏并归档。通过搜索栏的 已丢弃 过滤器可查看已丢弃的分组。

去重规则决定系统如何识别重复记录。可为数据库中的每个模型单独配置,支持不同的细化程度。进入路径:数据清理应用 → 配置 → 去重

提示
默认情况下,去重规则每天通过计划任务(cron)Data Merge: Find Duplicate Records 自动运行。也可以随时手动运行 运行 <data_cleaning/run-deduplication-rule>

  1. 选择已有规则或点击 新建 创建新规则。
  2. 设定 模型,系统会自动将规则标题更新为模型名称。
  3. 可选 ,限定该规则适用的记录范围,右侧会显示符合条件的记录数量。
  4. 根据模型不同,会出现 重复记录处理方式,可选 归档删除
  5. 选择 合并模式
    • 手动:需人工合并,每组记录会触发 通知用户 选项。
    • 自动:系统自动合并相似度高于阈值的记录,且不发送通知。
  6. 开启 激活 开关后,规则立即生效。
  7. 去重规则 区域点击 添加行,至少配置一条唯一标识字段:
    • 选择 唯一 ID 字段(模型中的字段),系统将以此字段判断相似记录。
    • 匹配方式 中选择
      • 完全匹配:字符完全相同。
      • 不区分大小写/重音匹配:忽略大小写和语言重音。

重要
至少配置一条去重规则,系统才能捕获重复记录。

提示

  • 多公司环境下,可启用 跨公司 以检测不同公司间的重复。
  • 开启 开发者模式 后可看到 建议阈值,低于该阈值的记录将不被建议合并。

配置完成后,可关闭表单或直接 手动运行 <data_cleaning/run-deduplication-rule> 立即捕获重复记录。

路径:数据清理 → 配置 → 去重,选中目标规则后点击左上角的 去重 按钮。系统会在 Duplicates 智能按钮上显示捕获的重复数量,点击该按钮即可进入 管理记录 <data_cleaning/merge-records> 界面。

使用 回收记录 功能清理数据库中已过期或不再使用的记录。

回收记录仪表盘 按照回收规则中设定的条件显示可归档或删除的记录。

进入路径:数据清理 → 回收记录

RECYCLE RULES 侧边栏列出所有激活的回收规则,默认选中 All,记录显示以下列:

  • 记录 ID:原记录的唯一标识。
  • 记录名称:原记录的名称或标题。

在侧边栏选择特定规则即可过滤对应记录。

要回收记录,点击对应行的 验证(fa-check)按钮。系统会根据规则配置将记录归档或删除。

提示
点击 丢弃(fa-times)按钮后,记录会从列表隐藏,后续回收规则也不再检测该记录。通过搜索栏的 已丢弃 过滤器可查看隐藏的记录。

回收规则决定系统如何识别需要回收的记录。可为每个模型单独配置,进入路径:数据清理 → 配置 → 回收记录

提示
默认情况下,回收规则每天通过计划任务(cron)Data Recycle: Clean Records 自动运行。也可随时手动 运行 <data-cleaning/run-recycle-rule>

创建新规则步骤:

  1. 点击 新建
  2. 设定 模型,系统会自动更新规则标题。
  3. 可选 过滤器,限定符合条件的记录数量会显示在右侧。
  4. 配置时间字段与时间范围:
    • 时间字段:用于计算时间差的模型字段。
    • Delta:时间长度(整数),如 [7]
    • Delta 单位
  5. 选择 回收模式
    • 手动:需人工确认,每组记录会触发 通知用户 选项。
    • 自动:系统自动回收,无需通知。
  6. 设定 回收操作归档删除。若选择 删除,可进一步决定是否 包括已归档记录

配置完成后,关闭表单或 手动运行 <data-cleaning/run-recycle-rule> 即可立即捕获待回收记录。

示例
删除一年未更新且因“费用过高”而失去的线索/商机:

  • 模型:Lead/Opportunity
  • 过滤器:[Active] is not set[Lost Reason] is in [Too expensive]
  • 时间字段:Last Updated on (Lead/Opportunity)
  • Delta:1,单位:Years
  • 回收模式:Automatic
  • 回收操作:Delete
  • 包括已归档:fa-check-square

路径:数据清理 → 配置 → 回收记录,选中目标规则后点击左上角的 立即运行 按钮。系统会在 Records 智能按钮上显示捕获的记录数量,点击即可进入 管理记录 <data_cleaning/recycle>

字段清理功能用于统一数据库中姓名、电话、身份证等字段的格式。

字段清理记录 仪表盘展示待格式化的字段及建议的标准值。

进入路径:数据清理 → 字段清理

CLEANING RULES 侧边栏列出所有激活的清理规则,默认选中 All,记录列包括:

  • 记录 ID
  • 记录名称
  • 字段:待格式化的字段名称。
  • 当前值:字段当前的值。
  • 建议值:系统建议的标准化后值。

点击行右侧的 验证(fa-check)按钮即可将记录格式化。

提示
点击 丢弃(fa-times)后,记录会从列表隐藏,后续清理规则不再检测该记录。通过搜索栏的 已丢弃 过滤器可查看隐藏记录。

字段清理规则定义哪些字段需要清理以及采用何种操作。可为每个模型单独配置,进入路径:数据清理 → 配置 → 字段清理

提示
默认情况下,字段清理规则每天通过计划任务(cron)Data Cleaning: Clean Records 自动运行。也可随时手动 运行 <data-cleaning/run-field-cleaning-rule>

默认已存在一个 Contact 规则用于清理 联系人 应用的记录。可编辑该规则或点击 新建 创建新规则。

配置步骤:

  1. 设定 模型,系统自动更新规则标题。
  2. 规则 区域点击 添加行,弹出 创建规则 窗口,需配置:
    • 待清理字段:从模型中选择字段。
    • 操作:可选以下之一
      • 去除空格:出现 Trim 选项,可选择 全部空格多余空格(包括首尾及连续空格)。
      • 设置大小写:出现 Case 选项,可选择 首字母大写全大写全小写
      • 格式化电话:将电话转换为国际格式。
      • 剥离 HTML:将 HTML 内容转换为纯文本。
    • 配置完毕后点击 保存 关闭弹窗。
  3. 设定 清理模式
    • 手动:需人工确认,每条记录会触发 通知用户
    • 自动:系统自动清理,无需通知。

配置完成后,可关闭表单或 手动运行 <data-cleaning/run-field-cleaning-rule> 立即捕获待清理字段。

路径:数据清理 → 配置 → 字段清理,选中目标规则后点击左上角的 清理 按钮。系统会在 Records 智能按钮上显示捕获的记录数量,点击即可进入 管理记录 <data_cleaning/field-cleaning>

合并操作管理器 用于在数据库模型的 操作 菜单中启用或禁用 合并 功能。

开启 开发者模式,进入 数据清理 → 配置 → 合并操作管理器

模型列表列包括:

  • 模型:技术名称。
  • 模型描述:显示名称。
  • 类型基础对象自定义对象
  • 临时模型:是否为临时数据模型。
  • 可合并:是否启用合并操作。

使用搜索栏可过滤出默认已启用合并的模型。

::: seealso ../essentials/contacts/merge :::