电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

二开案例.维度关联字段.维度关联字段赋值之辅助属性

来源:金蝶云社区作者:金蝶2024-09-2320

二开案例.维度关联字段.维度关联字段赋值之辅助属性

【应用场景】给辅助属性赋值。

【案例演示】采购订单,明细信息,给指定物料设置辅助属性值。

【实现步骤】

<1>编写单据插件,实现辅助属性赋值的功能,代码如下。

using Kingdee.BOS.Core.Bill.PlugIn;

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

using Kingdee.BOS.Core.Metadata.FieldElement;

using Kingdee.BOS.Model.DynamicForm;

using Kingdee.BOS.ServiceHelper;

using Kingdee.BOS.Util;

using Kingdee.BOS.Web.DynamicForm;

using System.ComponentModel;


namespace Jac.XkDemo.BOS.Business.PlugIn

{

    /// <summary>

    /// 【单据插件】维度关联字段赋值之辅助属性

    /// </summary>

    [Description("【单据插件】维度关联字段赋值之辅助属性"), HotUpdate]

    public class SetFlexValueBillPlugIn : AbstractBillPlugIn

    {

        public override void EntryBarItemClick(BarItemClickEventArgs e)

        {

            base.EntryBarItemClick(e);

            var rowIndex = this.Model.GetEntryCurrentRowIndex("FPOOrderEntry");

            if (rowIndex < 0)

            {

                return;

            }


            #region 模拟界面操作View进行赋值


            if (e.BarItemKey.EqualsIgnoreCase("tbSetFlexValue1"))

            {

                // 设置物料的等级为【A级】

                ((DynamicWebFormView)this.View).SetItemValueByIDFromClient("$$FAUXPROPID__FF100001", "005056a3024b911211e36619da073384", rowIndex);

                // 设置物料的产地为【中国】

                ((DynamicWebFormView)this.View).SetItemValueByIDFromClient("$$FAUXPROPID__FF100002", "5a98b74cf52cba", rowIndex);

            }


            #endregion


            #region 直接获取维度值内码进行赋值(此种赋值方式要求维度组合值已经提前保存)


            if (e.BarItemKey.EqualsIgnoreCase("tbSetFlexValue2"))

            {

                // 等级【A级】产地【中国】对应的维度值为100333

                this.View.Model.SetValue("FAuxPropId", 100333, rowIndex);

                //this.View.UpdateView("FAuxPropId", rowIndex);

            }


            #endregion


            #region 操作Model逐个维度进行赋值


            if (e.BarItemKey.EqualsIgnoreCase("tbSetFlexValue3"))

            {

                // 获取维度关联字段

                var flexField = (RelatedFlexGroupField)this.View.BillBusinessInfo.GetField("FAuxPropId");

                // 获取维度关联字段的某个维度

                // 设置物料的等级为【A级】

                ((DynamicFormModel)this.Model).SetFlexValue(flexField, "$$FAUXPROPID__FF100001", "005056a3024b911211e36619da073384", rowIndex);

                //this.View.UpdateView("$$FAUXPROPID__FF100001", rowIndex);

                // 设置物料的产地为【中国】

                ((DynamicFormModel)this.Model).SetFlexValue(flexField, "$$FAUXPROPID__FF100002", "5a98b74cf52cba", rowIndex);

                //this.View.UpdateView("$$FAUXPROPID__FF100002", rowIndex);

            }


            #endregion


            #region 操作Model逐个维度进行赋值


            if (e.BarItemKey.EqualsIgnoreCase("tbSetFlexValue4"))

            {

                // 获取维度关联字段

                var flexField = (RelatedFlexGroupField)this.View.BillBusinessInfo.GetField("FAuxPropId");

                // 获取维度关联字段的某个维度

                var field = (BaseDataField)flexField.RelateFlexBusinessInfo.GetField("FF100001");

                // 设置物料的等级为【A级】

                var dynamicObj = BusinessDataServiceHelper.LoadSingle(this.Context, "005056a3024b911211e36619da073384", field.RefFormDynamicObjectType);

                ((DynamicFormModel)this.Model).SetFlexValue(flexField, "$$FAUXPROPID__FF100001", dynamicObj, rowIndex);

                //this.View.UpdateView("$$FAUXPROPID__FF100001", rowIndex);

                // 设置物料的产地为【中国】

                dynamicObj = BusinessDataServiceHelper.LoadSingle(this.Context, "5a98b74cf52cba", field.RefFormDynamicObjectType);

                ((DynamicFormModel)this.Model).SetFlexValue(flexField, "$$FAUXPROPID__FF100002", dynamicObj, rowIndex);

                //this.View.UpdateView("$$FAUXPROPID__FF100002", rowIndex);

            }


            #endregion

   

二开案例.维度关联字段.维度关联字段赋值之辅助属性

【应用场景】给辅助属性赋值。【案例演示】采购订单,明细信息,给指定物料设置辅助属性值。【实现步骤】<1>编写单据插件,实现辅助属性赋...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信