T3批次数据不准确

问题描述:
存货启用了批次管理,14年结转到15年后,做出库时,选择存货,跳出的批次选择界面中批次结存数量为-147,批次台账中的结存数量为28,两者不一致,如下图:
T3批次数据不准确_第1张图片

再来查询一下批次结存表:发现批次结存表上入库数量是270,出库数量是417,结存数量是-147。如下图:
T3批次数据不准确_第2张图片
批次结存表的入库、出库数量、结存数量与批次台账中的完全不一致!!!
先看入库数量,批次台账显示的是“期初结存” 175,而批次结存表中显示的是270,去看下期初入库单,如下图:
期初入库单上的数量是270
T3批次数据不准确_第3张图片
说明批次结存表中的数字是正确的,批次台账中的175是不正确的,那么这个175 是从哪里来的?
经过数据库跟踪发现,此数据来源于ST_TotalAccount 表,如下图:
T3批次数据不准确_第4张图片
 直接把iBeginQuantity的值改为270,语句如下:

update ST_TotalAccount set iBeginQuantity=270 where cwhcode='14' and cinvcode='BW001' and cbatch='14101401'

修改完毕后再次查看批次结存表与批次台账,发现入库数量已经一致,都是270,接下来再修改出库数量
T3批次数据不准确_第5张图片

语句查看一下出库与入库数量:

select case a.bRdFlag when 1 then '入库' when 0 then '出库' end ,
sum(b.iquantity) from rdrecord a
left join rdrecords b
on a.id=b.id
where b.cinvcode='bw001' and b.cbatch='14101401'
group by a.brdflag

语句运行结果如下:
说明累计出库数量是147,而不是417,那批次结存表上的417来源哪里呢?  经过跟踪发现此数据来源于rdRecords表:

select b.cInvcode,b.cBatch,b.iQuantity,b.iSoutQuantity
from rdrecord a
left join rdrecords b
on a.id=b.id
where b.cInvcode='bw001' and b.cBatch='14101401' and a.bRdflag='1

语句运行结果如下:
T3批次结存表数据不准确 - 似水无痕 - 用友软件
直接修改 iSoutQuantity为对应的数字147:

update b set b.iSoutQuantity=147
from rdrecord a
left join rdrecords b
on a.id=b.id
where b.cInvcode='bw001' and b.cBatch='14101401' and a.bRdflag='1'

修改完毕后,再去查看 批次结存表与批次台账,数量已经完全一致:
再次做单据,批次选择的数量也OK!
T3批次数据不准确_第6张图片
 
 
 

你可能感兴趣的:(T3批次数据不准确)