销售订单的收款计划,勾选预收后,超订单总金额二开方案(含源码)

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

销售订单的收款计划,勾选预收后,超订单总金额二开方案(含源码)

销售订单的收款计划,勾选预收后,超订单总金额的收款怎么做?

目前标准产品可以在订单内超收,如果想实现收款单超订单总金额,可以按照以下方案二开即可

1.继承收款单插件Kingdee.K3.FIN.CN.Business.PlugIn.RecPayRefund.ReceiveBill   重写方法CheckCurrAmountIsMorePlanAmount  校验收款单原单明细本次收款金额不能大于计划金额

C#源码:

using Kingdee.BOS.Core.Bill; 

using System; 

using System.Collections.Generic; 

using System.ComponentModel; 

using System.Linq; 

using System.Text; 

using System.Threading.Tasks; 

using Kingdee.K3.FIN.Core.Expressions; 

 

namespace Kd.K3.FIN.CN.Business.PlugIn 

    /// <summary> 

    /// 收款单维护客户端插件 

    /// </summary> 

    [Description("收款单维护客户端插件")] 

    public class KdReceiveBillEdit : Kingdee.K3.FIN.CN.Business.PlugIn.RecPayRefund.ReceiveBillEdit 

    { 

        /// <summary> 

        ///  

        /// </summary> 

        /// <param name="e"></param> 

        public override void CheckCurrAmountIsMorePlanAmount(Kingdee.BOS.Core.DynamicForm.PlugIn.Args.BeforeUpdateValueEventArgs e) 

        { 

            string billType = this.View.Model.GetValue("FSRCBILLTYPEID", e.Row) as string; 

            //收款单时,源单类型是销售订单  不校验 

            if (billType.Equals("SAL_SaleOrder")) 

            {               

                return; 

            } 

 

            base.CheckCurrAmountIsMorePlanAmount(e); 

        } 

    } 

}

编译生成Kd.K3.FIN.CN.Business.PlugIn.dll文件,注册二开插件,按图操作即可

 

2.承收款单审核操作插件Kingdee.K3.FIN.CN.App.ServicePlugIn.RecPayRefund.ReceiveBill.Audit,干扰标准校验


 

C#源码

using Kingdee.K3.FIN.CN.App.ServicePlugIn; 

using Kingdee.K3.FIN.CN.App.ServicePlugIn.RecPayRefund; 

using Kingdee.K3.FIN.CN.App.ServicePlugIn.RecPayRefund.ReceiveBill; 

using System; 

using System.Collections.Generic; 

using System.ComponentModel; 

using System.Linq; 

using System.Text; 

using System.Threading.Tasks; 

 

namespace Kd.FIN.CN.App.ServicePlugIn 

    /// <summary> 

    ///  

    /// </summary> 

    [Description("收款单审核操作服务端插件")] 

    public class ReceiveBillAudit : Kingdee.K3.FIN.CN.App.ServicePlugIn.RecPayRefund.ReceiveBill.Audit 

    { 

        /// <summary> 

        ///  

        /// </summary> 

        /// <param name="e"></param> 

        public override void OnAddValidators(Kingdee.BOS.Core.DynamicForm.PlugIn.Args.AddValidatorsEventArgs e) 

        { 

 

            BillRecAuditValidator BillRecvalidator = new BillRecAuditValidator(); 

            BillRecvalidator.EntityKey = CNCommonConst.FBillHead; 

            e.Validators.Add(BillRecvalidator); 

 

 

            ValidatorCheckCloseDate validatorCheckCloseDate = new ValidatorCheckCloseDate 

            { 

                IsUnAudit = false, 

                IsPayBusiness = false, 

                ARAPSystemParaInfo = new ARAPSystemParaInfo(this.BusinessInfo.GetForm().Id), 

                EntityKey = CNCommonConst.FBillHead 

            }; 

            e.Validators.Add(validatorCheckCloseDate); 

 

            ValidatorFreezeCustomer validatorFreezeCustomer = new ValidatorFreezeCustomer 

            { 

                ARAPSystemParaInfo = new ARAPSystemParaInfo(this.BusinessInfo.GetForm().Id), 

                EntityKey = CNCommonConst.FBillHead 

            }; 

            e.Validators.Add(validatorFreezeCustomer); 

        } 

    } 

}

编译生成Kd.FIN.CN.App.ServicePlugIn.dll文件,注册二开插件,按图操作即可

 

3.停用收款单保存,提交,审核操作里的插件

  1. Kingdee.K3.FIN.CN.App.ServicePlugIn.RecPayRefund.SalOrderExcessCheck, Kingdee.K3.FIN.CN.App.ServicePlugIn

  2. Kingdee.K3.FIN.CN.App.ServicePlugIn.RecPayRefund.ReceiveBill.SaveForPreOrder, Kingdee.K3.FIN.CN.App.ServicePlugIn


实现效果: 销售订单500,下推收款单收款700,销售订单下推应收700,应收单审核自动与收款单核销700

1销售订单500下推收款收款单收款700

 

2销售订单500, 反写订单实收金额500,超收金额200

3.销售订单下推应收单700


4.应收单审核自动与收款单预收核销700

 

 

 


销售订单的收款计划,勾选预收后,超订单总金额二开方案(含源码)

销售订单的收款计划,勾选预收后,超订单总金额的收款怎么做?目前标准产品可以在订单内超收,如果想实现收款单超订单总金额,可以按照以下方...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息