App层插件,如何调用提交(Submit)操作,ISubmit.Submit()

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

App层插件,如何调用提交(Submit)操作,ISubmit.Submit()

Ø  运行在App层的插件

    包括操作插件、单据转换插件、反写插件、账表取数插件等,此类插件掌控着某种特定服务的执行过程,与交互界面无关;


Ø  实现思路

    调用Kingdee.BOS.App.dll组件提供的ServiceHelper类所提供的GetService泛型方法,获取提交服务,调用提交服务的Submit方法

 

Ø  插件准备

    插件工程引用Kingdee.BOS.App.dll、Kingdee.BOS.Contracts.dll、Kingdee.BOS.DataEntity.dll

    类文件引用相关命名空间,详见示例代码

 

Ø  ISubmit.Submit接口介绍

    ISubmit类提供了1个Submit方法,调用此方法模拟提交操作的服务端服务全过程,即修改单据状态、执行提交服务端服务,执行提交服务端插件,最后执行Orm保存数据到数据库

 

Ø  示例代码

C#


using   Kingdee.BOS.Contracts;

using   Kingdee.BOS.Core.DynamicForm.PlugIn;

using   Kingdee.BOS.Core.DynamicForm.PlugIn.Args;

using   Kingdee.BOS.Core.Metadata;

using   System;

using   System.Collections.Generic;

using   System.Linq;

using   System.Text;

using   System.Threading.Tasks;

 

namespace MyOperaionServicePlugIn

{

    public class Class2 : AbstractOperationServicePlugIn

    {

        public override void BeforeExecuteOperationTransaction(

BeforeExecuteOperationTransaction e)

        {

            //例如:提交id10001的物料数据

            //获取提交服务

            ISubmitService submitService =   Kingdee.BOS.App.ServiceHelper.GetService<ISubmitService>();

            //获取元数据服务

            IMetaDataService metadataService =   Kingdee.BOS.App.ServiceHelper.GetService<IMetaDataService>();

            //获取物料元数据

            FormMetadata materialMetadata   = metadataService.Load(this.Context, "BD_Material") as FormMetadata;

            //执行提交服务

            submitService.Submit(

                this.Context,

                  materialMetadata.BusinessInfo,

                new object[] { 10001 },

                "Submit");

        }

    }

}


App层插件,如何调用提交(Submit)操作,ISubmit.Submit()

Ø 运行在App层的插件 包括操作插件、单据转换插件、反写插件、账表取数插件等,此类插件掌控着某种特定服务的执行过程,与交互界面...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息