问题原因: |
首先,就库存的收发存汇总表的查询进行跟踪,它的跟踪过程很简单,其中有一条跟踪语句是这样的(仅保留了有用的部分): SELECT cWhCode,cWhName, TblQuanByRdCode_LWB2_0_Temp.cInvCode , Inventory.cInvName , ... (SUM(ISNULL(iQCJCSL,0)) + SUM(CASE WHEN bRdFlag <>0 THEN isnull(iQuantity,0) ELSE 0 END) - SUM(CASE WHEN bRdFlag = 0 THEN isnull(iQuantity,0) ELSE 0 END)) * IsNull(Inventory.iInvSPrice,0) AS iQMJCJE , ... INTO TblResult_LWB2_0_Temp FROM TblQuanByRdCode_LWB2_0_Temp INNER JOIN Inventory ON TblQuanByRdCode_LWB2_0_Temp.cInvCode = Inventory.cInvCode LEFT JOIN ComputationUnit ON Inventory.cComUnitCode = ComputationUnit.cComUnitCode WHERE 1=1 Group By ... 根据过滤条件中的不同的设置而做对应改变的. 库存收发存汇总表:过滤条件[计算金额依据]{参考成本/最新成本/计划价(售价)},默认选择是‘参考成本’,即不做[计算金额依据]的选择时也=参考成本,{不论是如何选择都是取存货档案上的对应成本的设置。 它们在数据库中对应的分别是存货档案表inventory的如下字段: 参考成本—iinvsprice/最新成本—iinvncost/计划价(售价)—iinvrcost 你可以用如下的语句对你的数据进行查询,发现此数据对应的结果全是NULL空值 select cinvcode,iinvsprice,iinvncost,iinvrcost from inventory |
解决方案: |
将存货档案上的成本页签的{参考成本/最新成本/计划价(售价)},按照用户的需求进行补充即可.
后话: 你也可以对存货档案的{参考成本/最新成本/计划价(售价)},进行统一的设置,用以测试数据库是否正常,语句如下: update inventory set iinvsprice=1,iinvncost=2,iinvrcost=3 此语句是对存货档案的所有存货的{参考成本/最新成本/计划价(售价)}进行附值,参考成本=1,/最新成本=2,/计划价(售价)=3. 之后,可以看到,库存收发存汇总表的显示是正确的. 但是,这不是用户所需要的结果,只是测试使用,请不要在正式的用户数据中执行! |