11.3、表单插件,DataChanged,e.Row,单据体变化的行原创
金蝶云社区-林荫大道cc身份
林荫大道cc
15人赞赏了该文章 10053次浏览 未经作者许可,禁止转载编辑于2020年07月02日 15:30:00
封面

业务场景:当物料,值更新后,给项目名称,赋值



11.2




1、


                //如果等于物料
                
                if(e.Field.Key =="FMaterialId")
                {
                
                }



image.png



2、


                //如果等于物料
                
                if(e.Field.Key =="FMaterialId")
                {
                    //给项目名称,赋值
                    //e.Row 哪一行
                    
                    this.View.Model.SetValue("F_YDIE_ProjectName","A项目",e.Row);
                }


image.png



3、



                //如果等于物料
                
                if(e.Field.Key =="FMaterialId")
                {
                    //给项目名称,赋值
                    
                    //e.Row 区别是哪一行,+动态变化
                 
                    this.View.Model.SetValue("F_YDIE_ProjectName","A项目"+e.Row.ToString(),e.Row);
                }



4、重新生成dll




5、最终效果,重新打开销售订单,选择物料,自动带出 项目名称+行号


image.png


image.png


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Kingdee.BOS;
using Kingdee.BOS.Core.Bill.PlugIn;
//添加引用后,缩写函数
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using System.ComponentModel;


namespace Kingdee.Bos.Project.BillDataChanged.plugln
{
    [Description ("DataChanged值更新后触发")]
    [Kingdee.BOS.Util.HotUpdate]
    
    public class ClassName:AbstractBillPlugIn
    {
        // DataChanged事件
        //public override void DataChanged(BOS.Core.DynamicForm.PlugIn.Args.DataChangedEventArgs e)
        //{
        //    base.DataChanged(e);
        //}
        
        
        //添加引用后,缩写函数
        public override void DataChanged(DataChangedEventArgs e)
        {
         base.DataChanged(e);
         
         
            //如果等于客户
            if(e.Field.Key =="FCustId")
            {
                this.View.Model.SetValue("FNote", "客户变化后赋值到备注");
                this.View.Model.SetValue("FNote1", "客户变化后赋值到备注1");
                
                
                //刷新
                this.View.UpdateView("FNote");
                this.View.UpdateView("FNote1");
                
                
                //赋值返回的是,基本资料FID内码
                //给A字段FCustIdNew,赋新值e.NewValue,更新前的值
                this.View.Model.SetValue("FCustIdNew",e.NewValue);
                //给B字段FCustIdOld,赋旧值e.OldValue,更新后的值
                this.View.Model.SetValue("FCustIdOld", e.OldValue);
                
                
                //刷新
                this.View.UpdateView("FCustIdNew");
                this.View.UpdateView("FCustIdOld");
            }
            
            
            
            //如果等于物料
            if (e.Field.Key == "FMaterialId")
            {
                //给项目名称,赋值
                //e.Row 区别是哪一行,+动态变化
                this.View.Model.SetValue("F_YDIE_ProjectName", "项目名称" +e.Row.ToString(), e.Row);
            }
        }
    }
}


总目录链接

https://vip.kingdee.com/article/64993872014591232




赞 15