电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

二开案例.服务插件.BeforeDoSaveExecute

来源:金蝶云社区作者:金蝶2024-09-2318

二开案例.服务插件.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 = servic

二开案例.服务插件.BeforeDoSaveExecute

【应用场景】<1>新增保存单据时,手动填充主键数据。<2>新增保存单据时,手动填充单据编号。<3>保存操作的数据包的数据预处理。<4>保存操作...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信