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

输入物料后赋值物料上的基础资料字段给单据上的辅助属性

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

输入物料后赋值物料上的基础资料字段给单据上的辅助属性

//这是在物料上的基本信息里面加了个基础资料字段,跟辅助属性上的字段是一样的;


using System;

using Kingdee.BOS.Core.Bill.PlugIn;

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

using Kingdee.BOS.Orm.DataEntity;

using System.ComponentModel;

using Kingdee.BOS.App.Data;

using Kingdee.BOS.Core.Metadata.FieldElement;

using Kingdee.BOS.Model.DynamicForm;

using Kingdee.BOS.Web.DynamicForm;

using Kingdee.BOS.ServiceHelper;


namespace ZJX.T_PLN_PLANORDER.Business.PlugIn

{

    [Kingdee.BOS.Util.HotUpdate]

    [Description("选择物料后更新辅助属性")]

    public class MOBill_FZSX : AbstractBillPlugIn

    {

        public override void DataChanged(DataChangedEventArgs e)

        {

            base.DataChanged(e);

            if (e.Field.Key == "FMaterialId")

            {

                DynamicObject matObj = this.View.Model.GetValue("FMaterialId", e.Row) as DynamicObject;  //获取当前行物料数据包

                if (matObj != null)

                {

                    long FMATERIALID = Convert.ToInt64(matObj["ID"]);               //获取物料ID

                    string matNum1 = Convert.ToString(matObj["Number"]);   //#物料编码,字符串类型

                    if (matNum1.StartsWith("4TM"))          //这里是判断个别的物料编码不执行;

                    {

                        return;

                    }

                        string sql = string.Format(@"/*dialect*/SELECT T.FMATERIALID AS HJMATERIALID,ISNULL(T.F_ora_Base1,0) F_ora_Base1 FROM t_BD_Material T INNER JOIN t_BD_MaterialAuxPty TA ON T.FMATERIALID = TA.FMATERIALID WHERE   TA.FISENABLE = 1 AND TA.FAUXPROPERTYID = 100006 AND T.FMATERIALID={0};", FMATERIALID);         //貌似可以简单写,不用INNER JOIN t_BD_Material

                        DynamicObjectCollection Dyobjs = DBUtils.ExecuteDynamicObject(this.Context, sql);

                        string sql2 = string.Format(@"/*dialect*/SELECT T.FMATERIALID AS HJMATERIALID,ISNULL(T.F_ora_Base6,0) F_ora_Base6 FROM t_BD_Material T INNER JOIN t_BD_MaterialAuxPty TA ON T.FMATERIALID = TA.FMATERIALID WHERE   TA.FISENABLE = 1 AND TA.FAUXPROPERTYID = 100003 AND T.FMATERIALID={0};", FMATERIALID);

                        DynamicObjectCollection Dyobjs2 = DBUtils.ExecuteDynamicObject(this.Context, sql2);


                        if (Dyobjs.Count == 0 && Dyobjs2.Count == 0)

                        {

                            this.View.Model.SetValue("$$FAUXPROPID__FF100003", "", e.Row);

                            this.View.Model.SetValue("$$FAUXPROPID__FF100006", "", e.Row);

                            return;

                        }

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

                        {

                            // 获取维度关联字段

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

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

                            var field = (BaseDataField)flexField.RelateFlexBusines

输入物料后赋值物料上的基础资料字段给单据上的辅助属性

//这是在物料上的基本信息里面加了个基础资料字段,跟辅助属性上的字段是一样的;using System;using Kingdee.BOS.Core.Bill.PlugIn;usin...
点击下载文档文档为doc格式

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

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