K3Cloud+BOS+插件开发百问百答(7)

2019-08-20 18:49

submitService.Submit( this.Context,

materialMetadata.BusinessInfo, newobject[] { 10001 }, \); } } }

2.1.4. 如何调用审核/反审核(Audit/UnAudit)操作

2.1.4.1. Web层插件,如何调用审核/反审核(Audit/UnAudit)操作

? 实现思路

? 调用Kingdee.BOS.ServiceHelper.dll组件提供的BusinessDataServiceHelper类提供的

SetBillStatus方法

? 插件准备

? 插件工程引用Kingdee.BOS.ServiceHelper.dll组件

? 插件类文件引用BusinessDataServiceHelper所在的命名空间

? BusinessDataServiceHelper.SetBillStatus方法介绍

SetBillStatus方法与SetStatus方法看上去类似,其实完全不一样,其参数列表也完全不一样,调用单据审核操作的服务端要使用SetBillStatus方法,SetStatus方法后续介绍 ? SetBillStatus方法参数介绍 名称 ctx businessInfo pkEntryIds paras 类型 Context BusinessInfo List> List 说明 系统上下文全局信息 待审核\\反审核数据的元数据描述信息 待审核\\反审核数据的id集合,此场景key和value都是id的值 审核\\反审核时附加的参数,包含两个值,第一个,同意与否,0:驳回;1:通过;2:反审核;第二个,审核意见,此参数默认可以为空 审核\\反审核操作的操作码 额外业务选项,审核\\反审核服务端服务和服务端插件都持有此对象 operationNumber option string OperateOption

? 示例代码 C#

using Kingdee.BOS.Core.DynamicForm;

using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.Core.List.PlugIn; using Kingdee.BOS.ServiceHelper; using System;

using System.Collections.Generic; using System.Linq; using System.Text;

using System.Threading.Tasks;

namespace MyDynamicFormPlugIn {

[System.ComponentModel.Description(\区分当前类应用在哪个模型上\)] publicclassClass4 : AbstractListPlugIn {

publicoverridevoid ButtonClick(ButtonClickEventArgs e) {

List> lstKeyValuePairs =

newList>();

KeyValuePair keyValuePair = newKeyValuePair(10001, \); lstKeyValuePairs.Add(keyValuePair); //审核id为10001的当前单据

IOperationResult auditResult = BusinessDataServiceHelper.SetBillStatus( this.Context,

this.View.BusinessInfo,

lstKeyValuePairs, null, \);

//反审核id为10001的当前单据

IOperationResult unAuditResult = BusinessDataServiceHelper.SetBillStatus( this.Context,

this.View.BusinessInfo,

lstKeyValuePairs, null, \); } } }

2.1.4.2. App层插件,如何调用审核/反审核(Audit/UnAudit)操作

? 实现思路

? 调用Kingdee.BOS.App.dll组件提供的ServiceHelper类提供的GetService泛型方法,

获取改变单据状态服务,调用此服务提供的SetBillStatus方法

? 插件准备

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

Kingdee.BOS.DataEntity.dll

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

? 接口介绍

? 同Web层插件介绍

? 示例代码 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 {

publicclassClass3 : AbstractOperationServicePlugIn {

publicoverridevoid BeforeExecuteOperationTransaction(

BeforeExecuteOperationTransaction e)

{

//审核\\反审核id为10001的物料数据 //获取单据状态转换服务

ISetStatusService setStatusService =

Kingdee.BOS.App.ServiceHelper.GetService();

//获取元数据服务

IMetaDataService metaDataService =

Kingdee.BOS.App.ServiceHelper.GetService();

//构建id为10001的数据集合

List> lstKeyValuePairs = newList

object>>();

KeyValuePair keyValuePair = newKeyValuePair(10001, \); lstKeyValuePairs.Add(keyValuePair); //获取物料元数据

FormMetadata materialMetaData = metaDataService.Load(this.Context, \)

asFormMetadata;

//审核

IOperationResult auditResult = setStatusService.SetBillStatus( this.Context,

materialMetaData.BusinessInfo, lstKeyValuePairs, null, \); //反审核

IOperationResult unAuditResult = setStatusService.SetBillStatus( this.Context,

materialMetaData.BusinessInfo, lstKeyValuePairs, null, \); } } }

2.1.5. 如何调用禁用(Disabled)操作

2.1.5.1. Web层插件,如何调用禁用(Disabled)操作

? 实现思路

? 调用Kingdee.BOS.ServiceHelper.dll组件提供的BusinessDataServiceHelper类所提供

的SetState方法

? 插件准备

? 插件工程引用Kingdee.BOS.ServiceHelper.dll组件

? 插件类文件引用BusinessDataServiceHelper所在的命名空间

? BusinessDataServiceHelper.SetState方法介绍

? SetState方法直接操作数据库,执行update语句,按方法参数构建一条例如update

xxx set xxx =’ xxx’ where xxx = xxx的指令

? SetState参数介绍 名称 ctx tableName fieldName fieldValue pkFieldName pkFieldValues 类型 Context string string string string object[] 说明 系统上下文全局信息 待执行update指令的表名 待禁用的状态字段的字段名 待禁用的状态字段的目标值 当前表的唯一标识字段名 当前表的唯一标示字段值集合 ? 示例代码 C#

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

using System.Collections.Generic; using System.Linq; using System.Text;

using System.Threading.Tasks;

namespace MyDynamicFormPlugIn {

publicclassClass5 : AbstractDynamicFormPlugIn {

publicoverridevoid ButtonClick(ButtonClickEventArgs e) {

//禁用物料id为10001和10002的数据 BusinessDataServiceHelper.SetState( this.Context, \, \, \,

\,

newobject[] { 10001, 10002 }); } } }

2.1.5.2. App层插件,如何调用禁用(Disabled)操作

? 实现思路

? 调用Kingdee.BOS.App.dll组件提供的ServiceHelper类提供的GetService泛型方法,

访问BusinessDataService服务的SetState方法


K3Cloud+BOS+插件开发百问百答(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

Copyright © 2019-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18

× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: