应付合同下推采购发票的单据转换流程无法保存,如何处理?原创
金蝶云社区-云社区用户2IEQ2023
云社区用户2IEQ2023
0人赞赏了该文章 14次浏览 未经作者许可,禁止转载编辑于2024年07月05日 08:32:13

问题:采购合同、采购普通发票、采购增值税发票都增加了一个【项目】字段;希望合同下推发票时,系统能自动将合同中【项目】字段的值携带到采购普通发票和采购增值税发票中;但是在修改保存合同到发票的单据转换流程时,系统提示“只能关联生成一个单据体的数据”,如何处理?

image.png


原因:由于架构限制,系统前台是无法保存设置了关联了2个表体的单据转换流程,该问题需要通过脚本特殊处理合同下推发票的单据转换流程,由于上下游单据都是双表体,预设的流程做了特殊处理(携带2个表体的内容),故保存有此提示。


解决方案:

(以自定义字段“项目”,【应付合同→采购普通/增值税发票】单据转换流程为例)

1、--查询出合同和发票的相关单据的FID(该步骤为预设值查询,实际操作可忽略)

----------------------------------------------------------------------------

SELECT * FROM ICClassType WHERE FName_CHS like  '%合同%'

                            or  FName_CHS like  '%采购普通发票%'

                            or FName_CHS like  '%采购增值税发票%'

                            or FName_CHS like  '%销售普通发票%'

                            or FName_CHS like  '%销售增值税发票%'

----------------------------------------------------------------------------

image.png

--可得出相关单据ID信息:

      1000000 销售普通发票;

      1000002 销售增值税发票;

      1000003 采购普通发票;

      1000004 采购增值税发票;

      1000019 合同(应收);

      1000020 合同(应付)


2、--查找出自定义字段“项目”,在应付合同和采购发票的3张单据中的Fkey和Fpage两个字段值分别是多少

----------------------------------------------------------------------------

SELECT FKey,FPage,* FROM ICClassTableInfo WHERE FClassTypeID=1000020 AND FCaption_chs Like '项目

SELECT FKey,FPage,* FROM ICClassTableInfo WHERE FClassTypeID=1000003 AND FCaption_chs Like '项目

SELECT FKey,FPage,* FROM ICClassTableInfo WHERE FClassTypeID=1000004 AND FCaption_chs Like '项目

----------------------------------------------------------------------------

image.png

--通过以上脚本,可查询出(以实际为准,测试数据恰好都是相同的值):

--1000020 合同(应付)单据:Fkey为FBase,Fpage为1

--1000003 采购普通发票单据:Fkey为FBase,Fpage为1

--1000004 采购增值税发票单据:Fkey为FBase,Fpage为1


3、--根据前面查出的信息,更新合同(应付)下推采购普通发票的字段明细对应关系表icclasslinkentry

     --源单-合同(应付)单据FSourClassTypeID:1000020;目的单-采购普通发票单据FDestClassTypeID:1000003

     --源单“项目”字段所在页FSourPage:1,关键字FSourFKey:FBase

     --目的单“项目”字段所在的页FDestPage:1,关键字FDestFKey:FBase

----------------------------------------------------------------------------

if not exists ( Select 1 From icclasslinkentry where fsourclasstypeid = 1000020 AND fdestclasstypeid = 1000003 AND fsourfkey = 'FBase' AND fdestfkey = 'FBase' )


INSERT INTO icclasslinkentry (FSourClassTypeID, FDestClassTypeID, FSourPage, FSourFKey,FDestPage, FDestFKey, FIsCheck, FIsGroup, FIsFilter, FDoAction, FAllowModified, FISUserDefine,FControl,

 FRedNeg,FBeforeFormula, FAfterFormula, FSourTypeID, FDestTypeID)


VALUES (1000020,1000003,1,'FBase',1,'FBase',0,0,0,0,1,0,0,0,'','',0,0)

----------------------------------------------------------------------------


4、--根据前面查出的信息,更新合同(应付)下推采购增值税发票的字段明细对应关系表icclasslinkentry

--源单-合同(应付)单据FSourClassTypeID:1000020;目的单-采购增值税发票单据FDestClassTypeID:1000004

--源单“项目”字段所在页FSourPage:1,关键字FSourFKey:FBase

--目的单“项目”字段所在的页FDestPage:1,关键字FDestFKey:FBase

----------------------------------------------------------------------------

if not exists ( Select 1 From icclasslinkentry where fsourclasstypeid = 1000020 AND fdestclasstypeid = 1000004 AND fsourfkey = 'FBase' AND fdestfkey = 'FBase' )


INSERT INTO icclasslinkentry (FSourClassTypeID, FDestClassTypeID, FSourPage, FSourFKey,FDestPage, FDestFKey, FIsCheck, FIsGroup, FIsFilter, FDoAction, FAllowModified, FISUserDefine,FControl,

 FRedNeg,FBeforeFormula, FAfterFormula, FSourTypeID, FDestTypeID)


VALUES (1000020,1000004,1,'FBase',1,'FBase',0,0,0,0,1,0,0,0,'','',0,0)

----------------------------------------------------------------------------



赞 0