解决方案: |
调拨入库单的金额与调拨出库单的金额不一致的问题通过下面的语句查询2004年的数据库发现调拨入库单在存货明细账中的autoid号在调拨出库单的autoid号之前,所以可能是10号仓库全部单据包括调拨出库单记账,此时调拨出库单根据先进先出法计算出单价,然后15号仓库的调拨入库单记账,这时调拨入库单的成本取自调拨出库单的成本,是2159.84,记账人是刘晓霞,然后又恢复了10号仓库的单据记账,更改了10号仓库产品入库单的单价为2089.9000,对10号仓库重新记账,此时调拨出库单根据先进先出法计算出单价为2089.9,记账人为马涛,与其相应的调拨入库单的单价不一致。存货明细账ia_subsidiary的autoid是自动增长每次加一,而每次进行记账操作都会往表中写入记录,恢复记账则会删除原记录,由于恢复过记账所以调拨入库单的autoid号为4860,却没有autoid为4859的记录
select * from ia_subsidiary
where cinvcode=‘13003002005‘ and imonth=3
order by autoid
下面的语句为所有调拨入库单和相应的调拨出库单成本不等的单据按照autoid号排序,可以看出2003,2004年的调拨单据成本不等的记录都是调拨入库单的autoid号小于调拨出库单的autoid号,即都曾对调拨出库单恢复记账然后再重新记账。
select * from ia_subsidiary where cbuscode in select a.cbuscode from
select sumiainprice as iainprice,cbuscode from ia_subsidiary where cbustype=‘调拨入库‘
group by cbuscode a inner join
select sumiaoutprice as iaoutprice,cbuscode from ia_subsidiary where cbustype=‘调拨出库‘
group by cbuscode b on a.cbuscode=b.cbuscode
where a.iainprice<>b.iaoutprice
order by cbuscode,autoid
所以如果想要两者保持一致,请对调拨出库单重新记账后,也应对相应的调拨入库单恢复记账重新记账,使得调拨入库单重新取调拨出库单上的成本。 |