问题原因: |
1、经过查询,库存模块收发存汇总表:(期初数量为:21449.27,期末结存数量为:27720.62) 、销售模 块发货统计表:(期初数量为:64856.02,期末结存数量为:81287.77)、存货模块收发存汇总表:(期初 数量为:86305.29,期末结存数量为:109125.51),按照您的逻辑关系进行计算,期初数量成立:(21449. 27+64856.02=86305.29),而期末数量不等,相差117.12:(27720.62+81287.77<>109125.51) 2、这部分差额,即117.12是由于期初发货单在今年又生成了出库单造成,详细记录可通过如下语句进行查询: --期初发货单在今年出库记录 select (a.iquantity),(c.iquantity),* from rdrecords a inner join rdrecord b on a.id=b.id inner join dispatchlists c on a.idlsid=c.idlsid inner join dispatchlist d on d.dlid=c.dlid where b.cvouchtype='32' and b.ddate>='2006-1-1' and d.bfirst=1 --期初发货单在今年出库记录汇总数量 select sum(a.iquantity)as 库存数量合计,sum(c.iquantity) 发货单数量合计 from rdrecords a inner join rdrecord b on a.id=b.id inner join dispatchlists c on a.idlsid=c.idlsid inner join dispatchlist d on d.dlid=c.dlid where b.cvouchtype='32' and b.ddate>='2006-1-1' and d.bfirst=1 3、对于以上语句所查询出的记录,可以从两个方面进行分析,举例说明:第一种,2005年入库12个,发货10 个(未开票,未出库)。这样,存货结存为12个,库存结存为12,发货统计表10。在这种情况下,按您的计 算方法是不等的:即12+10<>12;结转到2006年后,参照这张发货单生成10个出库单,开了3个数量的发票。 这样,存货结存为12-3=9个,库存结存为12-10=2,发货统计表10-3=7。在这个时点,按您的计算方法是 等的:即7+2=9。 4、而您的数据期初是等的,因此可以说明2005年已经出库。但上述语句查询出的结果显示,在2006年这张发 货单又生成了出库单,因此造成等式关系不成立。 |