App层插件,如何调用审核(Audit)操作

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

App层插件,如何调用审核(Audit)操作

Ø  运行在App层的插件

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


Ø  实现思路

    调用Kingdee.BOS.App.dll组件提供的ServiceHelper类提供的GetService泛型方法,获取改变单据状态服务,调用此服务提供的SetBillStatus方法

 

Ø  插件准备

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

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

 

Ø  接口介绍

    SetBillStatus方法与SetStatus方法看上去类似,其实完全不一样,其参数列表也完全不一样,调用单据审核操作的服务端要使用SetBillStatus方法。

 

Ø  SetBillStatus方法参数介绍

名称

类型

说明

ctx

Context

系统上下文全局信息

businessInfo

BusinessInfo

待审核\反审核数据的元数据描述信息

pkEntryIds

List<KeyValuePair<objectobject>>

待审核\反审核数据的id集合,此场景key和value都是id的值

paras

List<object>

审核\反审核时附加的参数,包含两个值,第一个,同意与否,0:驳回;1:通过;2:反审核;第二个,审核意见,此参数默认可以为空

operationNumber

string

审核\反审核操作的操作码

option

OperateOption

额外业务选项,审核\反审核服务端服务和服务端插件都持有此对象

 

 

Ø  示例代码

C#


using   Kingdee.BOS.Contracts;

using   Kingdee.BOS.Core.DynamicForm;

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 Class3 : AbstractOperationServicePlugIn

    {

        public override void BeforeExecuteOperationTransaction(

BeforeExecuteOperationTransaction e)

        {

            //审核\反审核id10001的物料数据

            //获取单据状态转换服务

            ISetStatusService setStatusService   = Kingdee.BOS.App.ServiceHelper.GetService<ISetStatusService>();

            //获取元数据服务

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

            //构建id10001的数据集合

            List<KeyValuePair<objectobject>>   lstKeyValuePairs = new List<KeyValuePair<objectobject>>();

            KeyValuePair<objectobject> keyValuePair   = new KeyValuePair<objectobject>(10001, "");

              lstKeyValuePairs.Add(keyValuePair);

            //获取物料元数据

            FormMetadata materialMetaData   = metaDataService.Load(this.Context, "BD_Material"as FormMetadata;

 

            //审核

            IOperationResult auditResult =   setStatusService.SetBillStatus(

                this.Context,

                  materialMetaData.BusinessInfo,

                lstKeyValuePairs,

                null,

                "Audit");

        }

    }

}



App层插件,如何调用审核(Audit)操作

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