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

文章目录

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

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、验证校验器

相关推荐
怪味&先森4 分钟前
读书小结—《认知觉醒》
笔记
luj_176811 分钟前
FreeDOS vs MS-DOS PC-DOS 对比解析
服务器·c语言·开发语言·经验分享·算法
Bomangedd17 分钟前
重载极速模块MCM08005H10K00详解
经验分享·规格说明书
杨先生哦20 分钟前
2026 热端攻防:AI 驱动 Web 前端安全全景透析
前端·笔记·安全·web安全
2601_9618752436 分钟前
法考备考计划表|学习计划|资料已整理
java·开发语言·学习·eclipse·tomcat·c#·hibernate
江苏勃曼工业控制技术有限公司1 小时前
NSK紧凑型FA系列滚珠丝杠技术详解
经验分享·规格说明书
生信碱移1 小时前
Vscode 连接 ipynb 选择内核无法自动显示 conda 环境对应的 python
服务器·人工智能·经验分享·vscode·python
Cloud_Shy6181 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第七章 Item 48 - 50)
开发语言·人工智能·笔记·python·microsoft·学习方法
Y学院1 小时前
C#游戏脚本开发全流程(Unity通用完整版)
游戏·unity·c#
卡梅德生物科技小能手1 小时前
卡美德生物科普CD134(OX40):免疫调控靶点的生物学特性与研
经验分享·深度学习·生活