业务规则


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

场景举例

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

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

配置入口

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

规则的组成

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

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

    • 固定值:例如满意度是选项,只有两个选择,这时就能选择固定值(满意或者不满意)
    • 字段值:例如出库量和库存的对比,每个商品库存会随时变的,应该选择为字段值。
  • 动作

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

    • 显示某个/某些字段
    • 隐藏某个/某些字段
    • 将字段设置为只读
    • 将字段设置为可编辑
    • 以弹窗的方式提示给操作人

实例演示

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

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

表单配置:

只有两个字段

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

  • 字段B:【意见和建议】

需要实现的效果

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

开始配置规则

为字段B配置显示规则

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

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

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

效果

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

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

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

表单配置

效果:

规则的常规管理操作

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

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

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

举例说明:

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

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

常见配置问题示例

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

  • 原因:

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

  • 正确的配置:

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

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

字段的5个原始属性

在工作表中配置字段时,可以设定5个原始属性。

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

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

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

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

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

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

  • 如果业务规则让字段A显示,则此字段必然显示,即使字段里设置了隐藏。
  • 如果业务规则设置可编辑,原始属性设置为隐藏,那么此字段最终是显示并可编辑的。

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

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

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

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

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

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

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

results matching ""

    No results matching ""