跳到主要内容

业务规则


业务规则是工作表表单的一种自动化配置方式,支持在记录新增、编辑或查看时,基于条件动态调整字段状态(显示/隐藏、只读/可编辑、必填)、修改字段值、锁定记录或对操作人员进行验证提示。

可实现的常见效果包括:

  • 根据业务逻辑动态显示/隐藏字段
  • 根据条件设置字段为只读/可编辑/必填
  • 进行数据校验并即时提示或阻止保存
  • 条件满足时自动锁定记录,防止后续修改

功能示例

以下是业务规则在实际场景中的应用表现:

  • 示例 1:条件显示与隐藏

    在安排面试时,选择“视频面试”则显示会议链接;选择“现场面试”则显示会议室,并自动清空会议链接内容。

  • 示例 2:动态数据验证

    出库某个商品时,若“出库量”大于该商品的动态“当前库存量”,系统将禁止保存并弹出报错提醒。

  • 示例 3:状态锁定记录

    当产品的状态标记为上架后,该记录的所有字段都将变为只读状态,不可编辑。

配置入口

应用管理员找到要配置的工作表,依次点击:编辑表单 > 表单设置 > 业务规则

提示: 业务规则最多支持同时启用 100 个。

规则的组成:条件与动作

一条业务规则由 「触发条件」「执行动作」 组成。满足设定条件后,系统将执行相应动作。

条件

支持单个或多个条件组合。每个条件由“字段 + 比较关系 + 条件值”组成。

  • 固定值:与静态选项或数值对比(如:面试类型 等于 视频面试)。
  • 字段值:两个字段之间动态对比(如:出库量 大于 库存量)。

动作

动作分为三类:字段交互、字段验证、锁定记录。

字段交互

支持以下操作:

  • 显示 / 隐藏
  • 只读 / 可编辑
  • 必填
  • 设置字段值
  • 只读所有字段

说明: 只读所有字段在记录保存后生效,生效后不允许用户直接编辑,但可以通过自定义动作和工作流进行填写。

字段验证

将数据进行对比,记录数据满足了验证条件后将禁止保存,并提示给操作人。 支持设置提醒的内容和时机,以及数据校验的时机。

数据的校验时机:

  • 若勾选“在字段输入时实时提示”,条件字段在输入和失去焦点时,进行一次数据验证。

  • 若勾选"保存到服务器时再次校验",编辑完成后保存记录时会再一次对比数据库中的值,以防止在编辑过程中后台数据被他人修改导致校验不准确。

    例如,在进行出库时,页面会读取到当前库存量,但该值在编辑过程中可能被其他人更改;开启此选项可在保存时重新读取服务器端实际库存进行校验,确保数据准确。

提醒到指定字段:

  • 支持将提醒显示在指定的字段。

子表中编辑的特殊性

作为子表编辑时,若提醒指定字段不是条件中的比较字段,始终不会实时校验。若提醒指定字段是条件中的比较字段,则只有在编辑提醒字段时才会实时验证。

举例: 验证条件是,"数量"不等于"单价"时, 在"数量"字段上提醒,会有以下下情况:

  • 先输入单价=2,再输入数量=3,会实时提醒

  • 先输入数量=3,再输入单价=2,不会实时提醒

  • 若提醒字段为产品,则始终不会实时提醒

遇到提示错误后是忽略错误继续提交还是阻止提交

  • 阻止提交

    错误信息显示红色,保存时会阻止提交。

  • 忽略错误继续提交

    错误信息显示黄色,保存时会再次提醒错误,允许忽略继续保存。

锁定记录

添加一条业务规则,当保存记录时(新增和编辑),如果符合规则条件,则立即锁定记录。

锁定说明不仅在业务规则锁定时显示,管理员手动锁定的记录也会显示

  • 筛选条件的字段仅支持使用单选、多选、检查项

  • 修改业务规则条件后,不会改变记录是否锁定的状态,仅在保存记录时验证规则条件

实例演示

满足条件时显示或隐藏字段

场景:在安排面试时,面试方式有现场面试和视频会议面试。如果是现场面试、则显示会议室字段,隐藏会议链接字段;当面试方式是视频会议时,显示会议链接字段、隐藏会议室字段

表单配置:

将表单简化为3个字段:面试方式、会议室、会议链接。

需要实现的效果

  • 当面试方式选择了 “视频会议” 时,隐藏会议室字段

  • 当面试方式选择现场面试,隐藏会议链接字段

配置规则
  • 条件设置: 当面试方式等于视频会议时

  • 执行的动作: 显示会议链接字段、隐藏会议室字段。

效果

初学者可能会再配置1个条件,当面试方式等于现场面试时,隐藏或显示字段。其实这个条件可有可无。

原因:业务规则中,如果满足条件后让其隐藏、则当不满足条件后,会执行其对立的动作。在示例中配置的条件中,当选择视频会议,显示了会议链接字段,隐藏会议室字段,当不满足这个条件时,即选择了“现场面试”,这个规则会执行隐藏掉会议链接字段,显示会议室字段。因为隐藏和显示是对立的。 查看详情

出库时对比库存量

场景:在出库某个商品时,如果出库量大于商品当前的库存量,不能保存并提醒给用户。

表单配置

在"验证"标签页下创建业务规则。当出库数量大于当前库存时,提示错误给操作人。

  • 由于库存量是一个随时变化的量,因此选择对比"当前库存"的动态字段值。

  • 提示内容根据场景需求编辑,如本场景可以提示为库存量不足等。

  • 提示的内容可以直接显示在相关字段上,我们选择显示在库存和出库量两个字段中。

  • 勾选"在字段输入时实时提示",输入相关字段值时就会匹配提示,如果不勾选,则仅在提交或保持时进行提示。

  • 由于库存出入的操作比较频繁,在编辑时,提取到的库存量可能已被修改,且库存必须精准。因此需要勾选"保存数据到服务器时再次校验",做双层验证。

效果

当编辑条件中的字段时,会直接在字段中提示错误。

规则的基本管理

  • 查看或编辑规则

  • 删除规则、复制规则

  • 规则排序

  • 开启或关闭规则

动作执行逻辑

业务规则中交互动作的本质是针对字段属性的一个 “覆盖 + 回退 + 叠加”机制

0. 字段“原始属性”说明

字段本身在配置时有基础属性:

  • 隐藏 / 显示
  • 只读 / 可编辑
  • 必填

当业务规则不生效时,字段会回到这些原始属性状态。后续提到的“回退”,即指回到该状态。

1.规则满足条件与否的执行逻辑

业务规则具有“对立执行”特性。一旦规则触发,其发出的动作指令将直接覆盖字段的属性;当条件不满足时,系统会根据动作类型决定是执行“反向动作”还是“回退属性”。

显隐状态:绝对对立

显示隐藏是绝对互斥的关系。规则一旦介入,将完全接管该字段的可见性判定,并强制覆盖字段的显隐设置。

规则动作条件满足时条件 不满足
显示显示隐藏 (强行隐藏)
隐藏隐藏显示 (强行显示)

💡 提示: 无需编写反向规则,系统会自动处理“不满足”时的状态。

示例说明:

规则设置为:“面试方式为‘视频’时,显示【会议链接】”。

当用户切换为“现场面试”(不满足条件)时,【会议链接】会自动隐藏。你无需额外写一条“现场面试时隐藏”的规则。

编辑与必填:属性回退

只读、必填、可编辑动作在条件满足且字段可见时生效;条件不满足时,动作撤销,字段回退到表单原始属性。

动作条件满足时不满足
可编辑可编辑回退为字段原始属性
必填必填回退为字段原始属性
只读只读回退为字段原始属性
只读所有字段记录只读保持原样 (不做任何动作)

⚠️ 注意:这些动作不会强制让隐藏的字段“显示”。

示例说明: 若字段 A 的原始属性设为 “只读”。规则设定:“当金额 > 100 时,字段 A 可编辑”。

  • 当金额 ≤ 100(不满足条件)时,字段 A 会变回“只读”

    注意:它变回只读是因为其原始属性如此,而不是因为“可编辑”的对立面是“只读”。

2.多条业务规则之间的优先级

当同一个字段被多条业务规则同时控制时,系统会先对所有规则发出的动作进行叠加计算,并按 “隐藏 > 显示 > 只读 > 必填 > 可编辑” 的强度优先级执行有效动作。

逻辑解析:

  • 隐藏(最高级): 一旦隐藏,将直接阻断该字段的所有交互与校验。

  • 只读 vs 可编辑: 只读的限制强度高于可编辑,两者冲突时以只读为准。

  • 必填验证: 仅在字段处于“可编辑”状态时才会触发校验。

叠加示例:

  • 显隐冲突:规则 A 发出“隐藏”,规则 B 发出“显示”。系统叠加后,由于隐藏权重最高,最终生效动作: 隐藏

  • 维度叠加:规则 A 发出“显示”,规则 B 发出“可编辑”。系统叠加后,最终生效动作: 显示+可编辑

  • 权限冲突:规则 A 发出“显示”,规则 B 发出“可编辑”,规则 C 发出“只读”。系统叠加后,最终生效动作: 显示+只读(只读强度高于可编辑)。

📌 注意: 以上仅为多条业务规则内部的判定结果。字段的最终状态仍需将此结果与“字段原始属性”及“外部配置(如角色权限、工作流)”进行二次合并计算。

常见错误配置:为什么字段始终隐藏?

在配置多个规则控制同一个字段时,最容易出现以下冲突:

错误示例:

如下图,对于“推广活动名称”字段,配置了两个独立的规则让其显示:

  • 规则 1:线索来源为“广告推广”时,显示该字段。
  • 规则 2:线索来源为“Email 推广”时,显示该字段。

  • 错误原因分析:

    由于线索来源是单选,只能是其中一个。当来源是“广告推广”时,满足了规则 1,但不满足规则 2。根据“显隐对立”原则,规则 2 会因为不满足条件而执行强制隐藏指令。最终两个规则冲突,系统按最高优先级执行(隐藏 > 显示),导致字段始终无法显示。

正确的配置:

对于同一个字段,尽量整合在同一个规则中,使用“或”逻辑组合条件。

3.业务规则和视图、角色权限、工作流的优先级

字段属性可能同时受以下因素影响:

  • 字段原始配置
  • 业务规则
  • 视图
  • 角色权限
  • 工作流 / 自定义按钮

系统会统一汇总所有来源,并按属性优先级裁决:

隐藏 > 显示 > 只读 > 必填 > 可编辑

4.特殊规则与场景限制

"新增时隐藏"始终生效

若字段设置了“新增时隐藏”,则在新增记录阶段该字段绝对隐藏,任何业务规则发出的“显示”指令在此阶段均无效。

只读所有字段的边界

业务规则中的只读所有字段仅在对工作表操作时有效,即直接通过工作表打开记录时,记录中的任何字段都不能编辑,还可以通过以下两种方式编辑数据:

  • 可以通过自定义按钮编辑字段

  • 工作流中的填写节点、审批节点、发送站内通知节点打开记录,依然可以继续编辑。

👉 若需要完全锁定,请使用“锁定记录”。

表格视图环境下的动作降级

在表格视图(需开启业务规则)下,受限于单元格的交互能力,部分动作会发生降级:

动作实际效果
隐藏只读
必填可编辑(不强制)

字段隐藏时的规则有效性

业务规则中参与的字段不可见,对业务规则的执行是有影响的,不同的规则动作有不同的逻辑。业务规则的动作主要分两类:

  • 提示错误

  • 非提示错误动作

    • 显示、只读、隐藏、必填、可编辑、锁定

1 非提示错误动作的处理逻辑

  • 在记录详情页查看时,只要条件字段存在没被删除,业务规则就生效执行。

  • 在表格视图和层级视图的树形表格方式下查看记录时,只要条件字段存在没被删除,字段的只读和可编辑生效,其他动作不生效。其他视图下查看记录时,业务规则始终不生效。

2 提示错误的处理逻辑

  • A > 0 时,提示错误:xxx

    示例:出库量 < 10 时;提示错误 :每次出库必须大于10。当出库量字段隐藏时,则不会提示错误。

  • A > B 时,提示错误:xxx

    • AB只隐藏一个,规则正常执行

    • AB都隐藏,则忽略业务规则

  • A >0且B>0 时,提示错误:xxx

    • AB只隐藏一个,两个条件正常判断,规则正常执行

    • AB都隐藏,则忽略业务规则

  • (A > B) 或 (C > D) 时,提示错误:xxx

    • 当A或B隐藏时,按上面逻辑处理
    • 当A和B都隐藏时,忽略A>B这组条件,走C>D这组条件