3、表单插件,单据体、取值和赋值、GetValue和SetValue原创
金蝶云社区-林荫大道cc
林荫大道cc
34人赞赏了该文章 28907次浏览 未经作者许可,禁止转载编辑于2020年07月02日 15:06:22
封面



2.4、表单插件,赋值SetValue,点击某个按钮才触发



之前讲的都是单据头赋值,这节讲单据体赋值



1、修改订单明细,默认行,10

image.png


2、找到物料编码


select * from T_BD_MATERIAL

image.png



3、//给单据体物料FMaterialId编码,第0行,赋值

this.View.Model.SetItemValueByNumber("FMaterialId", "003", 0);



image.png



4、第二种方法,//给单据体物料内码ID,第1行,赋值

this.View.Model.SetItemValueByID("FMaterialId", "310992", 1);

image.png


5、重新生成dll



6、最终效果,重新打开销售订单,点按钮,自动获取物料编码

image.png


image.png


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

//引用
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS;

//热启动,不用重启IIS,引用
using System.ComponentModel;


namespace Kingdee.Bos.ObjectName.Bill.Plugln
{
    //插件名字
    [Description("表单插件获取和设置值")]
    
    //热启动,不用重启IIS
    [Kingdee.BOS.Util.HotUpdate]
    
    
    //继承函数:AbstractBillPlugIn
    public class ClassName:AbstractBillPlugIn
    {
        //重写点击按钮函数
        public override void BarItemClick(BOS.Core.DynamicForm.PlugIn.Args.BarItemClickEventArgs e)
        {
            base.BarItemClick(e);
            //加一个判断条件,当按钮=新增的按钮时候,才触发
            
            
          if (e.BarItemKey == "YDIE_tbGetSetValue")
          {
            //给单据头,备注赋值,你好
            this.View.Model.SetValue("FNote", "你好");
            
            //获取备注FNote的值,并强制转换成字符串.ToString()
            string FNote = this.View.Model.GetValue("FNote").ToString();
           
            //把获取的值,给新增的字段,备注1,FNote1
            this.View.Model.SetValue("FNote1", FNote + "赋值成功");
            
            //把客户FcustId,赋值内码300638 
            this.View.Model.SetValue("FcustId", 300638);
            
            
            //定义数组,多个客户
            object[] custs = new object[] { "300638", "322070", "454978" };
            
            //给数组赋值
            this.View.Model.SetValue("F_YDIE_CustS", custs);
            
             //给单据体物料FMaterialId编码,第0行,赋值
             this.View.Model.SetItemValueByNumber("FMaterialId", "003", 0);
             
             //给单据体物料内码ID,第1行,赋值
             this.View.Model.SetItemValueByID("FMaterialId", "310992", 1);
             
             
            //刷新字段
            //this.View.UpdateView("FNote");
            //this.View.UpdateView("FNote1");
            //this.View.UpdateView("FcustId");
            //this.View.UpdateView("F_YDIE_CustS");
            //刷新全部字段
            this.View.UpdateView();
          }
        }
    }
}



总目录链接

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




赞 34