【二开指导】凭证上取对方科目的方法原创
11人赞赏了该文章
425次浏览
编辑于2024年02月27日 14:45:25
二开取凭证上对方科目的方法非常复杂,二开人员自己实现的方法很难保证和官方一致,为确保二开应用上的结果和官方一致,建议直接调用官方的取对方科目方法实现。
调用官方方法实现取对方科目的方法如下:
1, 创建待取对方科目凭证分录临时表,该临时表作为传入参数使用。
Create Table VoucherEntryTableName( FVOUCHERID int not null default 0, FENTRYID int not null default 0, FAccountID int not null default 0, FAMOUNT decimal(28,10) not null default 0, FAMOUNTFOR decimal(28,10) not null default 0, FExchangeRate decimal(26,15) not null default 0, FDC int not null default 0 )
2, 向上述临时表插入待取对方科目的分录数据,示例脚本如下:
INSERT INTO VoucherEntryTableName (FVOUCHERID, FENTRYID, FAMOUNT, FACCOUNTID, FAMOUNTFOR, FEXCHANGERATE, FDC) SELECT A.FVOUCHERID, A.FENTRYID, A.FAMOUNT, A.FACCOUNTID, A.FAMOUNTFOR, A.FEXCHANGERATE, A.FDC FROM T_GL_VOUCHER V INNER JOIN T_GL_VOUCHERENTRY A ON V.FVOUCHERID=A.FVOUCHERID WHERE V.FACCOUNTBOOKID=@FACCOUNTBOOKID AND V.FYEAR=@FYEAR AND V.FPERIOD=@FPERIOD...;
3, 调用取对方科目方法,传入上述已有数据的临时表作为参数,得到对方科目结果临时表
VchOtherSideEntryInfor acct = new VchOtherSideEntryInfor(this.Context, VoucherEntryTableName); sideTmpTbl = acct.GetVoucherOtherSideEntryInfor();
返回的临时表包含的字段如下:
FVOUCHERID,FENTRYID,FDC,FACCOUNTID,FAMOUNT,FAMOUNTFOR,FEXCHANGERATE,FSIDEENTRYID,FSIDEDC,FSIDEACCOUNTID, FSIDEAMOUNT,FSIDEAMOUNTFOR,FSIDEEXCHANGERATE
其中带SIDE前缀的就是对方科目相关字段,和本方科目相关字段一一对应。
注:对方科目类(VchOtherSideEntryInfor)需要引用组件:Kingdee.K3.FIN.GL.App.Core.dll
4,临时表用完之后,记得及时删除过程中用到的临时表
赞 11
11人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读