【Power Automate】实现将审批退回到以往的审批节点

这是我在客户服务中遇到的一个真实案例,在此做一个记录,同时也分享一下这个案例与其解决方案。

  • 背景说明

客户的需求是审批人也要在表单上填写部分数据,而之后的审批人如果发现这部分由过往审批人填写的数据有错误,那么填写这部分数据的审批人就需要重新填写这些数据,所以需要实现将审批退回给以往的节点的功能,退回后流程将从退回到的那个节点重新开始正常运行,例如从第三级审批选择将该审批退回到第一级审批,那么流程将从第一审批开始重新开始流转,而如果退回到第二级审批,那么第一级审批不需要重新执行,流程将继续从第二级审批重新开始流转。

由于Power Automate并不直接支持将流程回溯到以往的节点,所以我们只能通过循环和标记来手动实现退回的效果。

其实Power Apps也不直接支持审批人修改表单的能力,后边我们还会分享我们对实现审批人修改表单数据的解决方案。

  • 功能实现

 我们首先需要先定义一个初始值为0的整数变量,这个变量用来标记该执行哪一个审批节点,当这个变量值为0的时候执行第一节点,为1时执行第二节点,以此类推。

然后我们设置一个循环节点,由于这个审批流一共有三个审批节点,所以我们的current变量的值在第三个节点完成后会变成3,所以我们设置当current等于3时循环结束。

这样如果审批人选择了退回,我们就把current变量改变成对应的值就行了,比如第三个审批节点的审批人想要将审批退回到第二个审批节点,我们就可以直接将current变量的值改成1,这样循环判断current不等于3,就会从头开始执行一遍循环里的所有结点,同时current此时也不等于0,所以第一个审批节点就会被跳过,直接从第二个节点开始执行,这样就实现了让第二个审批节点的审批人重新审批的效果,第二审批人重新审批后流程继续往下走就自然而然再到第三个审批节点了。

所以为了实现current是几我们就执行对应的审批节点,我们需要给每个审批节点外加一个判断。

这样不需要被执行的审批节点就会直接被跳过去,直到轮到正确的审批节点才会正常执行。

之后我们需要给审批节点设置自定义审批按钮,因为一般的审批节点只有同意和拒绝两个按钮,而我们现在需要添加退回相关的按钮,第一个审批节点就还是统一和拒绝两个按钮即可。

如果我们需要第一个审批节点有退回给发起人的功能,那再添加一项就行了。

之后的审批节点我们就需要加上退回按钮了。

之后我们判断审批结果,根据审批结果修改current的值即可。

如果我们审批节点比较多,那么我们对驳回的判定就直接在“如果不是”的分支里嵌套即可。

如果我们的审批节点实在太多,那也不好一直往“如果不是”的分支里嵌套,因为Power Automate有最大嵌套层数限制,我们像这样把所有退回的判断都摆在同一层也是可以的。

这样设置之后流程就会根据审批人所选的选项来修改审批标记(current变量)的值,同时根据审批标记的值来决定是否运行某个审批节点,以及决定是否终止循环并结束流程,就可以实现将审批退回给过往审批节点的效果了。

  • 12
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值