二开案例.表单插件.获取单据体指定列的合计值

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

二开案例.表单插件.获取单据体指定列的合计值

【应用场景】遍历单据体数据包所有行,对单据体的某一列进行聚合计算。

【案例演示】采购订单,获取并显示采购订单明细单据体的采购数量的合计值。

【实现步骤】

<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

二开案例.表单插件.获取单据体指定列的合计值

【应用场景】遍历单据体数据包所有行,对单据体的某一列进行聚合计算。【案例演示】采购订单,获取并显示采购订单明细单据体的采购数量的合...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息