【二开指导】凭证允许汇率为负及本位币和原币正负方向不一致
【二开指导】凭证允许汇率为负及本位币和原币正负方向不一致
主要思路:通过重新修改官方插件再编译后实现
一、允许汇率为负
通常当汇率为负时,会提示“汇率不合法”,修改方法如下:
l 位置:凭证保存校验
涉及组件名:Kingdee.K3.FIN.GL.App.ServicePlugIn.dll
类及方法名:GLVoucher.SaveValidator.CheckEntryExchangeRate():
处理方法:增加为结转损益凭证时汇率取绝对值的逻辑
string billKey = this.dyObj.GetValue<string>("FSourceBillKey_Id"); if (billKey == VoucherTypeConst.TRANSFERPL) { this.dyEntryCol[i]["EXCHANGERATE"] = Math.Abs(dRate); } else { if (strMsgRate.IsNullOrEmptyOrWhiteSpace()) { strMsgRate = "第{0}行凭证分录的[汇率]不合法,请重新输入!"; } AddError(dyObj, i, string.Format(strMsgRate, i + 1)); }
二、允许本位币和原币正负方向不一致
涉及三处位置,分别如下:
l 位置:凭证保存校验
涉及组件名:Kingdee.K3.FIN.GL.App.ServicePlugIn.dll
类及方法名:GLVoucher.SaveValidator.CheckEntryAmount():
处理方法:增加为结转损益凭证时跳过该检查的逻辑
if(dAmount * dAmountFor < 0 && this.dyObj.GetValue<string>("FSourceBillKey_Id")!= VoucherTypeConst.TRANSFERPL)
l 位置:凭证审核校验
涉及组件名:Kingdee.K3.FIN.GL.App.ServicePlugIn.dll
类及方法名:GLVoucher.Audit.AuditValidator.CheckVoucher():
处理方法:增加为结转损益凭证时跳过该检查的逻辑
if(lstAmountSeq.Count > 0 && this.dyObj.GetValue<string>("FSourceBillKey_Id")!= VoucherTypeConst.TRANSFERPL)
l 位置:凭证过账校验
涉及组件名:Kingdee.K3.FIN.GL.App.Core.dll
类及方法名:AbstractVoucherPost.VoucherGuidePostCheck():
处理方法:注释掉本位币原币方向一致性检查方法
//lstSqlObj.Add(CheckAmount(ctx));
【二开指导】凭证允许汇率为负及本位币和原币正负方向不一致
【二开指导】凭证允许汇率为负及本位币和原币正负方向不一致主要思路:通过重新修改官方插件再编译后实现 一、允许汇率为负通常当汇率为负...
点击下载文档
本文2024-09-16 18:22:21发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-21704.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章