二开案例.服务插件.BeforeDoSaveExecute
【应用场景】
<1>新增保存单据时,手动填充主键数据。
<2>新增保存单据时,手动填充单据编号。
<3>保存操作的数据包的数据预处理。
<4>保存操作的数据包的数据再加工。
【案例演示】
采购订单,保存操作,使用服务插件,手动生成单据编号。
【实现步骤】
<1>编写服务插件,代码如下。
using Kingdee.BOS.App.Core; using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.Metadata.FormElement; using Kingdee.BOS.Util; using System.Collections.Generic; using System.ComponentModel; namespace Jac.XkDemo.BOS.Business.PlugIn { /// <summary> /// 【服务插件】BeforeDoSaveExecute /// </summary> [Description("【服务插件】BeforeDoSaveExecute"), HotUpdate] public class BeforeDoSaveExecuteOperationServicePlugIn : AbstractOperationServicePlugIn { public override void BeforeDoSaveExecute(BeforeDoSaveExecuteEventArgs e) { base.BeforeDoSaveExecute(e); // 保存前,提前填充主键数据 var seqReader = new SequenceReader(this.Context); seqReader.AutoSetPrimaryKey(e.DataEntities, e.DataEntities[0].DynamicObjectType); // 保存前,提前生成单据编号 var billNoFiled = this.BusinessInfo.GetBillNoField(); if (billNoFiled == null) { return; } var options = new Dictionary<string, object>(); options["CodeTime"] = 1; options["UpdateMaxNum"] = 1; var service = new BusinessDataService(); var billNos = service.GetBillNo(this.Context, this.BusinessInfo, e.DataEntities, options); if (billNos != null && billNos.Count == e.DataEntities.Length) { for (var i = 0; i < e.DataEntities.Length; i++) { if (!string.IsNullOrEmpty(billNos[i].BillNo)) { var prefix = (billNos[i].BillNo.StartsWith("XXX-") ? "" : "XXX-"); e.DataEntities[i][billNoFiled.PropertyName] = prefix + billNos[i].BillNo; } } } } } }
<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。
<3>BOSIDE扩展采购订单,保存操作注册服务插件,保存元数据,开发完毕。
【功能验证】
<1>登录业务站点,打开采购订单新增界面,录入数据,点击保存,单据编号是手动生成的,如下图。
---------------------------------------------------------------------------------------------------------
【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696
二开案例.服务插件.BeforeDoSaveExecute
【应用场景】<1>新增保存单据时,手动填充主键数据。<2>新增保存单据时,手动填充单据编号。<3>保存操作的数据包的数据预处理。<4>保存操作...
点击下载文档
本文2024-09-23 03:59:13发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-162372.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章