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

二开:工程变更单保存时校验,物料启用辅助属性,辅助属性必录

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

二开:工程变更单保存时校验,物料启用辅助属性,辅助属性必录

1、由于在BOS设计器中配置校验不生效,目前该校验只能通过二开插件实现


2、具体步骤如下:

    2.1、在保存操作上二开一个插件:获取子项物料的辅助属性,根据子项物料的辅助属性是否启用 + 工程变更单明细行上的辅助属性是否有值 + 行标识为新增或者修改后,判断物料启用辅助属性,辅助属性必录。如图所示:

image.webp

    2.2、保存插件具体二开实现:

    (1)   二开插件继承:AbstractMfgOperationPlugIn,重写OnAddValidators:增加一个校验插件IsAuxPropMustInputValidator

        image.webp

       (2)实现校验器IsAuxPropMustInputValidator:继承AbstractMfgServiceValidator,重写Validate

        image.webp

       (3)组件引用:

        image.webp


3、具体的代码可见(供参考):   

using Kingdee.BOS.Orm.DataEntity;

using Kingdee.K3.MFG.App.ServicePlugIn;

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using Kingdee.K3.Core.MFG.EntityHelper;

using Kingdee.BOS;

using Kingdee.K3.MFG.App;

using Kingdee.BOS.Util;

using System.Data;

using Kingdee.BOS.App.Data;

using Kingdee.K3.MFG.App.ServiceValidator;

using Kingdee.BOS.Core;


namespace Kingdee.K3.MFG.ENG.EK.App.ServicePlugIn.ECN.Validator

{

    /// <summary>

    /// 校验:物料启用辅助属性,则辅助属性必录

    /// </summary>

    [Description("校验物料启用辅助属性,则辅助属性必录")]

    public class IsAuxPropMustInputValidator : AbstractMfgServiceValidator

    {

        public override void Validate(ExtendedDataEntity[] dataEntities, BOS.Core.Validation.ValidateContext validateContext, Context ctx)

        {

            if (dataEntities.IsEmpty()) return;

            base.Validate(dataEntities, validateContext, ctx);


            foreach (ExtendedDataEntity item in dataEntities)

            {

                DynamicObject billData = item.DataEntity;

                DynamicObjectCollection entryDatas = billData.GetDynamicValue<DynamicObjectCollection>("TreeEntity");

                string msg = string.Empty;

                bool isValidate = false;

                StringBuilder sbErrMsg = new StringBuilder();

                foreach (DynamicObject entryData in entryDatas)

                {

                    //获取子项物料数据包

                    DynamicObject materilIdChild = entryData.GetDy

二开:工程变更单保存时校验,物料启用辅助属性,辅助属性必录

1、由于在BOS设计器中配置校验不生效,目前该校验只能通过二开插件实现2、具体步骤如下: 2.1、在保存操作上二开一个插件:获取子项物料...
点击下载文档文档为doc格式

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

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