待办未处理完成不允许发起新流程
1. 简介
1.1 案例简介
当成员有未处理完成的流程待办时,不允许发起新流程。
1.2 使用场景
如:
1)客户订单业务,每一笔订单最后需通过财务核销,若同一个客户上一笔业务还未流转完成不允许新下单(避免压单)
2)问题反馈流程,针对同一个物品号的反馈还未处理完成时,不允许重复提交反馈;
1.3 设计思路
1)唯一性字段:如客户编号
2)确认审批–单选按钮组:用于辅助判断流程是否完成
3)唯一性字段第几次提交-数字:计算该客户是第几次提交流程
4)校验字段-数字,1 为允许提交的情况:
- 若该唯一性字段是第一次提交,输出 1。
- 若该唯一性字段非第一次提交,并且上一次提交的数据已确认审批,输出 1。
1.4 预期效果
当同一客户编号下,有未审核的订单时,不允许提交下一个订单。如下图所示:
2. 设置步骤
点击安装 「流程提交限制」应用模板,本文将按照应用模板中的示例数据进行讲解。
2.1 表单设置
新建一个流程表单「客户信息表」,录入客户基础信息,如下图所示:
再创建一个「业务订单表」,如下图所示:
2.2 公式设置
唯一性字段第几次提交-数字,计算该客户是第几次提交流程。公式:
MAPX("count",客户编号,客户编号,客户编号)+1
- 其中,MAPX 函数中第一个参数「客户编号」字段来自当前表单,在可用变量处直接添加「客户编号」即可;
- 第二、三个参数「客户编号」和「客户编号」字段来自「客户信息表」,需在可用变量处切换表单为「客户信息表」后,再添加对应字段。
校验字段-数字,1 为允许提交的情况:
- 若该唯一性字段是第一次提交,输出 1。
- 若该唯一性字段非第一次提交,并且上一次提交的数据已确认审批,输出 1。
- 若该唯一性字段非第一次提交,并且上一次提交的数据未确认审批,输出 0。
公式为:
IF(OR(数字(辅助字段数字,校验客户编号提交次数)==1,
AND(数字(辅助字段数字,校验客户编号提交次数)>1,
LEN(MAPX("last",客户编号,客户编号,确认审批))!=0)),1,0)
2.4 节点提交校验
由于是流程表单,需要在流程节点处设置节点提交校验。
校验条件设置如下:
2.5 效果演示
当已经提交的订单未审核时,则不允许提交下一个订单。如下图所示:
当上一个提交的订单审核完毕时,则允许提交下一个订单。如下图所示: