跳到主要内容

业务规则


在创建、查看或编辑记录数据时,通过设定业务规则,可以更改某个或多个字段它的属性(隐藏、显示、只读、编辑、必填),或者锁定记录不允许编辑,也可以比较字段之间的内容,然后提醒给操作人员。

功能示例

  • 1、在做调查问卷时,如果“满意度” 选择了不满意,则显示“意见”字段让提交者填写,如果是选择满意,则无需显示“意见”字段。

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

  • 3、当审批单为审核中时,锁定记录,不能编辑。

规则作用

满足规则条件后,可实现以下7种效果

  • 可以控制字段的隐藏或显示

  • 可以修改字段属性为 只读、可编辑和必填

  • 可以锁定整条记录谁都不能编辑,不满足条件自动解锁记录

  • 给操作人弹窗提醒

配置入口

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

规则的组成

一条业务规则由一个或一组条件、一个或一组动作组成。

  • 条件

    支持设定1个条件,或多个条件组合。每个条件由条件字段+比较关系+条件值组成。

    • 固定值:例如满意度是选项,只有两个选择,这时就能选择固定值(满意或者不满意)

    • 字段值:例如出库量和库存的对比,每个商品库存会随时变的,应该选择为字段值。

  • 动作

    满足条件后,执行的操作,目前有以下几种动作:

    • 显示某个/某些字段
    • 隐藏某个/某些字段
    • 将字段设置为只读
    • 将字段设置为可编辑
    • 以弹窗的方式提示给操作人
    • 锁定当前记录 锁定记录仅工作表操作时有效,按钮、工作流操作时不受影响

实例演示

案例1、满足条件时显示字段

场景:在做调查问卷时,如果“满意度” 选择了不满意,则显示“意见”字段让提交者填写,如果选择满意,则无需显示“意见”字段。

表单配置:

只有两个字段

  • 字段A:【您对我们的售后服务是否满意】

  • 字段B:【请填写不满意的地方】

需要实现的效果

  • 当字段A选择了 “不满意” 时,字段B才会显示并允许用户填写内容。

开始配置规则

为字段B配置显示规则

一个规则由显示的字段和条件组成。

  • 条件设置: 字段是不满意(固定值)时

  • 执行的动作: 显示字段B(意见和建议字段)

效果

案例2、对比字段值后提示相关信息

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

由于库存量是一个随时变化的量,因此选择字段值。

表单配置

效果:

规则的常规管理操作

  • 查看或编辑规则
  • 删除规则、复制规则
  • 规则排序
  • 开启或关闭规则

业务规则是否满足条件后的处理逻辑

如果为某个字段设定了业务规则,满足规则条件时和不满足规则条件时处理逻辑如下图。

举例说明:

  • 第1行,业务规则中设定字段A是显示的,如果不满足规则条件,则字段A是隐藏的,无论字段的原属性是隐藏还是显示。因为显示和隐藏是绝对对立互斥的关系。

  • 第3行,业务规则中设定字段A是可编辑,如果不满足时,则取字段的原来的属性(是否只读),并不会设置为只读,因为可编辑并没有唯一的对立属性,可能是只读,也可能是必填,因此不满足时会取字段原来的属性。

常见配置问题示例

如下图,对于“推广活动名称”这个字段,有两个规则让其显示,但是这样配置的话, 这个字段始终是隐藏的。

  • 原因:

    前面我们讲过,如果符合规则中条件后让字段显示,那么如果不符合条件,会让其隐藏的。 在这个场景中,线索来源只能是"广告推广"或“Email推广”的其中一个,那么符合其中一个规则条件,就一定不符合另一个规则的条件了,隐藏不符合规则的会让其隐藏。

  • 正确的配置:

    对于同一个字段,尽量放在一个规则中。

业务规则、工作流、角色权限对字段影响的优先级

字段的4个原始属性和1个必填验证

在工作表中配置字段时,可以设定4个原始属性和1个必填验证

  • 隐藏
  • 显示(不勾隐藏则为显示)
  • 只读
  • 编辑(不勾只读则为可编辑)
  • 必填(可编辑时必须验证)

它们之间的优先级是:隐藏>显示>只读>必填>编辑

很多地方都能控制一个字段的属性,例如字段配置(隐藏、新增时隐藏)、视图、角色权限、自定义按钮、工作流(审批、填写、通知等节点)和业务规则。那么他们和业务规则的的优先级是怎么样的?

1、"新增时隐藏"不受"业务规则"影响

例如,某字段设置了“新增时隐藏”,那么新增记录时该字段始终是隐藏的,不受任何影响。

2、业务规则高于字段原始属性

  • 如果某个业务规则让字段A显示,则此字段必然显示,即使字段里设置了隐藏。
  • 如果某个业务规则让字段A可编辑,原始属性设置为隐藏,那么此字段最终是显示并可编辑的。
    • 字段中设置的必填,只要字段可编辑,会加上必填验证,如果字段只读,则为只读。

3、多个业务规则之间,取属性优先级

将每个规则对比叠加,取最高优先级,然后覆盖字段原始属性。

  • 例1:对于一个字段A,规则1为隐藏,规则2为显示,规则3为可编辑,原始属性设置为显示,最终字段A是隐藏的。

  • 例2:对于一个字段A,规则1为可编辑,规则2为必填,原始属性设置为只读,最终字段A是必填的。

4、工作流、按钮、角色权限和业务规则之间取属性最高级

任意两种配置之间会按照属性优先级取最高级属性,然后再覆盖字段的原始属性。

其实只要有工作流、按钮、业务规则参与进来,那么字段配置都会被覆盖掉。

5、锁定记录

业务规则中锁定记录只对工作表操作时有效,即直接通过工作表打开记录时,记录会锁定,还可以通过以下两种方式编辑。

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

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

业务规则中字段隐藏时有效性逻辑

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

  • 提示错误

  • 非提示错误动作

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

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

只要条件字段存在没被删除,业务规则就执行。

2 提示错误的处理逻辑

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

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

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

    示例 :出库量 > 库存量 ,提示错误:xxx

    • 条件字段(出库量)隐藏时,执行业务规则
    • 条件值字段(库存量)隐藏时,忽略业务规则
    • 出库量和库存量两个字段都隐藏时,忽略业务规则
  • A >0且B>0 时,提示错误:xxx

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

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

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

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

字段隐藏指的是以下场景

  • 字段配置的属性隐藏
  • 视图隐藏的字段
  • 业务规则隐藏的字段
  • 公开表单未使用的字段
  • 子表/关联记录未启用显示的字段
  • 审批/填写按钮用隐藏的字段

文档问题反馈

文档中是否有错别字、内容过期、难以理解等问题? 点此给我们反馈吧