解决方案: |
下面是几个概念问题:
1、对于全月平均法库存单据上自动带出单价如果选择“按照计价方式取价”,由于本月的业务没有处理完毕,无法计算成本,所以增加单据时都自动带出上月结存单价。
2、存货期末处理时,如果单据上的单价不为空即null值,只要有数,不论是0还是其他数值,则认为该出库单有单价,不会对其再次回写单价,存货明细账中的ia_subsidiary.bmoneyflag字段为自填单价的标志字段。
3、期末处理时全月平均法的计算平均单价的方式为上月结存成本+本月入库成本-本月有金额出库成本即自填了价格/上月结存数量+本月入库数量-本月有金额出库成本得出库单数量即自填了价格
所以
1、从下面的语句可以看出没有出库单上的金额为空的,即都写了金额,没有不回写金额的情况
select * from ia_subsidiary
where iaoutprice is null and brdflag=0
select * from rdrecord a inner join rdrecords b on a.id=b.id
where iprice is null
and caccounter is not null
2、由于大多数出库金额为0的单据的价格是自动填写的即手填的价格或者是自动带出单价,而不是根据本月的入库通过期末处理计算的,例如:110370出库单为0,即是手填的,而113651出库单为0,可能是出库单自动取单价去上月的结存单价为0
select * from ia_subsidiary
where iaoutprice=0 and brdflag=0
and bmoneyflag=1
3、还有一部分出库金额为0的单据的价格不是自填的,但是由于期末处理时计算单价为负数,所以填为0,例如402032存货,2月份期初数量为1,金额为27,月份自填金额出库为31,金;金额为0,则2月份平均单价的计算为1-31/27-0<0,所以销售出库单的单价为0
select * from ia_subsidiary
where iaoutprice=0 and brdflag=0
and bmoneyflag=0 |