二开案例.账表表单插件.账表合计行修改合计值

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

二开案例.账表表单插件.账表合计行修改合计值

【应用场景】

账表合计行修改合计值。


【案例演示】

采购订单执行明细表,调整汇总行中的入库数量的汇总值如下:

入库数量 = 订货数量 - 收料数量


【实现步骤】

<1>编写账表表单插件,代码如下。

using Kingdee.BOS.Core.Report.PlugIn;

using Kingdee.BOS.Core.Report.PlugIn.Args;

using Kingdee.BOS.Util;

using System;

using System.ComponentModel;


namespace Jac.XkDemo.BOS.Report.PlugIn

{

    /// <summary>

    /// 【账表表单插件】账表合计行修改合计值

    /// </summary>

    [Description("【账表表单插件】账表合计行修改合计值"), HotUpdate]

    public class SummaryRowSetValueSysReportPlugIn : AbstractSysReportPlugIn

    {

        public override void FormatCellValue(FormatCellValueArgs args)

        {

            base.FormatCellValue(args);

            // 启动VS并在位置断点后,通过观察args参数可以拿到账表所有显示列的信息

            // 订货数量:FORDERQTY

            // 收料数量:FRECEIVEQTY

            // 入库数量:FIMPORTQTY

            if (args.IsSummaryRow && args.Header.Key.Equals("FIMPORTQTY", StringComparison.OrdinalIgnoreCase))//21年7月后的补丁才支持属性IsSummaryRow

            //if (args.CellType == Kingdee.BOS.Core.Enums.BOSEnums.Enu_ReportCellType.Total && args.Header.Key.Equals("FIMPORTQTY", StringComparison.OrdinalIgnoreCase))// 老版本用属性CellType判断当前行是否是合计行

            {

                // 入库数量 = 订货数量 - 收料数量

                args.FormateValue = (Convert.ToDecimal(args.DataRow["FORDERQTY"]) - Convert.ToDecimal(args.DataRow["FRECEIVEQTY"])).ToString();

            }

        }

    }

}


<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。


<3>BOSIDE扩展采购订单执行明细表,注册表单插件,保存元数据,开发完毕。


【功能验证】

<1>登录业务站点,打开采购订单执行明细表,此时,入库数量汇总值已按插件计算结果显示。

---------------------------------------------------------------------------------------------------------













【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696

二开案例.账表表单插件.账表合计行修改合计值

【应用场景】账表合计行修改合计值。【案例演示】采购订单执行明细表,调整汇总行中的入库数量的汇总值如下:入库数量 = 订货数量 - 收...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息