畅捷通t+存货明细表跟收发存汇总表对不上
您好,请备份好账套数据,执行下面脚本即可:
***备份,备份,备份,说三遍***
SELECT r2.id, r2.amount, r2.basePrice INTO error_0506 FROM [dbo].[ST_RDRecord] r1 JOIN [dbo].[ST_RDRecord_b] r2 ON r1.id = r2.[idRDRecordDTO] JOIN ( SELECT s.voucherDetailID, SUM(s.outAmount) AS outAmount FROM dbo.ST_SubsidiaryBook s WHERE s.isInStock = 0 AND s.isAdjustVoucher = 0 AND s.docid IS NOT NULL GROUP BY s.voucherDetailID ) xx ON xx.voucherDetailID = r2.id WHERE r1.rdDirectionFlag = 0 AND r2.amount <> xx.outAmount UPDATE ST_SubsidiaryBook SET outAmount = amount, outPrice = baseprice FROM error_0506 WHERE error_0506.id = ST_SubsidiaryBook.voucherDetailID AND ST_SubsidiaryBook.isAdjustVoucher = 0 UPDATE dbo.ST_SubsidiaryBook SET outAmount = ROUND(outAmount,2) WHERE outAmount != ROUND(outamount,2) UPDATE dbo.ST_AdjustCostVoucher_b SET amount = ROUND(amount,2) WHERE amount != ROUND(amount,2) EXEC dbo.SCM_SP_RebuildSummarybook
其他情况,查看存货明细账成本为0,但收发存汇总表成本还有0.29
var code = "050f8007-1d21-4a74-8e78-6107d6afd524"
问题原因: 出库单的金额与存货明细账不一致,单据重新计价时,保证单据金额与存货明细账的金额一致,单价反算。 用户会计期间为非自然月,单据的期间错误。 解决方法: 通过脚本调整单据金额,反算单价,更新单据会计期间 SELECT r1.code, r1.idvouchertype,i.code,r1.id AS mid, r2.id AS cid, r2.amount ,r2.basePrice,r2.baseQuantity, r2.quantity, r2.quantity2,x.outPrice,x.outaSELECT r1.code, r1.idvouchertype,i.code,r1.id AS mid, r2.id AS cid, r2.amount ,r2.basePrice,r2.baseQuantity, r2.quantity, r2.quantity2,x.outPrice,x.outaINTO subsidiarybook201215 FROM dbo.ST_RDRecord r1 JOIN dbo.ST_RDRecord_b r2 ON r1.id = r2.idRDRecordDTO JOIN dbo.AA_Inventory i ON r2.idinventory = i.id JOIN ( SELECT s.voucherDetailID, s.outPrice,s.outAmount AS outa FROM dbo.ST_SubsidiaryBook s WHERE s.isInStock = 0 AND s.isAdjustVoucher = 0) x ON x.voucherDetailID = r2.id WHERE r1.rdDirectionFlag = 0 AND r2.amount <> x.outA AND i.valueType = 360ORDER BY r1.code UPDATE dbo.ST_RDRecord_b SET amount = subsidiarybook201215.outa, basePrice = subsidiarybook201215.outprice, price = subsidiarybook201215.outPriceFROM subsidiarybook201215WHERE subsidiarybook201215.cid = dbo.ST_RDRecord_b.id UPDATE dbo.ST_RDRecord SET VoucherYear = p.currentyear, VoucherPeriod = p.currentperiod FROM dbo.ST_RDRecord r1 JOIN dbo.SM_Period p ON r1.voucherdate BETWEEN p.begindate AND p.enddate WHERE (r1.VoucherYear <> p.currentyear OR r1.VoucherPeriod <> p.currentperiod) AND r1.idvouchertype <> 121 AND r1.VoucherPeriod <> -1

浙公网安备 33010602011771号