二开案例.账表表单插件.账表合计行修改合计值
【应用场景】
账表合计行修改合计值。
【案例演示】
采购订单执行明细表,调整汇总行中的入库数量的汇总值如下:
入库数量 = 订货数量 - 收料数量
【实现步骤】
<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
二开案例.账表表单插件.账表合计行修改合计值
本文2024-09-23 04:19:12发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-164547.html