PLM设计变更管理二开显示BOM变更对象的父物料编码和名称原创
金蝶云社区-我在终点等你
我在终点等你
42人赞赏了该文章 151次浏览 未经作者许可,禁止转载编辑于2024年03月19日 17:44:29

背景:PLM设计变更管理变更单里面,默认只有显示变更对象的编码和名称,而EBOM的编码一般是会设置规则,或者系统自带的BOM编码规则,不会显示父物料编码的信息。

如下图:

image.png

有很多客户反馈在审核或者做单的时候看不到父项物料编码和名称,无法直观看出是哪个BOM。特别是如果名称一样的话,就无法进行区分了。

可以通过二开插件方式来显示变更单相关对象的其他信息。

实现方法如下:

参考代码:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;

using Kingdee.BOS.Orm.DataEntity;

using Kingdee.K3.PLM.Business.PlugIn;

using Kingdee.K3.PLM.CFG.Common.BusinessEntity.Manager.Version;


namespace ISV.EcnEntity.Common.BusinessEntity

{

    //插件名字

    [Description("显示BOM父物料编码等相关信息插件")]

    public class EcnBillDemoPlugin : AbstractPLMBillPlugIn

    {

        public override void DataChanged(DataChangedEventArgs e)

        {

            if (e.Field.Key.ToUpperInvariant().Equals("FREFVERSIONID"))

            {

                if (Convert.ToInt64(e.NewValue) > 0)

                {

                    var versionId = Convert.ToInt64(e.NewValue);

                    var objCategory = Convert.ToInt64((this.View.Model.GetValue("FObjectCategory", e.Row) as DynamicObject)["Id"]);

                    var versionObj = GlobalVersionManager.Instance(PLMContext, objCategory).Get(PLMContext, versionId);

                    if (versionObj != null)

                    {

                        var mainRelation = versionObj["MainRelation"] as DynamicObject;

                        if (mainRelation != null)

                        {

                            this.Model.SetValue("FBOMParentInfo", string.Format("{0}({1})", mainRelation["Code"], mainRelation["Name"]), e.Row);

                        }

                    }

                }

            }

            base.DataChanged(e);

        }

    }

}

image.png

生成插件组件后拷贝到变更单表单插件里面。

需要在BOS扩展添加自定义文本字段,标识为FBOMParentInfo

image.png

然后注册表单插件

image.png

最后更新业务类型模型,更新ECN模板

实现效果如下:其他变更对象属性信息也可以参照类似方法实现。

image.png



赞 42