问题现象: |
盘点单的盘点数量和实际的账面数量不符。例如:02仓库的存货‘202214’,批次为‘20030602’,实际应该剩余‘24’,但是盘点单的数量为‘50’。经察看数据,该存货rdrecords中期初结存为两笔,一笔为期初库存数量‘50’,另一笔为U850调整工具调整的数据为‘-26’,但是批次主表中仅有一条期初库存为‘50’的对应记录,缺少调整的记录。造成盘点数与实际库存账面数不符。客户用的是出库跟踪入库,批次管理。 |
问题原因: |
经过跟踪发现,做盘点单进行盘库时,后台程序会从rdrecord(s)、inventory、mainbatch、等相关表中取数。由于存货是出库跟踪入库并且有批次管理,所以出库时在rdrecords表中的cvouchcode字段会写入对应入库单子表标识(即对应入库单的autoid号)。由于升级过程中,库存期初余额有一些被调整为负数量的记录(写入到rdrecords表中的iquantity字段,例:-26),此记录相当于出库,但对应的cvouchcode字段却没有对应的入库单子表标识,因此造成盘点错误。 |
解决方案: |
将出库记录写入对应的入库单子表标识,请执行如下脚本:(执行前请做好备份) update rdrecords set cvouchcode=a.autoid from rdrecord join rdrecords on rdrecord.id=rdrecords.id join inventory on rdrecords.cinvcode=inventory.cinvcode join (select cwhcode,rdrecords. cInvCode, cbatch,rdrecords.autoid from rdrecord join rdrecords on rdrecord.id=rdrecords.id join inventory on rdrecords.cinvcode=inventory.cinvcode where bTrack=1 and cvouchtype='34'and cbustype is not null and iquantity>0)a on rdrecord.cWhCode=a.cwhcode and rdrecords.cInvCode=a.cInvCode and rdrecords.cbatch=a.cbatch where bTrack=1 and cvouchtype='34'and cbustype is null and iquantity |
相关补丁: |
|
版本: |
8.52 |
模块: |
库存管理 |
产品: |
U852----库存管理 |
问题名称: |
盘点数据错误 |
最后更新: |
2005-07-05 00:00:00 |