计划订单投放后如何触发目标单的保存业务逻辑或自定义的后台任务执行?

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

计划订单投放后如何触发目标单的保存业务逻辑或自定义的后台任务执行?

1.    背景:计划订单投放是通过代码批量实现的,不会触发目标单的保存服务端插件,我们需要在投放完成后进行一些业务逻辑处理,需要通过以下方式进行二开((如触发目标单的保存业务逻辑,或投放后触发自定义的后台任务执行))。


2.    目前计划设放可以通过单据界面及计划订单列表进行投放,以下分别对这两种方式的二开加以说明。


3.    单据编辑界面进行投放,二开工程须引用“Kingdee.K3.MFG.PLN.Business.PlugIn.dll”,添加新类,让其继承Kingdee.K3.MFG.PLN.Business.PlugIn.Bill.PlanOrderEdit,并重写AfterDoOperation方法中,并在方法中判断是否投放操作并作处理,示例代码如下:


public override void AfterDoOperation(AfterDoOperationEventArgs e)
        {
            base.AfterDoOperation(e);
        
            switch (e.Operation.Operation)
            {
              
                case "Release":
                    if (e.OperationResult.IsSuccess)
                    {
                         //
处理当前单据投放完的逻辑,THIS.VIEW.MODELE.DATAOBJECT[“Id”]为
                         //  前计划订单单据内码
                         //TODO…
                    }
                 
                    break;
                default:
                    break;
            }
        }
        
打开BOS IDE,把计划表单的标准的表单插件Kingdee.K3.MFG.PLN.Business.PlugIn.Bill. PlanOrderEdit的勾去
掉,挂上上述二开的插件


 

4. 在列表上投放,须继承计划订单的列表插件Kingdee.K3.MFG.PLN.Business.PlugIn.Bill.PlanOrderList,并重写AfterBillRelease方法,并在方法中判断是否投放操作并作处理,示例代码如下:


    protected override void AfterBillRelease(List<string> pkIds)
        {
           base. AfterBillRelease (pkIds);
            //处理当前单据投放完的逻辑 ,PKIDS为投放的计划订单内码
            //TODO…
 
        }
   
打开BOS IDE,把计划订单的标准的列表插件Kingdee.K3.MFG.PLN.Business.PlugIn.Bill.PlanOrderList的勾去
掉,挂上上述二开二开列表的插件  
      


 5. 重启IIS后,可以投放验证自己所写的逻辑是否正确。


计划订单投放后如何触发目标单的保存业务逻辑或自定义的后台任务执行?

1. 背景:计划订单投放是通过代码批量实现的,不会触发目标单的保存服务端插件,我们需要在投放完成后进行一些业务逻辑处理,需要通过以...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息