金蝶云星空自定义校验器和使用

文章目录

金蝶云星空自定义校验器和使用

1、创建类,并继承抽象接口

csharp 复制代码
using Kingdee.BOS.Core;
using Kingdee.BOS.Core.Validation;
using System;

namespace mm.K3.SCM.App.Service.PlugIn.SC.Validator
{
    public class AfterOrderCheckOtherBillValidator : AbstractValidator
    {
         
    }
}

2、重写抽象方法,对指定的数据进行校验

csharp 复制代码
public override void Validate(ExtendedDataEntity[] dataEntities, ValidateContext validateContext, Kingdee.BOS.Context ctx)
        {
            throw new NotImplementedException();
            foreach (ExtendedDataEntity dyn in dataEntities)
            {
                string billNo = dyn["BillNo"] + "";
                long fid = Convert.ToInt64(dyn["Id"]);//单FID
                //异常信息
                string _errorMsg = string.Empty;
                #region
                //逻辑处理,不符合条件就把异常信息汇总到 _errorMsg
                #endregion

                errorLable:
                if (!string.IsNullOrEmpty(_errorMsg))
                {
                    string titleInfo = string.Format("售后单-反审核");
                    ValidationErrorInfo errorInfo = new ValidationErrorInfo(string.Empty, fid.ToString(), dyn.DataEntityIndex, dyn.RowIndex
                       , fid.ToString(),
                       _errorMsg, titleInfo, ErrorLevel.Error);
                    validateContext.AddError(dyn, errorInfo);
                }
            }
        }

3、服务端操作插件注册校验器

csharp 复制代码
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Util;
using mm.K3.SCM.App.Service.PlugIn.SC.Validator;
using System.ComponentModel;

namespace mm.K3.SCM.App.Service.PlugIn.SC
{
    [Description("售后单-反审核"), HotUpdate]
    public class AfterOrderUnAudit : AbstractOperationServicePlugIn
    {
        public override void OnAddValidators(AddValidatorsEventArgs e)
        {
            AfterOrderCheckOtherBillValidator validator = new AfterOrderCheckOtherBillValidator()
            {
                AlwaysValidate = true,
                EntityKey = "FBillHead"
            };
            e.Validators.Add(validator);
        }
    }
}

4、验证校验器

相关推荐
GLDbalala18 分钟前
GPU PRO 5 - 2.3 Volumetric Light Effects in Killzone: Shadow Fall 笔记
笔记
豆豆25 分钟前
从SaaS到自建CMS的选型复盘:一个专注网站开发的技术选型笔记
笔记·cms·建站系统·内容管理系统·网站管理系统·建站软件·建站工具
z落落32 分钟前
C# 数组属性和方法(Clear / Copy / IndexOf / LastIndexOf)
开发语言·javascript·c#
随便做点啥42 分钟前
4090 8卡服务器 - Qwen3.6-27B-AWQ 完整压测报告 (V2.0)
服务器·经验分享
是Yu欸1 小时前
抓取ChatGPT大模型回答并做品牌曝光分析
人工智能·经验分享·chatgpt·大模型·亮数据·brightdata
光泽雨1 小时前
LINQ 语言集成查询 (Language Integrated Query)
c#·linq
小碗羊肉1 小时前
【Agent笔记 | 第三篇】RAG优化
笔记·agent·rag
louiseailife1 小时前
金融级智能体平台技术要求:审计追溯、私有化部署与容错机制
经验分享
吴可可1231 小时前
C++与C#版Teigha样条离散化差异解析
c++·算法·c#
梁山1号1 小时前
【WK飞控调试笔记】
笔记