App层插件,如何删除(Delete)单据,IDeleteService.Delete()

Ø 运行在App层的插件
包括操作插件、单据转换插件、反写插件、账表取数插件等,此类插件掌控着某种特定服务的执行过程,与交互界面无关;
Ø 实现思路
调用Kingdee.BOS.App.dll组件的ServiceHelper类提供的GetService泛型方法获取删除服务
Ø 插件准备
插件工程引用Kingdee.BOS.App.dll、Kingdee.BOS.Contracts.dll、Kingdee.BOS.DataEntity.dll
类文件引用相关命名空间,详见示例代码
Ø 接口介绍
IDeleteService提供两个Delete方法,其区别在于
参数不带元数据描述信息的,直接执行数据库删除操作,把数据删除
public void Delete(Context ctx, object[] Ids, DynamicObjectType dynamicObjectType)
参数带元数据描述信息的,执行删除操作的服务端完整服务,如执行删除操作的校验器、删除操作的服务端服务、删除操作的服务端插件
public IOperationResult Delete(Context ctx, BusinessInfo businessInfo, object[] Ids, OperateOption option = null, string operationNumber = "")
Ø 参数介绍
名称 | 类型 | 说明 |
ctx | Context | 系统上下文全局信息 |
Ids | object[] | 待删除数据的id集合 |
dynamicObjectType | DynamicObjectType | 待删除数据的动态实体类型 |
businessInfo | BusinessInfo | 待删除数据的元数据描述信息 |
option | OperateOption | 业务控制额外选项,删除的服务端服务和插件都能持有此对象 |
operationNumber | string | 删除操作的操作码 |
Ø 示例代码
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 Class5 : AbstractOperationServicePlugIn { public override void BeforeExecuteOperationTransaction( BeforeExecuteOperationTransaction e) { //获取删除服务 IDeleteServi | |
App层插件,如何删除(Delete)单据,IDeleteService.Delete()
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



