App层插件,如何调用禁用(Disabled)操作
Ø 运行在App层的插件
包括操作插件、单据转换插件、反写插件、账表取数插件等,此类插件掌控着某种特定服务的执行过程,与交互界面无关;
Ø 实现思路
调用Kingdee.BOS.App.dll组件提供的ServiceHelper类提供的GetService泛型方法,访问BusinessDataService服务的SetState方法
Ø 插件准备
插件工程引用Kingdee.BOS.App.dll、Kingdee.BOS.Contracts.dll、Kingdee.BOS.DataEntity.dll
类文件引用相关命名空间,详见示例代码
Ø 接口介绍
SetState方法直接操作数据库,执行update语句,按方法参数构建一条例如update xxx set xxx ='xxx' where xxx = xxx的指令
Ø SetState参数介绍
名称 | 类型 | 说明 |
ctx | Context | 系统上下文全局信息 |
tableName | string | 待执行update指令的表名 |
fieldName | string | 待禁用的状态字段的字段名 |
fieldValue | string | 待禁用的状态字段的目标值 |
pkFieldName | string | 当前表的唯一标识字段名 |
pkFieldValues | object[] | 当前表的唯一标示字段值集合 |
Ø 示例代码
C# | |
using Kingdee.BOS.Contracts; using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
namespace MyOperaionServicePlugIn { public class Class4 : AbstractOperationServicePlugIn { public override void BeforeExecuteOperationTransaction( BeforeExecuteOperationTransaction e) { //获取数据服务 IBusinessDataService businessDataService = Kingdee.BOS.App.ServiceHelper.GetService<IBusinessDataService>(); businessDataService.SetState( this.Context, "T_BD_Material", "FForbidStatus", "B", "FMaterialId", new object[] { 10001, 10002 }); } } } |
App层插件,如何调用禁用(Disabled)操作
本文2024-09-23 04:16:54发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-164298.html