【二开指导】凭证允许汇率为负及本位币和原币正负方向不一致

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

【二开指导】凭证允许汇率为负及本位币和原币正负方向不一致

【二开指导】凭证允许汇率为负及本位币和原币正负方向不一致

主要思路:通过重新修改官方插件再编译后实现

 

一、允许汇率为负

通常当汇率为负时,会提示“汇率不合法”,修改方法如下:

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));


【二开指导】凭证允许汇率为负及本位币和原币正负方向不一致

【二开指导】凭证允许汇率为负及本位币和原币正负方向不一致主要思路:通过重新修改官方插件再编译后实现 一、允许汇率为负通常当汇率为负...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息