【二开指导】凭证上取对方科目的方法
二开取凭证上对方科目的方法非常复杂,二开人员自己实现的方法很难保证和官方一致,为确保二开应用上的结果和官方一致,建议直接调用官方的取对方科目方法实现。
调用官方方法实现取对方科目的方法如下:
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,临时表用完之后,记得及时删除过程中用到的临时表
有个现象,就是有的凭证,分析结果会漏掉一些数据
【二开指导】凭证上取对方科目的方法
二开取凭证上对方科目的方法非常复杂,二开人员自己实现的方法很难保证和官方一致,为确保二开应用上的结果和官方一致,建议直接调...
点击下载文档
上一篇:工单如何显示消耗电费的度数下一篇:BOS中给单选辅助资料字段赋值
本文2024-09-16 18:11:06发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-20495.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章