问题现象: | 发生Bug的操作流程如下: 1)先做一张调拨单,该单据包含2个存货40104、40105。 用扫描设备正常操作,让数量和调拨单吻合,但先不保存单据。 2)在U8中再增加一个其他出库单,存货是40104,数量正好用完库存数,让它正常保存(这时候如果40104再有出库,就会发生负库存了)。 3)回到扫描设备,保存单据。因为40104数量已经超过库存数,保存会出现负库存。U8系统提示错误信息:货位[12131313]不允许零库存出库!单据修改失败. 程序会回滚。 4)在SQL中直接查看货位帐的表(invposition)的记录: 发现该表增加了一行40105的数据,数量就是操作数量。这行数据正常情况应该是不会有的,被回滚掉了。 结果就是:调拨单没有变化,调拨单回滚成功,但是invposition回滚失败 下面3张图是我们跟踪出来的U8进行事务处理的sql,可以看到,U8中是2个事务处理的,不是一个事务。而且,一个是spid=98被回滚了,99没有被回滚! (1)图1-和调拨单有关的事务,可以看到spid=98 (2)图2-和货位有关的事务,可以看到spid=99 (3)图3-回滚的事务处理,可以看到98被回滚了,99没有被回滚 所以才造成了货位帐表增加了一条调拨出的记录。 |
问题原因: | |
解决方案: | 您好, 此问题研发人员已经出具相关补丁,由于【890sp1版本】补丁,现已通过【补丁自动更新系统】发布,此问题的补丁在自动更新系统中编号为【CP-U890-10640-110616-ST.msi】 请使用补丁工具中的【补丁自动更新工具】安装补丁解决此问题; 【友情提示】 补丁自动更新工具的安装及使用说明,请参见补丁中的详细说明 【提示】如有问题,敬请及时邮件联系 |
相关补丁: | |
版本: | 8.90 |
模块: | 库存管理 |
产品: | 供应链 |
问题名称: | u8二次开发调用调拨单事物错误 |
最后更新: | 2011-06-23 23:04:40 |