PLM.二开案例,自定义调整BOM变更字段(PT-151002及以往版本适用)

【应用场景】
设计变更单BOM变更界面字段需自定义调整
* 补丁版本PT-151005 [8.2.0.20231109]中已新增支持BOM变更界面用户列配置,可以不再需要此开发方案
【实现说明】
BOM变更界面字段为动态加载,字段按默认顺序加载,暂时无法通过配置调整或适用用户布局方案。如果需要自定义调整字段布局,需要通过插件二开实现。
实现原理:
标准插件在页面渲染前动态加载了配置列,需要再调整需要通过继承标准插件重写OnSetLayoutInfo方法,在已动态渲染的列信息上再次调整并刷新页面显示。
【实现步骤】
<1>编写表单插件,继承标准的BOM变更插件StructureChangeForm。
你可能需要引用以下组件:

示例代码:
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel;
using Kingdee.BOS.Core.Metadata.ControlElement;
using Kingdee.BOS.Core.Metadata.EntityElement;
using Kingdee.K3.PLM.STD.Business.PlugIn.EngineeringChange;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ISV.EChangeForm.Common.BusinessEntity
{
public class EChangeForm: StructureChangeForm
{
private Dictionary<string, int> CustomIndex = new Dictionary<string, int>()
{
{"FIsSelect",0},
{"FItemType",1},
{"FBomObject",2},
{"FBomName",3},
{"FSyncErpMode",4},
{"FSyncErpTime",5},
{"FSlaveEntrySeq",6},
{"FSlaveMat",7},
{"FSlave_FName",8},
{"FSlave_FSpecification",9},
{"FSlave_FModel",10},
{"FSlave_FBASEUNITID",11},
{"FBOMNUMBER",12},
{"FSubBom",13},
{"FRadix",14},
{"FWaste",15},
{"FSUBEFFECTIVEDATE",16},
{"FSUBEXPIRYDATE",17},
{"FISSKIP",18},
{"FMATERIALTYPE",19},
{"FIsKeyItem",20},
{"FReplacePolicy",21},
{"FReplacePriority",22},
{"FReplaceType",23},
{"FMRPPriority",24},
{"FNetDemandrate",25},
{"FSubstituteCode",26},
{"FSubstituteName",27},
{"FAsssemblyPosition",28},
{"FAddPOS_FAsssemblyPosition",29},
{"FDelPOS_FAsssemblyPosition",30},
{"FTempPOS_FAsssemblyPosition",31},
{"FMainMat",32},
{"FMain_FName",33},
{"FMain_FBASEUNITID",34}
};
PLM.二开案例,自定义调整BOM变更字段(PT-151002及以往版本适用)
【应用场景】设计变更单BOM变更界面字段需自定义调整* 补丁版本PT-151005 [8.2.0.20231109]中已新增支持BOM变更界面用户列配置,可以不再...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



