物料分组获取上级分组字段原创
金蝶云社区-乐滋滋
乐滋滋
10人赞赏了该文章 2468次浏览 未经作者许可,禁止转载编辑于2020年11月17日 13:51:26

由于物料分组不属于基础资料 不能通过基础资料属性字段 添加引用属性来获取物料分组的上级分组,需要插件处理

一:在物料上添加分组字段(上级分组

wuliaoshangjifenzu.png

二:二开插件挂于表单插件之后

插件代码如下图:

image.png

具体如下:

  /// <summary>        /// 值更新事件(需要勾选“即时更新事件”的选项)        /// </summary>        /// <param name="e"></param>        public override void DataChanged(DataChangedEventArgs e)        {            switch (e.Field.Key)            {                //物料分组值更新事件 获取对应的上级分组字段给新增加的上级分组字段赋值                case CONST_BD_MATERIAL.CONST_FBillHead.KEY_FMaterialGroup:                    if (!e.NewValue.IsNullOrEmptyOrWhiteSpace() && !e.OldValue.Equals(e.NewValue))                    {                        long materialGroupId = Convert.ToInt64(e.NewValue);                        //往上再找一层物料分组                        string strSql = "SELECT FPARENTID FROM T_BD_MATERIALGROUP WHERE FID = @Id ";                        SqlParam[] pram = new SqlParam[] { new SqlParam("@Id", KDDbType.Int64, materialGroupId) };                        long parentId = DBServiceHelper.ExecuteScalar<long>(this.Context, strSql, (long)0, pram);                        this.View.Model.SetValue("FMaterialGroupUp", parentId);                    }                    break;            }        }

赞 10