二次开发--后置脚本实现工作流打回重提跳回打回节点
> 引题:用户在二次开发中遇到工作流审批打回后修改单据数据并重新提交回到原有的打回节点场景。
> - 目前工作流打回操作虽可以配置是否重走流程,来实现单据重提后是否跳至打回节点,但无法修改打回单据的状态,导致打回后无法修改。
> - 二开通过走流程流转方式来实现打回,虽可以修改单据内容,但其重提后只能重走流程审批。
![Image_20221110171055.webp](/download/010065857c6949df4baf8d4a5e119d24e26d.webp)
> - 基于上方问题,我们考虑到可以使用后置脚本来帮助二开的摆脱两难境地。
# 解决方案
## 流程配置步骤
思路有了,具体操作如下:(按照流程流转方式来进行修改)
1. 在人工节点数据流程数据(活动ID 和 流程实例ID) 然后创建对应的流程变量(activityID 和 processInstID)与其绑定。在可以执行打回操作的节点也输出活动ID并创建流程变量(oriActivityID)
![636e0d65bf7165000154d310.webp](/download/01004909a5bec6d64a23bf1334875a71f212.webp)
![636e0d72ccdafd0001740ee7.webp](/download/0100b09f702ff9c54410952bbaa3234b3fc9.webp)
2. 配置可打回节点。由于是流程流转方式,所以需要对审批的决策项进行匹配。此案例为演示,遂将不同意名称做改变,实际可自行配置。
![downloadfile.webp](/download/0100e1bb53e1698b4820971383a7801cb22b.webp)
3. 配置自动节点。修改单据状态,添加后置脚本。
**注:脚本的各个参数值需要与配置期创建的参数名一一对应,切不可直接复制**
```java
//脚本内容:
var key=activityID+"#RETURN_TARGET";
com.kingdee.bos.workflow.enactment.WfEngine.getEngine(__bosContext).getProcessInst(processInstID).getProcessContext().getFlowContext().setProperty(key,oriActivityID)
```
![63773fbbc6b95600012fbae5.webp](/download/0100c15b1e3986d24f4591933fcd1e11472f.webp)
![637741576807af000127c770.webp](/download/01009ed48f65571a43709fe29d0fc3f25a58.webp)
4. 保存并发布流程,测试成功。打回单据提交页面保存,提交等相关按钮常亮且可编辑,例如事由。
提交后单据的预估图中看出打回的操作记录。
![637745906807af000127d547.webp](/download/010055da584016fe4db7bd36b7c06529c404.webp)
![637745dc3319f80001179744.webp](/download/01000809e806a801465ab62413751ae51811.webp)
![637746de6807af000127d97d.webp](/download/0100e92269b55fd3415399216a7b5b684b11.webp)
# 进阶
## 标准产品打回原理
首先说一下,标准产品打回后跳转回打回节点的原理。标准产品的逻辑是在执行打回操作的时候判断是否重走流程,如果不重走就将打回节点的节点信息(活动ID拼接打回标识)存储起来,重新提交的时候就会跳转到打回节点。若是勾选重走流程就不会保存节点信息,直接重走流程审批。
![人工.webp](/download/01000a11a81ea5dc4de984b1ab6e5f848f58.webp)
## 客户二开实现的方法
再说下修改单据状态操作,修改单据状态都是通过自动节点来修改单据的状态,上方二开的做法就是在打回到人工节点时中途经过自动节点修改单据状态。如此,单据就变为了可编辑的状态。
![流转.webp](/download/01003e56513e3be1440693a0a716cd6506a0.webp)
## 解决方案原理
了解了以上的两种操作,就可以发现二开的做法只是缺少了保存打回节点状态的操作。我们通过后置脚本将此功能加入到打回时修改单据状态的自动节点上,就可以解决问题。
![DAHUI.webp](/download/0100dc1152aad5634ea78132febdf7803cf2.webp)
二次开发--后置脚本实现工作流打回重提跳回打回节点
> 引题:用户在二次开发中遇到工作流审批打回后修改单据数据并重新提交回到原有的打回节点场景。> - 目前工作流打回操作虽可以配置是否...
点击下载文档
本文2024-09-16 22:12:19发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-46608.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章