3.1、表单插件,单据体、取值和赋值、值更新原创
31人赞赏了该文章
2.5万次浏览
编辑于2020年07月02日 15:08:43
摘要由AI智能服务提供
本文档介绍了一个金蝶ERP系统中的插件开发过程,该插件用于在销售订单中自动获取和设置物料编码、单位、税率、销售数量及含税单价等信息。过程中涉及到值更新服务调用、动态链接库(dll)的重新生成、以及在代码中给单据体和单据头赋值。遇到并解决了因缺少引用导致的编译错误,最终实现了在销售订单中自动填充并更新相关信息的功能。
续
上一节单据体取值,只带出物料编码,后面物料的单位等等都没有带出,需要在代码里面做值更新
1、 //单据体第一行,值更新
this.View.InvokeFieldUpdateService("FMaterialId", 0);
2、重新生成dll
3、重新打开销售订单,点按钮,自动获取物料编码,同时触发值更新,带出物料单位,税率等
-------------------------------------------------------------------------------------------------------------------------
4、扩展使用,第0行,给销售数量赋值100
this.View.Model.SetValue("FQty",100,0);
5、//扩展使用,第0行,给含税单价赋值88.88
this.View.Model.SetValue("FTaxPrice", 88.88, 0);
6、重新生成dll,报错
类型“Kingdee.BOS.Orm.DataEntity.DynamicObject”在未被引用的程序集中定义。
必须添加对程序集“Kingdee.BOS.DataEntity, Version=7.5.1658.5, Culture=neutral, PublicKeyToken=null”的引用。
7、添加单据体引用,重新生成dll,重新打开销售订单,自动获取物料编码、数量、单价
8、金额没有,值更新,数量,重新生成dll
this.View.InvokeFieldUpdateService("FQty", 0);
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.InvokeFieldUpdateService("FMaterialId", 0); //扩展使用,第0行,给销售数量赋值100 this.View.Model.SetValue("FQty",100,0); //扩展使用,第0行,给含税单价赋值88.88 this.View.Model.SetValue("FTaxPrice", 88.88, 0); //值更新,数量 this.View.InvokeFieldUpdateService("FQty", 0); //刷新字段 //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
Kingdee.Bos.ObjectName.Bill.Pl …(15.59KB)
赞 31
31人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!