收款单选单销售发票支持自定义字段
由于销售发票分为销售普通发票和销售增值税发票模板不同,收款单选单选择销售发票时选择的字段只能是销售普通发票和销售增值税发票模板共同字段,导致销售发票增加了自定义字段的时候选择不到。解决方案是通过修改后面模板和选单试图:
--销售发票的FID:1000100
--销售普通发票的FID:1000000
--销售增值税发票的FID:1000002
-- 其中“销售普通发票”,“销售增值税发票”都可以从BOS平台去自定义加字段。
第一步:
INSERT INTO ICClassTableInfo(fclasstypeid,FPage,FCaption_CHS,FCaption_CHT,FCaption_en,
Fkey,FFieldName,Ftablename,FtableNameAS,FlistIndex,FlistClassName,FVisible,FEnable,FNeedSave,
FMustInput,FCtlType,FvalueType,FdspColtype,FEditlen,Fvalueprecision,Fleft,Ftop,FHeight,FWidth,
FCondition,FTabIndex,FLock)
SELECT '1000033',2,'是否预开发票' as FCaption_CHS,'是否预开发票' as FCaption_CHT,'是否预开发票'as FCaption_en,
'FCheckBox' as Fkey,'FCheckBox' as FFieldName,'vw_ICSaleEntry' as Ftablename,FtableNameAS,
132 as FlistIndex,0 as FlistClassName, FVisible, FEnable,FNeedSave,
0 as FMustInput,FCtlType,FvalueType,FdspColtype,FEditlen,Fvalueprecision,Fleft,Ftop,FHeight,
FWidth,FCondition,FTabIndex,FLock
FROM ICClassTableInfo
WHERE Fclasstypeid=1000000 AND FKey='FCheckBox'
go
update ICCLASSTYPE SET FID=FID
go
--第二步:修改v_rp_SaleInvoiceEntry视图,把FQty1字段添加进去
alter VIEW v_rp_SaleInvoiceEntry
AS
SELECT FInterID=v2.FGUID,
v1.FEntryID,FDetailID=v1.FGUID
,(CASE isnull(v2.FClassTypeID,0) WHEN 1000002 then v1.famount else v1.famountincludetax end) FAmount
,(CASE isnull(v2.FClassTypeID,0) WHEN 1000002 then v1.fstdamount else v1.fstdamountincludetax end) FStdAmount
,(CASE isnull(v2.FClassTypeID,0) WHEN 1000002 then v1.famountincludetax else v1.famount end) FAmountIncludeTax
,(CASE isnull(v2.FClassTypeID,0) WHEN 1000002 then v1.fstdamountincludetax else v1.fstdamount end) FstdAmountIncludeTax
,v1.FAmountFor_Commit,v1.FAmount_Commit,v1.FClassID_SRC,v1.FItemID,v1.FAuxPropID,v1.FUnitID,v1.FAuxQty
,v1.FSecUnitID,v1.FsecCoefficient,v1.FSecQty,v1.FAuxTaxPrice,v1.FAuxPrice,v1.FDiscountRate
,v1.FQuantityPayApply_Commit,v1.FQuantityReceive_Commit,v1.fauxpricediscount,v1.FAmtDiscount
,v1.FStdAmtDiscount,v1.FTaxAmount,v1.FTaxRate,v1.FStdTaxAmount
,v1.FPrice,v1.FTaxPrice,v1.FFreeItem3,v1.FFreeItem4
,v1.FNote,v1.FQty,v1.FBatchNo,v1.FAuxOrderPrice,v1.FOrderPrice
,v1.FContractBillNo,v1.FOrderBillNo,v1.FCheckQty,v1.FCheckAmountFor,v1.FLinkCheckAmountFor,v1.FLinkCheckAmount,FLinkCheckQty
,v1.FCheckAmount,v1.FRemainQty,v1.FRemainAmountFor,v1.FRemainAmount,v1.FContractEntryID
,v1.FEntryID_SRC,v1.FSourceBillNo,v1.FSourceInterId,v1.FOrderEntryID,v1.FQty1
from icsaleentry v1 (NOLOCK) inner join icsale v2 (NOLOCK) ON v1.finterid = v2.finterid
UNION ALL
SELECT FInterID=v2.FGUID,
v1.FEntryID,fdetailid=v1.FGUID
,v1.FAmountFor,v1.FAmount,v1.FAmountIncludeTaxfor,v1.FAmountIncludeTax
,v1.FAmountFor_Commit,v1.FAmount_Commit,v1.FClassID_SRC,FItemID=FProductID,FAuxPropID=0,v1.FUnitID,FAuxQty=v1.FQuantity
,FSecUnitID=0,FsecCoefficient=1,FSecQty=0,FAuxTaxPrice=v1.FTaxPriceFor,FAuxPrice=v1.FPriceFor,FDiscountRate=v1.FBusinessDiscountRate
,v1.FQuantityPayApply_Commit,v1.FQuantityReceive_Commit,FAuxPriceDiscount=FRealTaxPriceFor,FAmtDiscount=v1.FBusinessDiscountFor
,FStdAmtDiscount=v1.FBusinessDiscount,FTaxAmount=v1.FTaxFor,v1.FTaxRate,FStdTaxAmount=v1.FTax
,FPrice=FPriceFor,FTaxPrice=v1.FTaxPriceFor,FFreeItem3=Null,FFreeItem4=Null
,FNote=v1.FExplanation,FQty=v1.FQuantity_Base,v1.FBatchNo,FAuxOrderPrice=Null,FOrderPrice=Null
,FContractBillNo=v1.FContractNo,FOrderBillNo='',v1.FCheckQty,v1.FCheckAmountFor,v1.FLinkCheckAmountFor,v1.FLinkCheckAmount,FLinkCheckQty
,v1.FCheckAmount,v1.FRemainQty,v1.FRemainAmountFor,v1.FRemainAmount,FContractEntryID=v1.FEntryID_SRC
,v1.FEntryID_SRC,FSourceBillNo=v1.FBIllNo_SRC,FSourceInterId=v1.FID_SRC,FOrderEntryID=0,FQty1=0
from t_rp_begdataEntry v1 (NOLOCK) inner join t_rp_begdata v2 (NOLOCK) ON v1.finterid = v2.finterid
WHERE v2.fclasstypeid in (1000500,1000501)
alter view vw_ICSaleEntry
as
select v1.FInterID,v1.FEntryID,v1.FDetailID,v1.FItemID,v1.FAuxPropID,v1.FQty,v1.FPrice,v1.ftaxrate,v1.fcommitqty,v1.funitid,v1.fauxcommitqty,
v1.fauxprice,v1.fauxqty,v1.ftaxprice,v1.fauxtaxprice,v1.fsourceentryid,v1.fdiscountrate,v1.fmapnumber,v1.fmapname,v1.forgbillentryid,v1.forderprice,
v1.fauxorderprice,v1.fnote,v1.ftaxamount,v1.fstdtaxamount,v1.fauxqty_base,v1.fbatchno,
v1.fcominvid,v1.fentryid_src,v1.fclassid_src,v1.ffreeitem1,v1.ffreeitem2,v1.ffreeitem3,v1.ffreeitem4,
(case isnull(v2.FClassTypeID,0) when 1000002 then v1.famount else v1.famountincludetax end) famount,
(case isnull(v2.FClassTypeID,0) when 1000002 then v1.fstdamount else v1.fstdamountincludetax end) fstdamount,
(case isnull(v2.FClassTypeID,0) when 1000002 then v1.famountincludetax else v1.famount end) famountincludetax,
(case isnull(v2.FClassTypeID,0) when 1000002 then v1.fstdamountincludetax else v1.fstdamount end) fstdamountincludetax,
v1.FSecUnitID,v1.fsecqty,v1.famtdiscount,v1.fstdamtdiscount,v1.fcheckamountfor,v1.fcheckamount,
v1.fremainamount,v1.fremainamountfor,v1.fseccoefficient,v1.fpricediscount,v1.fsourcebillno,
v1.forderbillno,v1.fcheckqty,v1.fremainqty,v1.fcontractbillno,v1.fauxpricediscount,v1.FConfirmAdvice
from icsaleentry v1 (NOLOCK) inner join icsale v2 (NOLOCK) on v1.finterid = v2.finterid
收款单选单销售发票支持自定义字段
本文2024-09-22 14:06:25发表“k3wise知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3wise-72892.html