自动化验证方案:主表 + 子表结构下的子表重复数据校验

1、概述

在主表 + 子表的关联业务场景中,重复数据录入是最隐蔽却影响深远的 “效率杀手”。以下场景是否似曾相识?

  • 销售区域报备:小王和小李同时报备 “朝阳区”,导致后续客户归属纠纷,团队花费 3 小时核对原始记录才厘清责任;
  • 商品入库管理:仓库专员录入明细时误填两次 “iPhone 15”,系统显示库存多 10 台,导致发货时发现实际缺货,客户投诉率上升 20%;
  • 项目任务分配:同一 “系统开发” 任务被分给两个开发组,重复开发造成人力浪费,项目成本超支 15%;
  • 客户跟进记录:销售 A 和销售 B 同时跟进 “某科技公司”,重复拜访让客户质疑企业专业性,最终订单流失。

这些问题的根源,在于缺乏对 “子表重复数据” 的自动化校验机制 —— 人工核对不仅耗时(平均每次需 1-2 小时),还易出错(错误率高达 18%),更会引发资源冲突、团队矛盾和客户信任危机。

本方案通过自动填写和调用触发两大核心功能,实现子表数据 “录入时防重复、提交后防冲突”,彻底解决上述痛点,实现降本、提效、避险、灵活的业务管理。

2、场景需求

2.1 场景介绍

以 “销售区域报备” 为基础案例,详解两种核心校验逻辑,所有场景均可直接复用或调整规则。

场景 1:子表内部重复校验(同一业务单内去重)

  • 业务痛点:录入明细时因操作失误导致重复(如销售报备 “东城区、西城区、西城区”,商品入库填 “衬衫、衬衫、裤子”),后期需手动删改,易遗漏。
  • 解决方案:自动填写机制 —— 实时去重,录入即规范
  • 通过 “实时监测 + 自动去重 + 弹窗提示”,在用户录入时就阻断重复数据。

场景 2:跨数据重复校验(先到先得,资源独占)

  • 业务痛点:同一资源(如区域、客户、账号)被多人重复报备,因 “谁先录入” 争议引发团队矛盾(如 “朝阳区” 被销售 A 和销售 B 先后报备,导致客户归属权纠纷)。
  • 解决方案:调用触发机制 —— 提交即校验,锁定首录者
  • 通过 “提交后校验 + 历史数据比对 + 重复数据删除”,确保资源仅归属首位录入者。

解决方案效果如下:

2.2 表结构介绍

无论何种业务场景,重复校验需依赖以下表结构设计,可直接复用或调整:

  • 主表:记录整体业务信息,设置子表标签页展示子表明细,并开启随同增改删。
    例如本案例中的区域报备主表:记录一次性报备多个区域的归属信息,如报备人、时间等,设置子表标签页显示报备的区域,并开启随同增改删。

img

  • 子表:记录明细数据(需校验重复的内容),关联主表和配置表。
    例如本案例中的区域报备子表:记录报备的区域明细,关联【区域报备主表】&【区域配置表】。

img

  • 配置表:存储所有可选值,用于规范子表录入范围。被子表关联。
    例如本案例中的区域配置表:作为配置表,记录所有区域。

img

3、详细配置方案

3.1 【场景1】自动填写:子表内部重复校验(同一数据内去重)

3.1.1 适用场景

子表数据随主表一同创建 / 编辑时,需实时校验当前录入的明细是否重复;

例如:同一订单的商品明细中,不允许重复添加同一商品。

3.1.2 配置步骤

配置开始节点:基于【区域报备主表】配置

基于主表(如区域报备主表)配置 “自动填写”,触发时机为 “子表字段填写结束后”(如 “区域报备明细。报备区域” 字段编辑后)。

触发页面:勾选 “数据创建页” 即可。因为“回填触发数据”节点中“创建时对子表进行覆盖式回填”功能,仅在创建数据时生效

img

配置全局变量:设置两个全局变量

设置两个全局变量,全局变量可在任意节点引用,方便后续在节点内调用相关变量,给全局变量赋值。

  • 全局变量1-全部已报备区域:设置为数组类型,用于临时记录当前子表中已录入的报备区域字段值(初始值可随意填写一个元素,后续会清空)。
  • 全局变量2-真假:设置为真假类型,用于后续标记报备字段值是否重复,作为分支判断条件。

img

节点#1 清空全局变量

在前序设置“全局变量1-全部已报备区域”时,必须要添加一个元素,这里将预设的数组元素清空,方便后续调用。

img

节点#2 数组循环

在操作人更新子表的「报备区域」时,遍历子表中所有已录入的明细数据(报备区域),逐条校验。

img

循环-节点#3 对比当前进入循环的报备区域数据,是否重复

本节点用于将当前进入循环的报备区域,与前序已报备的全部区域进行对比,判断本次进入循环的报备区域是否重复。

用IN函数对比当前字段值是否已存在于全局变量 1 中(即是否已出现过)。该变量输出的结果为TRUE 或 FALSE。

有人会问「全部已报备区域」前面不是被清空了吗?用它来对比有什么意义?

整个数组循环中,每一条数据进入循环后,在后续的分支中都会被添加至全局变量「全部已报备区域」,当下一条数据进入循环后,再对比全局变量「全部已报备区域」时,全局变量中以包含了前面N次循环包含的区域数据。详细配置见节点#6设置。

IN函数用法>>

img

循环-节点#4 依据真假结果,来判断执行哪条分支

调用节点#3全局变量的真假结果,来设置分支条件:

  • 返回结果为真,代表重复,执行分支1弹窗提示;
  • 返回结果为假,代表不重复,执行分支2,不做任何动作。

img

循环-分支1重复-节点#5

若重复,弹窗提示 “XX 重复,重复了”(如 “西城区重复了”)。

img

循环-分支2不重复

若不重复,分支不需要设置任何动作,这里不再赘述。

循环-节点#6 累加全部已报备区域

每次循环时,需将当前报备的区域添加至全局变量的数组中进行累加。这样,当下一次循环执行时,节点 #3 就能直接调用该数组,与新进入循环的报备区域进行对比,快速判断是否存在重复。

APPEND函数会自动合并重复项,了解APPEND函数>>

img

节点#7 回填全部已报备区域

依据前面累加的已报备区域,将其逐条回填到子表标签页的明细中。

img

3.1.3 跨场景复用

  • 商品入库:将 “报备区域” 替换为 “商品编号”,阻止同一订单重复录入相同商品;
  • 任务分配:将 “报备区域” 替换为 “分配任务”,避免同一任务被重复添加到子表。

3.2【场景2】调用触发:校验跨数据重复(先到先得)

3.2.1 适用场景

数据提交后需校验是否与历史数据重复(如资源分配、独家权限申请等);例如:同一客户只能被一个销售跟进,需校验客户是否已被其他销售占用。

本调用触发分为两个部分:

  • 第一部分:重复区域检测

​ 提交报备数据后,系统会逐条比对本次报备的区域与历史已报备数据,自动识别并记录所有重复的区域。

  • 第二部分:结果处理与反馈
    • 根据检测结果执行对应操作:
    • 若未发现重复区域,弹窗提示 “报备成功”,保留当前所有报备数据;
    • 若存在重复区域,自动删除本次报备中的重复数据,并弹窗提示 “【XX 区域】等重复区域报备失败,其余区域提交成功”。

img

3.2.2 配置步骤

配置开始节点:基于【区域报备主表】配置

开始节点可保持默认设置。

img

节点#1 打开【区域报备主表】的创建页

img

配置全局变量:设置一个全局变量

全局变量,设置为数组类型,用于存储 “重复区域”,记录所有与历史数据冲突的字段值。

全局变量可在任意节点引用,方便后续在节点内调用相关变量,给全局变量赋值。

img

节点#2 清空全局变量

在前序设置的全局变量“重复区域”时,必须要添加一个元素。这里将预设的数组元素清空,方便后续调用。

img

节点#3 查询本次报备的区域明细

获取当前提交的子表明细(如本次报备的所有区域)。

img

节点#4 数组循环

逐条遍历本次明细,对比历史数据。

img

循环-节点#5

每一条进入循环的报备区域明细,都查询一下历史数据中,有没有同一个区域的数据。

img

循环-节点#6 依据前序查询结果判断是否重复

节点#5中查询结果为空,说明不重复;查询结果非空,说明有重复数据。

img

循环-分支1不重复

不重复的分支不需要设置任何动作,这里不再赘述。

循环-分支2重复-节点#7

若历史数据中已存在相同值(如该区域已被报备),将其添加到 “重复区域” 变量。

img

节点#8 判断是否重复

依据节点#7中全局变量的数组结果是否为空,判断是否有重复数据。

img

分支1不重复-#节点9 弹窗提示报备成功

若 “重复区域” 为空,弹窗提示 “提交成功”,保留当前数据。

img

分支2重复-#节点10 删除重复的报备明细

若 “重复区域” 非空,则删除重复报备的区域数据明细,仅保留未重复的数据。

img

分支2重复-#节点11 弹窗提示部分报备失败

在删除数据之后,弹窗提示 “XX 区域报备失败,未成功提交”。

img

结束

根据需要设置,由于前面已经有弹窗提示了,这里也可以选择不提示。

img

调整“调用触发”按钮生效位置

由于需要在创建数据后生效,可以将表格的创建数据按钮直接配置为触发本“调用触发”功能的按钮,创建数据后立即验证。

img

img

3.3 难点解析:全局变量

本方案中的难点在于“全局变量”的调用及使用。

“全局变量” 是实现子表重复校验的核心载体,通过临时存储关键数据、传递校验结果,串联起整个自动去重流程。

  • 【场景1】全局变量 1(数组):临时存子表已录入的区域,供循环中实时对比新录入区域是否重复(如先存 “东城区”,再对比 “西城区” 是否重复)。
  • 【场景1】全局变量 2(真假):标记当前区域是否重复,控制后续流程(重复则弹窗,不重复则继续)。
  • 【场景2】全局变量(数组):记录本次报备中与历史重复的区域,供后续判断。

全局变量像 “临时记事本”,串联起循环校验、结果判断等步骤,让系统自动完成重复检测和处理,无需人工干预。

4、总结:从 “数据混乱” 到 “规范可控” 的一步跨越

重复数据的本质是 “业务规则未被系统固化”—— 当团队还在靠 “人工记、Excel 查、口头约” 避免重复时,效率和准确性早已落后于对手。

通过本方案的 “自动填写 + 调用触发” 机制,你可以:

  • 零人工干预:从 “录入时” 到 “提交后” 全流程自动化,避免人工核对遗漏;
  • 规则灵活调:支持自定义 “去重字段”(如区域、商品、客户)、“提示文案”(如 “客户【XX】已被占用”)和 “保留规则”(如保留首录 / 最新录入);
  • 全场景覆盖:无论你是销售、仓储、项目还是客服团队,只要涉及 “主表 + 子表” 结构,均可通过替换字段快速适配(如将 “区域” 换成 “SKU”“手机号”“工号”)。

现在就根据你的业务场景,开启数据规范化之旅吧!

2025-07-07 更新
25 次查看
0