数据联动规则
1. 简介
1.1 功能简介
数据联动是指在一个表单中调用另一个表单或 聚合表 中满足一定条件的数据。当某一个字段的内容需要跟着上一个字段的变化而自动填写或自动改变选项的时候,就可以使用数据联动功能。
1.2 应用场景
- 在地址选择时,第一个下拉框选择江苏省,第二个下拉框只能选择江苏省对应的城市;第一个下拉框选择浙江省,第二个下拉框只能选择浙江省对应的城市;这种设置就是应用了数据联动的思想。
- 在商品信息调用时,选择了某个商品名称或编号后,下面的空格自动填入该商品的价格。
1.3 预期效果
以产品质检场景为例:在「产品质检」表单中对产品代码和规格型号设置数据联动,选择好质检产品名称后,表单自动联动出对应的产品代码和规格型号信息。
2. 使用规则
2.1 支持字段
2.2 设置入口
1)对于以下字段,选中字段后,均在「字段属性 >> 默认值」处设置「数据联动」:
- 单行文本
- 多行文本
- 数字
- 日期时间
- 地址
- 图片
- 附件
- 定位
- 子表单
- 成员字段
- 部门字段
2)对于以下字段,选中字段后,均在「字段属性 >> 选项」处设置「数据联动」:
- 下拉框
- 下拉复选框
3)对于以下字段,选中字段后,还可以在「字段属性 >> 可选范围」处设置「数据联动」:
- 部门单选
- 部门多选
2.3 设置方法
选择「数据联动」后,点击「数据联动设置」即进入设置页面:
需要设置的内容如下:
2)联动条件:联动表单与当前表单的字段需要满足的条件。
- 多个联动条件的关系:当存在多个联动条件时,可以选择满足「所有」或「任一」条件;
- 所有:多个联动条件之间的关系为「且」,只联动满足所有条件的数据;
- 任一:多个联动条件之间的关系为「或」,联动满足任一条件的数据;
- 联动表单字段:选择联动表单中的字段,或部分系统字段(提交人、提交时间、更新时间、流程状态);
- 字段关系:根据联动表单的字段类型,可设置不同的字段关系,如等于、不等于、包含、不包含、为空、不为空等;
- 字段值:可选择「当前表单字段」或「自定义」,选择自定义时,字段值需手动录入。
注:直接在 数据管理 添加的流程数据,「流程状态」字段为空,故无法通过「流程状态 = 流转完成」联动出对应数据。
3)触发联动:设置「数据联动」的字段要显示的内容。
- 前面的字段为当前设置「数据联动」的字段,无需设置;
- 后面的字段为联动表单中需要被调用的字段,自动匹配为和前面字段同类型、同名称的字段。
全部设置完成点击下方「确定」即可使用。
2.4 子表单数据联动
如需对子表单字段设置数据联动,可选中子表单字段,在「字段属性 >> 默认值」处,选择「数据联动」后,点击「数据联动设置」即进入设置页面,设置方法同【2.3 设置方法】。
2.5 字段关系
字段关系支持包含、不包含、大于、小于、大于等于、小于等于、属于、不属于等不同种类的字段关系。根据字段种类不同,支持字段关系的数量及种类也不同。
2.6 自定义联动条件
联动条件除了设置为当前表单字段,还可以设置为自定义值,满足更多场景的联动需求。支持自定义值的字段有:单行文本、多行文本、数字、单选按钮组、下拉框、流水号等。
以学生评优为例,在选择年级后,需要关联出学生成绩大于等于 240 分的学生姓名进行评优,这个 240 分的条件需要使用自定义值输入:
3. 直达联动表单
联动表单选择完成后,将会出现 按钮,若在设置数据联动时,需要参考、修改联动表单设计,点击该按钮即可一键跳转至联动表单的设计页面。效果如下图所示:
4. 注意事项
1)数据联动设置时,除以下特殊情况外,同一行的字段类型需要完全相同,即成员字段只能对应成员字段,数字字段只能对应数字字段。
- 单行文本字段与多行文本、单选按钮组、下拉框可以互相对应。
- 复选框组与下拉复选框可以相互对应。
2)当数据联动调取出来的值有多个时,需要用下拉框再次进行选择,否则会默认只显示第一个提交的数据;如果调取出来的值是唯一的,则可以根据需要选用其他字段。
4)对下拉框或下拉复选框字段设置数据联动时,需要设置字段可编辑,联动时即可手动选择,如设置为不可编辑,则数据联动后会显示暂无内容。
5)对部门字段的「可选范围」设置数据联动时,是需要手动点击部门字段进入选择的,如果需要默认显示,需要对默认值去设置数据联动。
5. 调用失败原因排查
当数据联动设置或调取失败时,可以参考以下排查方案:
1)如设置了多个条件,需确认多个条件之间的关系是「所有」还是「任一」,如选择「所有」,则需要多个条件满足 and 的关系,全部满足时才能触发联动设置。
2)字段属性是否一致:如「分数录入」中用成员单选字段记录姓名;「分数查询」中用单行文本字段记录姓名:
此时如果对「分数查询」中的得分字段设置数据联动,条件为姓名相同,这时是选不到「分数录入」表内的成员单选字段的,需要将两个表的字段类型统一才能实现。