App层插件,如何调用提交(Submit)操作,ISubmit.Submit()
Ø 运行在App层的插件
包括操作插件、单据转换插件、反写插件、账表取数插件等,此类插件掌控着某种特定服务的执行过程,与交互界面无关;
Ø 实现思路
调用Kingdee.BOS.App.dll组件提供的ServiceHelper类所提供的GetService泛型方法,获取提交服务,调用提交服务的Submit方法
Ø 插件准备
插件工程引用Kingdee.BOS.App.dll、Kingdee.BOS.Contracts.dll、Kingdee.BOS.DataEntity.dll
类文件引用相关命名空间,详见示例代码
Ø ISubmit.Submit接口介绍
ISubmit类提供了1个Submit方法,调用此方法模拟提交操作的服务端服务全过程,即修改单据状态、执行提交服务端服务,执行提交服务端插件,最后执行Orm保存数据到数据库
Ø 示例代码
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 Class2 : AbstractOperationServicePlugIn { public override void BeforeExecuteOperationTransaction( BeforeExecuteOperationTransaction e) { //例如:提交id为10001的物料数据 //获取提交服务 ISubmitService submitService = Kingdee.BOS.App.ServiceHelper.GetService<ISubmitService>(); //获取元数据服务 IMetaDataService metadataService = Kingdee.BOS.App.ServiceHelper.GetService<IMetaDataService>(); //获取物料元数据 FormMetadata materialMetadata = metadataService.Load(this.Context, "BD_Material") as FormMetadata; //执行提交服务 submitService.Submit( this.Context, materialMetadata.BusinessInfo, new object[] { 10001 }, "Submit"); } } } |
App层插件,如何调用提交(Submit)操作,ISubmit.Submit()
本文2024-09-23 04:17:05发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-164314.html
- 鼎新e-GoB2雲端ERP B2 線上課程報價單建立B4.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程B2-4庫存單位及換算單位建立.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程H2生管前置作業.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程F6採購單建立.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程H5製令單.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A2共用參數設定.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程G4進銷存開帳.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程F2-1廠商資料建立.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程H1生管參數設定.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程C8自動分錄拋轉.pdf