单据提交后不能撤销的问题215号工程师问题描述:872版本,采购入库单有审批流,单据已经提交,点击撤销,系统提示:单据尚未进入提交,不允许撤销.问题现象:问题分析:如上图所示,采购入库单0000000005在界面上看,已经提交审批,查审中有提交的记录,但是,点击“撤销”,系统提示;单据0000000005尚未提交,不允许撤销.是数据问题吗?查询一下后台的rdrecord表中的iswfcontrolled(是否进入工作流)和iverifystate(工作流审批状态)字段都正常,没有问题,见下图.既然rdrecord表中的记录显示,已经进入审批流,并且已经提交,那么我们使用第一级的审批人登陆是否可以进行审核呢?我们更换为第一级的审批人aa进行登陆,在门户消息中看到一条审批通知,如下图.注意查看单据流水号为41,与刚刚后台查询的单据id一致。双击此行通知的记录,显示的采购入库单,就是刚刚不能撤销的采购入库单,请大家注意单据号码.通知中提示的单据编码为0000000004与双击打开的单据的单据编码不一致.在后台查询一下门户通知的单据id与单据编码为0000000005的id一致.但是提示信息中提示,单据编码就是0000000004.由此,我们判断当时单据提交时,此单据的单据号为0000000004,提交后,修改了单据编码,导致撤销提交时会报错.至此,找到撤销报错的原因:审批流设置了在终审前允许修改单据,单据进行提交后,又修改了单据编码,导致单据不能撤销,也不能正常审核,点击审核后,审批视图中,所有的节点(同意,不同意,转签,弃审,重新提交)全部置灰,无法操作.解决方案:对于此问题的解决要根据客户的实际情况而定.首先,确认客户的单据编码是否还可以修改回去,客户是由于什么原因修改了单据编码.如果可以修改回原来的单据编码,则直接将单据编码修改成原来的单据编码,就可以正常进行后续操作.这种处理方法是最简单的.但一般情况下,客户都不能接受.因为,多数情况下,用户都是将单据的编码方式设置了一些前缀,例如部门等,按照这些前缀进行流水,如果这些设置为前缀的项目在单据提交后,发现错误,直接进行修改,则单据编码就会改变,导致单据后续撤销或者审核出现问题.对于此种情况,客户一般没有办法将单据编码直接修改回去.此种情况的处理,可以在后台将rdrecord表中审批流状态设置成未提交的状态,即iverifystate=0,则单据处于未提交的状态,在前台界面,直接点击提交,软件会重新按照现在的新单据号进行提交,此时单据可以正常进行后续操作.总结:对于用户出现的这种问题,分析其深层次的原因,还是由于用户在软件操作流程上的不规范造成的,对于已经提交的单据,如果要修改单据编码或者修改会引起单据编码改变的项目时,应该是先进行撤销,修改正确后,重新提交,而不是直接修改,导致单据编码改变,则后续此单据不能进行正常的撤销和审核等操作.在帮助用户解决问题后,适当的对用户进行善意的提醒,减少问题的发生.