
1、生产订单二开新增文本字段,基础资料字段,如下图:


2、生产用料清单二开新增文本字段,基础资料字段,如下图:


3、二开插件挂在生产用料清单的保存上面,如下图:

二开代码示例如下:
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Util;
using Kingdee.K3.Core.MFG.EntityHelper;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.K3.MFG.App;
using Kingdee.BOS.Orm;
using Kingdee.BOS.Core.List;
using Kingdee.K3.Core.MFG.EnumConst;
using Kingdee.BOS;
namespace EK.Kingdee.K3.MFG.PRD.App.ServicePlugIn
{
[Description("生产订单计划确认,携带生产订单上表体二开字段携带至用料清单的表体")]
public class MoEKFieldToPPBOM : AbstractOperationServicePlugIn
{
public override void BeginOperationTransaction(global::Kingdee.BOS.Core.DynamicForm.PlugIn.Args.BeginOperationTransactionArgs e)
{
base.BeginOperationTransaction(e);
if (e.DataEntitys.IsEmpty()) return;
//CONST_PRD_PPBOM:需要引用kingdee.k3.mfg.prd.commom.cord.dll
long[] moEntryIds = e.DataEntitys.Select(s => s.GetDynamicValue<long>(CONST_PRD_PPBOM.CONST_FBillHead.ORM_MOEntryID)).Distinct().ToList().ToArray();
string sql = string.Format(@"SELECT T.FENTRYID,T.FEKTEXT,T.FEKCUSTOMID FROM T_PRD_MOENTRY T INNER JOIN {0} TT ON T.FENTRYID=TT.FID ", StringUtils.GetSqlWithCardinality(moEntryIds.Length, "@MOENTRYIDS", 1));
List<SqlParam> sqlParmas = new List<SqlParam>();
sqlParmas.Add(new SqlParam("@MOENTRYIDS", KDDbType.udt_inttable, moEntryIds));
DynamicObjectCollection objs = AppServiceContext.DbUtils.ExecuteDynamicObject(this.Context, sql, sqlParmas.ToArray());