怎样携带即时库存字段到库存物料复检到期查询界面原创
2人赞赏了该文章
837次浏览
编辑于2020年10月21日 17:14:37
注意:该二开方案需要基于2020年10月的补丁才可以实现;(本例以携带即时库存二开文本字段为例)
1、扩展物料复检到期查询元数据,增加文本字段,默认锁定不允许维护;
2、扩展物料复检到期查询过滤界面,在显示隐藏列中增加文本字段,注意标识与物料复检到期查询上增加的字段标识一致;
3、二开表单插件继承StkMtlReinspExpirQuery,重写FillEntrys方法,将插件挂在物料复检到期查询的表单插件上,取消标准产品插件的启用。
示例代码如下:
using Kingdee.BOS.Core.Metadata.EntityElement; using Kingdee.BOS.Orm.DataEntity; using Kingdee.K3.Core.MFG.EnumConst; using System; using System.Collections.Generic; using System.Linq; using System.Text; using Kingdee.BOS.Util; using Kingdee.K3.Core.MFG.EntityHelper; namespace Kingdee.K3.MFG.QM.Business.PlugIn.DynamicForm { public class test : StkMtlReinspExpirQuery { protected override void FillEntrys() { base.FillEntrys(); Entity entity = this.View.BusinessInfo.GetEntity(CONST_QM_StkMtlReinspExpirQuery.CONST_FEntity.ENTITY_FEntity); DynamicObjectCollection entrys = this.View.Model.GetEntityDataObject(entity); List<string> InventortIds = entrys.GetDynamicObjectColumnValues<string>(CONST_QM_StkMtlReinspExpirQuery.CONST_FEntity.ORM_InventoryId).ToList(); if (InventortIds.IsEmpty()) return; //此处根据回去的即时库存IdInventortIds 批量从技术库存表T_STK_Inventory中取出需要携带的二开字段, //注意将inventoryId一起取出,然后以inventoryId 为key建立字典Dic; foreach (DynamicObject entry in entrys) { string inventoryId = entry.GetDynamicValue<string>(CONST_QM_StkMtlReinspExpirQuery.CONST_FEntity.ORM_InventoryId); //此处根据获取出来的inventoryId 从上面建立的字典中取出对应的记录,然后从匹配记录中取出需要携带的二开字段赋值 //给当前分录中对应的二开字段即可 } base.LockSelected(); } } }
赞 2
2人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读