二开案例.表单插件.获取单据体指定列的合计值
【应用场景】遍历单据体数据包所有行,对单据体的某一列进行聚合计算。
【案例演示】采购订单,获取并显示采购订单明细单据体的采购数量的合计值。
【实现步骤】
<1>编写表单插件,代码如下。
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Util;
using System;
using System.ComponentModel;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
/// <summary>
/// 【表单插件】获取单据体指定列的合计值
/// </summary>
[Description("【表单插件】获取单据体指定列的合计值"), HotUpdate]
public class EntityColumnSummaryFormPlugIn : AbstractDynamicFormPlugIn
{
public override void BarItemClick(BarItemClickEventArgs e)
{
base.BarItemClick(e);
if (e.BarItemKey.Equals("tbGetSummaryData", StringComparison.OrdinalIgnoreCase))
{
// 计算采购订单明细单据体的采购数量列的合计值
var summaryData = 0m;
var entity = this.View.BillBusinessInfo.GetEntity("FPOOrderEntry");
// 获取单据体的数据包
var entityObjs = this.View.Model.GetEntityDataObject(entity);
if (entityObjs != null)
{
foreach (var entityObj in entityObjs)
{
// 遍历单据体数据包对某一列求和
summaryData += Convert.ToDecimal(entityObj["Qty"]);
}
}
this.View.ShowMessage("采购订单明细单据体的采购数量列的合计值为:" + summaryData);
}
}
}
}
<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。
<3>BOSIDE扩展采购订单,主菜单新增菜单项,注册表单插件,保存元数据,开发完毕。
现在可以登录业务站点,打开采购订单编辑界面,点击菜单【获取合计值】,验证一下插件的设置效果啦。
【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696
二开案例.表单插件.获取单据体指定列的合计值
本文2024-09-23 04:20:36发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-164692.html