
今天我也遇到此类问题。现在与大家分享吧!
销售出库单中有一笔分录没有订单(有下级单据也能删除有点奇怪)。发货通知里面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查询要快很多 有什么办法优化吗、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)