Web层插件,如何删除(Delete)单据,BusinessDataServiceHelper.Delete()
Ø 运行在Web层的插件
包括动态表单插件、单据编辑插件、基础资料编辑插件、列表插件等,控制着交互界面;
Ø 实现思路
调用Kingdee.BOS.ServiceHelper.dll组件的BusinessDataServiceHelper类提供的Delete方法
Ø 插件准备
插件工程引用Kingdee.BOS.ServiceHelper.dll组件
插件类文件引用BusinessDataServiceHelper所在的命名空间
Ø 方法介绍
BusinessDataServiceHelper提供两个Delete方法,其区别在于
参数不带元数据描述信息的,直接执行数据库删除操作,把数据删除
public static void Delete(Context ctx, object[] Ids, DynamicObjectType dynamicObjectType)
参数带元数据描述信息的,执行删除操作的服务端完整服务,如执行删除操作的校验器、删除操作的服务端服务、删除操作的服务端插件
public static 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.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.Core.Metadata; using Kingdee.BOS.ServiceHelper; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
namespace MyDynamicFormPlugIn { public class Class6 : AbstractDynamicFormPlugIn { public override void ButtonClick(ButtonClickEventArgs e) { //删除id为10001和10002的物料 //获取物料元数据 FormMetadata materialMetadata = MetaDataServiceHelper.Load(this.Context,"BD_Material") as FormMetadata; // 模拟删除服务端操作完整过程 BusinessDataServiceHelper.Delete( this.Context, materialMetadata.BusinessInfo, new object[] { 10001, 10002 }); } } } |
Web层插件,如何删除(Delete)单据,BusinessDataServiceHelper.Delete()
本文2024-09-23 04:16:53发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-164297.html