42.1、操作服务插件,校验OnAddValidators,OnPreparePropertys加载原创
金蝶云社区-林荫大道_找工作身份
林荫大道_找工作
19人赞赏了该文章 1.5万次浏览 未经作者许可,禁止转载编辑于2020年07月11日 23:49:51

业务场景:


校验单据,采购订单,采购员,必须录入,否则不允许提交审核;


因为需要读取采购员信息,先必须加载;



1、打开VS,新建一个类库,具体可以参考4.1 ,1-7步



2、引用,必选的类库文件包括:


Kingdee.BOS.dll;
Kingdee.BOS.App.dll;
Kingdee.BOS.BusinessEntity.dll;
Kingdee.BOS.Contracts.dll;
Kingdee.BOS.Core.dll;
Kingdee.BOS.DataEntity.dll;



3、


//服务端
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;

//校验器
using Kingdee.BOS.Core.Validation;



4、


    //继承操作服务插件
    public class OnAddValidatorsHead:AbstractOperationServicePlugIn



5、


        //OnPreparePropertys 数据加载前,确保需要的属性被加载
        //因为需要读取采购员信息,先必须加载
        
        public override void OnPreparePropertys(PreparePropertysEventArgs e)
        {
            base.OnPreparePropertys(e);
            
            //采购员FPurchaserId
            e.FieldKeys.Add("FPurchaserId");
            
            //单据编号FBillNo
            e.FieldKeys.Add("FBillNo");
        }


image.png



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Kingdee.BOS;
using Kingdee.BOS.Core;
//服务端
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
//校验器
using Kingdee.BOS.Core.Validation;

using System.ComponentModel;

namespace Kingdee.Bos.Test.ServicePlugln
{
    [Description("校验器")]
    [Kingdee.BOS.Util.HotUpdate]
    
    //继承操作服务插件
    public class OnAddValidatorsHead:AbstractOperationServicePlugIn
    {
        //OnPreparePropertys 数据加载前,确保需要的属性被加载
        //因为需要读取采购员信息,先必须加载
        public override void OnPreparePropertys(PreparePropertysEventArgs e)
        {
            base.OnPreparePropertys(e);
            
            //采购员FPurchaserId
            e.FieldKeys.Add("FPurchaserId");
            //单据编号FBillNo
            e.FieldKeys.Add("FBillNo");
        }

    }
}


image.png



总目录链接

https://vip.kingdee.com/article/64993872014591232


赞 19