问题描述:没做成本计算前,库存数量和库存金额都是0;做了成本计算后,库存数量还是0,库存金额变成-0.01,如下图所示:
问题原因:是因为成本计算前和成本计算后,单据成本金额读取方式不一致导致。
成本计算前,单据成本金额 = 上一张单据的(库存金额 ÷ 库存余量)× 本单出库数量,如下图:
第一行:入库数量2016,成本价0.5903,因金额最多只能保留两位小数,所以库存金额是1190.04
第二行:单据成本金额=(1190.04 ÷ 2016)× 1440,四舍五入就是850.03
第三行:单据成本金额=(340.01 ÷ 576)×288,四舍五入就是170.01
第四行:单据成本金额=(170 ÷ 288)×288,就是170
第一行:本行单据成本金额=本单入库数量 × 本单成本价 = 2016 × 0.5903 =1190.04,本行库存金额 = 1190.04;
第二行:本行单据成本金额=上一张单据的(库存金额 ÷ 库存余量)× 本单出库数量 =(1190.04 ÷ 2016)× 1440 = 850.032,本行库存金额 = 上一张单据库存金额 - 本行单据成本金额 = 1190.04 - 850.03 = 340.01;
第三行:本行单据成本金额=上一张单据的(库存金额 ÷ 库存余量)× 本单出库数量 =(340.01 ÷ 576)×288 = 170.01,本行库存金额 = 上一张单据库存金额 - 本行单据成本金额 = 340.01 - 170.01 = 170;
第四行:本行单据成本金额=上一张单据的(库存金额 ÷ 库存余量)× 本单出库数量 =(170 ÷ 288)×288 = 170.01,本行库存金额 = 上一张单据库存金额 - 本行单据成本金额 = 170 - 170.01 = -0.01;
成本计算后,单据成本金额 = 本单成本价 × 本单出库数量,如下图:
第一行:本行单据成本金额=2016 × 0.5903 = 1190.0448,因金额最多只能保留两位小数,所以本行单据成本金额为1190.04,本行库存金额为1190.04;
第二行:本行单据成本金额=1440 × 0.5903 = 850.032,因金额最多只能保留两位小数,所以本行单据成本金额为850.03,本行库存金额 = 上一张单据库存金额 - 本行单据成本金额 = 1190.04 - 850.03 = 340.01;
第三行:本行单据成本金额=288 × 0.5903 = 170.0064,因金额最多只能保留两位小数,所以本行单据成本金额为170.01,本行库存金额 = 上一张单据库存金额 - 本行单据成本金额 = 340.01 - 170.01 = 170;
第四行:本行单据成本金额=288 × 0.5903 = 170.0064,因金额最多只能保留两位小数,所以本行单据成本金额为170.01,本行库存金额 = 上一张单据库存金额 - 本行单据成本金额 = 170 - 170.01 = -0.01;



