金蝶K3 Wise 12.2版本 有一单出库单生成发票提示不能将值插入列FAuxPrice,UPDATE失败。

金蝶K3 Wise 12.2版本 有一单出库单生成发票提示不能将值插入列FAuxPrice,UPDATE失败。,第1张

今天我也遇到此类问题。现在与大家分享吧!

     销售出库单中有一笔分录没有订单(有下级单据也能删除有点奇怪)。发货通知里面FAuxPrice字段为空值,自然销售出库也为空值。到了做销售发票FAuxPrice字段为空值就会跳出错误提示。

请把"此处输入销售出库单号"替换成你的销售出库单号。

如下代码可以找出销售出库单有异常的数据行,有了Fsourcebillno,Fsorderbillno就去前台找吧

declare @xout varchar(50)

set @xout=(select finterid from icstockbill where FBillNo='此处输入销售出库单号')

SELECT v1FSupplyID AS FAddress,t1FAddress AS FAddress1,t1FAddress AS FAddress2,u2FAmount((CASE WHEN tnew1FValue <> '1'  THEN u2FTaxRate ELSE 0 END )/100) AS FAmtDiscount,

u2FTaxPricet7FCoefficient AS FAuxOrderPrice,(CASE WHEN tnew1FValue <> '1' THEN (CASE WHEN (IsNull(u2FEntryID,0)>0 AND t17FValue<>'1') THEN IsNull(u2FAuxPrice,0) WHEN IsNull(u2FEntryID,0)=0 THEN u1FConsignPrice ELSE 0 END) ELSE u1FConsignPrice END) AS FAuxPrice,

t4FUnitGroupID as FItemUnitGroupID,sign(t4FAuxClassID)-sign(u1fauxpropid) AS FAuxPropCls,

u1FAuxPropID,t105FName AS FAuxPropName,t105FNumber AS FAuxPropNum,Case When (u1FAuxQty-u1FAuxQtyInvoice)sign(v1FROB)>0 Then (u1FAuxQty-u1FAuxQtyInvoice) Else 0 End AS FAuxQty,

(CASE WHEN tnew1FValue <> '1' THEN (CASE WHEN IsNull(u2FEntryID,0)>0 THEN CAST(u2FAuxTaxPrice AS FLOAT)/CAST(t257FCoefficient AS FLOAT)CAST(t7FCoefficient AS FLOAT) WHEN t17FValue='1' THEN u1FConsignPrice ELSE 0 END) ELSE  (CASE WHEN T17FVALUE=1 THEN u1FConsignPrice ELSE 0 END)   END) AS FAuxTaxPrice,

v1FSupplyID AS FBank,t1FBank AS FBank1,t1FBank AS FBank2,t10FName AS FBaseUnitName,

u1FBatchNo,v1FBillNO,t7FCoefficient,u1FContractBillNo,u1FContractEntryID,u1FContractInterID,

CASE WHEN tnew1FValue <> '1' THEN (case when u1forderinterid>0 then v2FCurrencyID else 1 end) ELSE (CASE WHEN t1FCyID<>0 THEN t1FCyID ELSE 1 END) END AS FCurrencyID,

CASE WHEN tnew1FValue <> '1' THEN (case when u1forderinterid>0 then t14fname else (select fname from t_Currency where fcurrencyid=1) end) ELSE (CASE WHEN t1FCyID<>0 THEN (select fname from t_currency where fcurrencyid=t1fcyid) ELSE (select fname from t_Currency where fcurrencyid=1) end)END AS FCurrencyName,

CASE WHEN tnew1FValue <> '1' THEN (case when u1forderinterid>0 then t14fnumber else (select fnumber from t_Currency where fcurrencyid=1) end) ELSE (CASE WHEN t1FCyID<>0 THEN (select fnumber from t_currency where fcurrencyid=t1fcyid) else (select fnumber from t_Currency where fcurrencyid=1) end)END AS FCurrencyNumber,

v1FSupplyID AS FCustID,t1FName AS FCustName,t1FNumber AS FCustNumber,v1FDeptID,

t2FName AS FDeptIDName,t2FNumber AS FDeptIDNumber,(CASE WHEN tnew1FValue <> '1' AND ISNULL(u1FOrderInterID,0) >0 THEN (CASE WHEN u2FTaxRate <> 0 THEN u2FTaxRate WHEN u2FAuxTaxPrice  u2FUniDiscount > 0 THEN (CASE WHEN tnew4FValue = '1' THEN CONVERT(DECIMAL(28, 16), u2FUniDiscount  100 / u2FAuxTaxPrice) ELSE CONVERT(DECIMAL(28, 16), u2FUniDiscount  100 / u2FAuxPrice) END) ELSE 0 END) ELSE u1FDiscountRate END) AS FDiscountRate,

v1FEmpID,t3EmpFName AS FEmpIDName,t3EmpFNumber AS FEmpIDNumber,u1FEntryID,CASE WHEN tnew1FValue <> '1' THEN (case when u1forderinterid>0 then v2fexchangerate else 1 end) ELSE 1 END AS FExchangeRate,

(CASE WHEN u1FOrderInterID<0 or u1FOrderInterID>0 THEN ISNULL((v2FExchangeRateType),0)  ELSE (CASE WHEN  u1FSourceTranType IN (82,83) THEN ISNULL((SELECT FExchangeRateType FROM SEOutStock WHERE FInterID=u1FSourceInterId) ,0) ELSE 0 END)  END ) AS FExchangeRateType,

(select fname from v_base_exratetype where fid=(CASE WHEN u1FOrderInterID<0 or u1FOrderInterID>0 THEN ISNULL((v2FExchangeRateType),0)  ELSE (CASE WHEN  u1FSourceTranType IN (82,83) THEN ISNULL((SELECT FExchangeRateType FROM SEOutStock WHERE FInterID=u1FSourceInterId) ,0) ELSE 0 END)  END )) AS FExchangeRateTypename,

(select fnumber from v_base_exratetype where fid=(CASE WHEN u1FOrderInterID<0 or u1FOrderInterID>0 THEN ISNULL((v2FExchangeRateType),0)  ELSE (CASE WHEN  u1FSourceTranType IN (82,83) THEN ISNULL((SELECT FExchangeRateType FROM SEOutStock WHERE FInterID=u1FSourceInterId) ,0) ELSE 0 END)  END )) AS FExchangeRateTypenumber,

v1FExplanation,v1FHeadSelfB0147 AS FHeadSelfB01470,v1FHeadSelfB0147 AS FHeadSelfB01471,

v1FHeadSelfB0147 AS FHeadSelfB01472,v1FHeadSelfB0149 AS FHeadSelfB01490,v1FHeadSelfB0149 AS FHeadSelfB01491,

v1FHeadSelfB0149 AS FHeadSelfB01492,v1FInterID,u1FItemID,u1FKFDate,u1FKFPeriod,

V1FManagerID,t15_1FName AS FManagerIDName,t15_1FNumber AS FManagerIDNumber,u1FMapName,

u1FMapNumber,t4FName AS FMatName,t4FNumber  as FMatNumber ,t4Fmodel,u1FMTONo,

u1FNote,u1FOLOrderBillNo,u1FOrderBillNo,u1FOrderEntryID,u1FOrderInterID,u2FTaxPrice AS FOrderPrice,

v1FPayCondition,pay16FName AS FPayConditionName,pay16FNumber AS FPayConditionNumber,

u1FPlanMode,tPlanModeFName AS FPlanModeName,tPlanModeFID AS FPlanModeNumber,

t4FPriceDecimal,CASE WHEN (u1FQty-u1FQtyInvoice)sign(v1FROB)>0 THEN (u1FQty-u1FQtyInvoice) ELSE 0 END AS FQty,

t4FQtyDecimal,v1FSaleStyle,t18FName AS FSaleStyleName,t18FID AS FSaleStyleNumber,

(CASE WHEN ABS(u1FSecQty)>ABS(u1FSecInvoiceQty) THEN (u1FQty-u1FQtyInvoice)/(u1FSecQty-u1FSecInvoiceQty) ELSE 0 END) AS FSecCoefficient,

(CASE WHEN ABS(u1FSecQty)>ABS(u1FSecInvoiceQty) THEN u1FSecQty-u1FSecInvoiceQty ELSE 0 END) AS FSecQty,

t501FName AS FSecUnitName,v1FTranType AS FSelTranTypeID,(SELECT FName FROM v_ICTransType WHERE FID=v1FTranType) AS FSelTranTypeName,

(SELECT FName FROM v_ICTransType WHERE FID=v1FTranType) AS FSelTranTypeNumber,

u1FSEOutBillNo,u1FSEOutEntryID,u1FSEOutInterID,v1FSettleDate,v2FSettleID,Case When v2FSettleID=0 then '' else t8FName end AS FSettleIDName,

Case When v2FSettleID=0 then '' else t8FNumber end AS FSettleNumber,v1FBillNo AS FSourceBillNo,

u1FEntryID AS FSourceEntryID,v1FInterId AS FSourceInterID,v1FTranType AS FSourceTranType,

v1FSupplyID AS FTaxNum,t1FTaxNum AS FTaxNum1,t1FTaxNum AS FTaxNum2,CASE WHEN tnew1FValue <> '1' THEN(CASE WHEN u1forderinterid>0 AND v2FClassTypeID<>1007100 THEN u2FCess WHEN t13FValue='1' THEN t4FTaxRate ELSE t1FValueAddRate END)ELSE (CASE WHEN t13FValue='1' THEN t4FTaxRate ELSE t1FValueAddRate END) END AS FTaxRate,

t4FTrack,(CASE WHEN tnew1FValue <> '1' THEN (CASE WHEN u2FUniDiscount <> 0 THEN u2FUniDiscount WHEN u2FAuxTaxPrice  u2FTaxRate /100 > 0 THEN CASE WHEN tnew4FValue='1' THEN CONVERT(DECIMAL(28, 16), u2FAuxTaxPrice  u2FTaxRate /100) ELSE CONVERT(DECIMAL(28, 16), u2FAuxPrice  u2FTaxRate /100) END ELSE 0 END) WHEN u1FDiscountAmount <> 0 THEN u1FDiscountAmount/u1FAuxQty ELSE 0 END) AS FUniDiscount,

u1FUnitID,t7FName AS FUnitName,t7FNumber AS FUnitNumber,t1FValueAddRate

INTO #TmpSelBills FROM ICStockBill v1

INNER JOIN ICStockBillEntry u1 ON  v1FInterID=u1FInterID

LEFT OUTER JOIN t_Organization t1 ON  v1FSupplyID=t1FItemID

LEFT OUTER JOIN t_SubMessage t18 ON  v1FSaleStyle=t18FInterID

LEFT JOIN t_Emp t15_1 ON  v1FManagerID=t15_1FItemID

LEFT OUTER JOIN t_SystemProfile t13 ON  t13FCategory='IC' AND t13FKey='SaleTaxRateOption'

LEFT OUTER JOIN t_SystemProfile t17 ON  t17FCategory='IC' AND t17FKey='SEOrderTaxInPrice'

LEFT JOIN t_Department t2 ON  v1FDeptID = t2FItemID

LEFT JOIN t_Emp t3emp ON  v1FEmpID = t3empFItemID

LEFT OUTER JOIN t_SystemProfile tnew1 ON  tnew1FCategory='IC' AND tnew1FKey='SalesInvoicePrice'

LEFT OUTER JOIN t_SystemProfile tnew4 ON  tnew4FCategory='IC' AND tnew4FKey='DisCountIncludeTax'

LEFT OUTER JOIN t_PayColCondition pay16 ON  v1FPayCondition=pay16FID

INNER JOIN t_ICItem t4 ON  u1FItemID=t4FItemID

LEFT OUTER JOIN t_MeasureUnit t7 ON  u1FUnitID=t7FItemID

LEFT JOIN t_AuxItem t105 ON  u1FAuxPropID=t105FItemID

LEFT OUTER JOIN SEOrderEntry u2 ON  u1FOrderInterID=u2FInterID AND u1FOrderEntryID=u2FEntryID

LEFT OUTER JOIN t_SubMessage tplanmode ON  u1FPlanMode=tplanmodeFInterID

LEFT OUTER JOIN t_MeasureUnit t10 ON  t4FUnitID=t10FItemID

LEFT OUTER JOIN t_MeasureUnit t501 ON  t4FSecUnitID=t501FItemID

LEFT OUTER JOIN SEOrder v2 ON  u2FInterID=v2FInterID

LEFT OUTER JOIN t_MeasureUnit t257 ON  u2FUnitID=t257FItemID

LEFT OUTER JOIN t_Currency t14 ON  v2FCurrencyID=t14FCurrencyID

LEFT OUTER JOIN v_base_exratetype texratetype ON  v2FExchangeRateType=texratetypeFID

LEFT OUTER JOIN t_settle t8 ON  v2FSettleID=t8FItemID

WHERE ((v1FInterID=@xout AND u1FEntryID IN (27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55)))

ORDER BY v1FInterID, u1FEntryID; update #TmpSelBills set FuniDisCount=Fauxprice(FDiscountRate/100) where FuniDisCount=0;

--销售出库单插入#tmpselbills表的数据

select  from  #tmpselbills   --查询刚刚插入临时表的数据

当然在数据库里快啦

用框架都是有代价的 , 层层封装当然慢了,hibernate提供一级缓存,二级缓存;

基本没有

你想如果可以优化的跟直接 *** 作数据库一样快,那还有谁再用jdbc慢慢写呢,框架的优点就是开发更快代码量少,

如果不是那种性能要求特别高的,hibernate也不会觉得很慢啊;

如果性能要求高,那肯定是jdbc了,存储过程了

以上就是关于金蝶K3 Wise 12.2版本 有一单出库单生成发票提示不能将值插入列FAuxPrice,UPDATE失败。全部的内容,包括:金蝶K3 Wise 12.2版本 有一单出库单生成发票提示不能将值插入列FAuxPrice,UPDATE失败。、同样的sql语句,为什么在数据库中执行要比在使用hibernate查询要快很多 有什么办法优化吗、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9368774.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存