【工作流】单据转换:web端打开付款单提交节点的待办任务报错MissingRecord原创
金蝶云社区-Jasmine_wzw
Jasmine_wzw
3人赞赏了该文章 740次浏览 未经作者许可,禁止转载编辑于2022年09月18日 16:56:11

问题描述:

通过工作流的单据转换节点,将费用报销单转换成付款单,在付款单提交节点参与人在GUI的消息中心可以处理这条待办任务,但是在web端打开待办任务报错了,如下图所示:

image.png



错误详细堆栈信息:com.kingdee.bos.dao.ObjectNotFoundException: MissingRecord:BizAccountBill id = 'UhyWdPtBQsSO5zCf8b2nokAoToE='  AIS:T01 username:zs01

at: com.kingdee.bos.dao.ormapping.ORMappingDAO.checkSize(ORMappingDAO.java:533)


该节点绑定了付款单的提交方法,且报错中的id也是付款单的id,为什么寻址到了费用报销单呢?


分析解答:

流程图如下:

image.png


查看付款单提交节点的配置,如下:

image.png


可以看到,waf2单据界面没有配置。

因最开始走的是费用报销单的流程,而单据转换后要走付款单的流程,对于使用了单据转换节点的流程,单据转换后的单据的提交节点,waf单据界面必须要配置,否则寻址会出现问题,还会找费用报销单的页面,导致拿付款单的id到报销单的实体中去找,找不到就提示MissingRecord。

 在单据转换后的人工节点配置付款单编辑界面(可能会有多个编辑界面,请根据需要配置),如下图:

image.png


思维拓展:

某客户反馈借款单工作流程设置单据审核状态的自动节点挂起了,报错如下:

报错如下:

Caused by: com.kingdee.bos.workflow.WfException :

自动活动【审核】执行时出现异常:自动任务【报销单功能(com.kingdee.eas.cp.bc.app.BizAccountFunction)】的操作【设置单据审核通过状态(setPassState)】时发生错误

parameters:{

[参数值:egHxcJ/ySmeEYKsN0zxtqIEQqrI=,参数类型:class com.kingdee.bos.util.BOSUuid]

[参数值:oscAq2nDQb2a6z+b2tuhCYDvfe0=,参数类型:class com.kingdee.bos.util.BOSUuid]

}

com.kingdee.bos.dao.ObjectNotFoundException: MissingRecord:BizAccountBill id = 'egHxcJ/ySmeEYKsN0zxtqIEQqrI='  AIS:gysy username:张三

at com.kingdee.bos.dao.ormapping.ORMappingDAO.checkSize(ORMappingDAO.java:533)

【省略】

at com.sun.proxy.$Proxy308.getBizAccountBillInfo(Unknown Source)

at com.kingdee.eas.cp.bc.BizAccountBill.getBizAccountBillInfo(BizAccountBill.java:65)

【省略】

at com.sun.proxy.$Proxy307.getBizAccountBillInfo(Unknown Source)

at com.kingdee.eas.cp.bc.app.ExpenseAccountFacadeControllerBeanEx._setPassStateEvent(ExpenseAccountFacadeControllerBeanEx.java:29)

分析发现,二开方法中(ExpenseAccountFacadeControllerBeanEx._setPassStateEvent)将单据id都转成费用报销实体了,而不是根据bosType去找,所以导致用借款单的id去查了费用报销的表而报错。

图标赞 3
3人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!

您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!

请选择打赏金币数 *

10金币20金币30金币40金币50金币60金币
可用金币: 0