如何使用聚合表在指定流程节点控制数据提交?
1. 简介
1.1 案例简介
由于表单的「流程状态」是在流程节点提交后生成,提交数据时无法依此判断是否触发聚合表的提交校验,因此添加「流程状态」筛选条件会使数据提交校验失效。本案例以费用报销管理场景为例,提供两个方案,来实现在流程表单中通过聚合表计算数据并进行数据提交校验。
1.2 使用场景
- 库存管理中,需要通过聚合表实时计算当前库存来决定是否进行出入库操作;
- 费用报销管理中,需要通过聚合表实时计算当前可用余额来决定是否同意报销。
1.3 设计思路
方式一:通过表单提交校验控制
在费用报销申请审核通过时触发表单提交校验,即账户余额不够支撑报销时,无法通过审核。
1)完整配置聚合表Pro 「资金账户实时统计」的数据来源、维度与指标;
2)聚合表Pro 「费用报销单」数据来源表设置筛选条件:流程状态等于流转完成;
3)将「费用报销单」中账户余额字段的数据联动表单修改为新配置的「资金账户实时统计」聚合表Pro;
4)在「费用报销单 >> 流程设定」中设置 节点提交条件:账户余额 - 报销金额 >= 0。
方式二:通过聚合表数据提交校验控制
在费用报销申请审核通过时触发聚合表数据提交校验,即账户余额不足时审核无法通过。
1)完整配置聚合表Pro 的数据来源、维度与指标;
2)聚合表Pro 「费用报销单」数据来源表设置筛选条件:报销审核结果等于通过;
3)聚合表Pro 设置数据提交校验:账户余额 >= 0。
1.4 效果演示
以方式一为例,当「账户余额 - 报销金额」小于 0 时,将无法审批通过报销申请。如下图所示:
2. 设置步骤
点击安装:费用报销管理 应用模板。
2.1 方式一:通过表单提交校验控制
2.1.1 新建聚合表
进入「应用后台 >> 聚合表」,新建一张空白聚合表Pro,或者选择旧版「资金账户实时统计」聚合表新建一张新的聚合表Pro,如下图所示:
2.1.2 配置数据来源
数据来源表单选择「资金账户」、「其他对公付款」以及「费用报销单」。
2.1.3 配置维度
配置「账户编码」与「账户名称」两个维度。
2.1.4 设置指标
添加以下计算指标:
指标名称 | 计算公式 |
初始金额 | SUM (资金账户.初始金额) |
报销付款金额 | SUM (费用报销单.付款金额) |
对公付款金额 | SUM (其他对公付款.付款金额) |
总付款金额 | 报销付款金额+对公付款金额 |
账户余额 | 初始金额-报销付款金额-对公付款金额 |
2.1.5 添加过滤条件
点击「费用报销」数据来源右侧的过滤按钮,设置过滤条件为:流程状态等于流转完成。
2.1.6 账户余额字段修改联动表单
在费用报销表单中,将账户余额字段的数据联动表单切换成上面新建的「资金账户实时统计」聚合表Pro:
2.1.7 设置节点提交条件
在「费用报销单 >> 流程设定 >> 审批节点 >> 流转规则」中,添加节点提交条件,规则条件为:
- 提示文字:账户余额不足!
- 公式设置:账户余额 - 报销金额 >= 0。
2.2 方式二:通过聚合表数据提交校验控制
2.2.1 新建聚合表
可参考方式一的操作步骤,完成聚合表新建、数据来源与维度的配置以及指标计算。如下图所示:
2.2.2 添加过滤条件
点击「费用报销」数据来源右侧的过滤按钮,设置过滤条件为:报销审核等于通过。
2.2.3 设置数据提交校验
添加数据提交的校验条件为:
- 提示文字:账户余额不足!
- 公式设置:账户余额 >= 0。
2.3 效果演示
效果演示参见本文【1.4 效果演示】。