金蝶K3成本计算自动产生委外加工入库的成本调整单的解决方法

金蝶K3成本计算自动产生委外加工入库的成本调整单的解决方法
金蝶K3成本计算自动产生委外加工入库的成本调整单的解决方法

功能模块:实际成本——产品成本计算

问题:13.1成本计算自动产生委外加工入库备注的成本调整单

情况1:勾选成本参数【实际成本计算个步骤均调用委外加工入库核算】

情况2:不勾选成本参数【实际成本计算个步骤均调用委外加工入库核算】,在成本计算过程中点击【无完工产品出库核算(A)】

结果:计算后系统自动产生一张委外加工入库类型的成本调整单,调整金额为本期所有委外加工入库单按物料分类汇总的材料费金额

原因:后台跟踪SQL语句发现,在计算时有一段查询语句,如下:

SELECT

u1.FItemID,u1.FAuxPropID,u1.FKFDate,u1.FPeriodDate,u1.FKFPeriod,u1.FDCStockID,u1.FDCSPID, u1.FMTONo,SUM(isnull(s1.FAmount,u1.FMaterialCost) - u1.FMaterialCost) FAmount 语句1 FROM ICStockBillEntry u1 INNER JOIN ICStockBill v1

ON v1.FInterID = u1.FInterID INNER JOIN t_ICItem

ON t_ICItem.FItemID = u1.FItemID

LEFT JOIN (

SELECT v1.FDInterID,v1.FDEntryID,sum(v1.FQty * u4.FRealPrice) FAmount 语句2 FROM ICClientVer v1 inner join ICStockBillEntry u4

ON v1.FSInterID = u4.FInterID AND v1.FSEntryID = u4.FEntryID GROUP BY v1.FDInterID,v1.FDEntryID ) s1

ON s1.FDInterID = u1.FInterID AND s1.FDEntryID = u1.FEntryID

WHERE (isnull(s1.FAmount,u1.FMaterialCost) - u1.FMaterialCost) <> 0 AND NOT EXISTS( SELECT V.FItemID FROM ICStockBillEntry V INNER JOIN ICStockBill U ON U.FInterID=V.FInterID WHERE FTranType=100 AND FAutoCreType=3 AND FRefType=12542 AND FDate>='2015-03-01' AND FDate<'2015-04-01' AND

V.FItemID = u1.FItemID AND V.FAuxPropID = u1.FAuxPropID AND V.FKFDate = u1.FKFDate AND V.FPeriodDate = u1.FPeriodDate AND V.FKFPeriod = u1.FKFPeriod AND

V.FDCStockID = u1.FDCStockID AND V.FDCSPID = u1.FDCSPID AND V.FMTONo = u1.FMTONo) AND v1.FDate>='2015-03-01' AND v1.FDate<'2015-04-01'

AND t_ICItem.FItemID not in (select distinct t2.FProductID from cbProductQty t2

where t2.FYear=2015

and t2.FPeriod=3

) and t_ICItem.FErpClsID<>1

group by u1.FItemID,u1.FAuxPropID,u1.FKFDate,u1.FPeriodDate,u1.FKFPeriod,u1.FDCStockID,u1.FDCSPID, u1.FMTONo

解释:此段语句中的红色底纹的语句中,【语句2】中的FRealPrice是ICStockBillEntry表中字段,查询结果发现全是0,所以【语句2】中的FAmount 都为0,而【语句】中的判断条件为isnull(s1.FAmount,u1.FMaterialCost),FAmount为0不为null所以

isnull(s1.FAmount,u1.FMaterialCost)= s1.FAmount,从而

SUM(isnull(s1.FAmount,u1.FMaterialCost) - u1.FMaterialCost) = SUM(- u1.FMaterialCost),

所以导致只要一计算就会产生本期的所有委外加工入库单对应的材料成本调整单

解决方案:

1.寻求总部支持,增加补丁修改此段逻辑-----建议

2.制作触发器更新所有FRealPrice=FPrice,这样系统计算时可以使得FAmount为正常数据,

但是因为【语句2】中没有对金额进行2位取整后相加,结果还是会产生同样行数的成本调整单,只是金额较小,为计算的尾差

结果:总部有相关补丁

13.0 PT076025 是13.0版本的综合补丁

13.1 PT091068 13.1单独解决此问题的补丁

PT076025.rar

P T091068.z i p

已测试成功K3wies13.1的处理方式为:(目前按照安装补丁方式未测试成功)

相关主题
相关文档
最新文档