问题现象: |
外购仓库全部采用计划价核算方法.仓库编号=10,11-26到12-30日的暂估余额表,有如下问题表述: 上期结余的数量与金额都是正确的(11月底),12月份本月结算一列是正确的;但12月份的本期入库-“数量”是对的,但金额不对,不等于”入库数量*暂估单价(计划单价)”,经检查是当月入库单存在未结算数量的暂估金额被改写成了发票单价,不知是什么原因造成的.同时,也导致”结算暂估金额”一列数据也不对.应该是=结算数量*暂估单价(计划价) 有这种问题的存货编码举例:13111081—本期入库金额不对.L061367—结算暂估金额不对. 对于以上这两种现象的存货还有很多. |
解决方案: |
您好: 请先备份数据,然后再操作。 按照客户的需求,采购入库单的单价自动带出并且等于计划价格。则在录入入库单时收发记录子表rdrecords表中。iunitcost,facost,ipunitcost,三个记录应该一致。都等于计划价格,但是我查询的结果不一致。单价不一样,所以造成了金额也不一样。iaprice,imoney。不等于暂估单价*数量。这种现象的有两种可能。1、由于录入入库单时手工修改了实际价格造成的。2、手工修改过数据库。 处理方法:按照客户的需求,采购入库单的单价自动带出并且等于计划价格。那就直接更新数据库中的记录。 /*按照计划价格更新结算单子表暂估单价isvacost=计划单价iinvrcost,暂估金额isvaprice=累计结算数量*计划单价。*/
update a set isvacost=iinvrcost, isvaprice=isvquantity*iinvrcost from(( pursettlevouchs a join pursettlevouch b on a.psvid=b.psvid) join inventory c on a.cinvcode=c.cinvcode )join ((rdrecords d join rdrecord e on d.id=e.id)join warehouse f on e.cwhcode=f.cwhcode ) on a.irdsid=d.autoid where f.cwhvaluestyle='计划价法' and facost is not null and cvouchtype='01'
/*按照计划价格更新出入库单子表的暂估金额iaprice,暂估单价facost为计划单价*数量,累计结算金额imoney=累计结算数量*计划价格*/
update b set iaprice=iquantity*iinvrcost,facost=iinvrcost, imoney=isquantity*iinvrcost from rdrecord a join (rdrecords b join inventory e on b.cinvcode=e.cinvcode)on a.id=b.id join warehouse c on a.cwhcode=c.cwhcode where c.cwhvaluestyle='计划价法'and ipunitcost<>isnull(facost ,0) and facost is not null and cvouchtype='01'
/*检索计划单价和暂估单价不一致的记录*/
select ipunitcost,facost,rdrecords .* from rdrecords join rdrecord on rdrecords.id=rdrecord.id where ipunitcost<>isnull(facost ,0) and facost is not null and cvouchtype='01' |