【学习】字段值更新和删除分录行
引用
值更新也是表单插件的一种,需要继承AbstractBillPlugIn类来重写DataChanged方法
注意
获取某个字段是否触发了值更新e.Field.Key.EqualsIgnoreCase("字段标识");
备注:字段触发值更新需要在BOS里面勾选即时触发值更新事件
值更新事件
单据头更新单据体
if (e.Field.Key.EqualsIgnoreCase("F_VVHD_WL")) { //获取单据头的物料赋值给单据体 var F_VVHD_WL = this.Model.GetValue("F_VVHD_WL"); string Name1 = (F_VVHD_WL as DynamicObject)["id"].ToString();//取值 int count = this.Model.GetEntryRowCount("FPOOrderEntry");//获取采购订单分录行总数 for (int i = 0; i < count; i++) { this.Model.SetValue("FMaterialId", Name1, i);//赋值 } }
单据体更新单据头
if (e.Field.Key.EqualsIgnoreCase("FQty")) { int count = this.Model.GetEntryRowCount("FPOOrderEntry");//获取采购订单分录行总数 double Qty = 0; for (int i = 0; i < count; i++) { string FQty = this.Model.GetValue("FQty", i).ToString();//获取采购订单分录行总数 Qty += double.Parse(FQty); } this.Model.SetValue("F_VVHD_Text", Qty.ToString());//赋值 }
值更新需要注意
AfterDeleteRow 分录行删除事件
public override void AfterDeleteRow(AfterDeleteRowEventArgs e)//分录行被删除时 { //将上面的代码复制一份 base.AfterDeleteRow(e); int count = this.Model.GetEntryRowCount("FPOOrderEntry"); double Qty = 0; for (int i = 0; i < count; i++) { string FQty = this.Model.GetValue("FQty", i).ToString(); Qty += double.Parse(FQty); } this.Model.SetValue("F_VVHD_Text", Qty.ToString()); }
代码分享
using Kingdee.BOS.Core.Bill.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.Orm.DataEntity; using Kingdee.BOS.Util; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; namespace XueXi { [Description("学习值更新事件"), HotUpdate] public class Class3 : AbstractBillPlugIn { public override void DataChanged(DataChangedEventArgs e) { base.DataChanged(e); if (e.Field.Key.EqualsIgnoreCase("F_VVHD_WL")) { //获取单据头的物料赋值给单据体 var F_VVHD_WL = this.Model.GetValue("F_VVHD_WL"); string Name1 = (F_VVHD_WL as DynamicObject)["id"].ToString();//取值 int count = this.Model.GetEntryRowCount("FPOOrderEntry");//获取采购订单分录行总数 for (int i = 0; i < count; i++) { this.Model.SetValue("FMaterialId", Name1, i);//赋值 } } if (e.Field.Key.EqualsIgnoreCase("FQty")) { int count = this.Model.GetEntryRowCount("FPOOrderEntry");//获取采购订单分录行总数 double Qty = 0; for (int i = 0; i < count; i++) { string FQty = this.Model.GetValue("FQty", i).ToString();//获取采购订单分录行总数 Qty += double.Parse(FQty); } this.Model.SetValue("F_VVHD_Text", Qty.ToString());//赋值 } } public override void AfterDeleteRow(AfterDeleteRowEventArgs e)//分录行被删除时 { //将上面的代码复制一份 base.AfterDeleteRow(e); int count = this.Model.GetEntryRowCount("FPOOrderEntry"); double Qty = 0; for (int i = 0; i < count; i++) { string FQty = this.Model.GetValue("FQty", i).ToString(); Qty += double.Parse(FQty); } this.Model.SetValue("F_VVHD_Text", Qty.ToString()); } } }
【学习】字段值更新和删除分录行
引用值更新也是表单插件的一种,需要继承AbstractBillPlugIn类来重写DataChanged方法注意获取某个字段是否触发了值更新e.Field.Key.EqualsI...
点击下载文档
本文2024-09-16 17:14:12发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-14408.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
- 鼎捷EAI整合規範文件V3.1.07 (集團).pdf
- 鼎捷OpenAPI應用場景說明_基礎資料.pdf
- 鼎捷OpenAPI應用場景說明_財務管理.pdf
- 鼎捷T100 API設計器使用手冊T100 APIDesigner(V1.0).docx
- 鼎新e-GoB2雲端ERP B2 線上課程E6-2應付票據整批郵寄 領取.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A4使用者建立權限設定.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程C3會計開帳與會計傳票.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程E6-1應付票據.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A5-1進銷存參數設定(初階篇).pdf
- 鼎新e-GoB2雲端ERP B2 線上課程D2帳款開帳與票據開帳.pdf
热门文章