BOS运行时-列表插件-单据头合计字段干预原创
金蝶云社区-Howhy
Howhy
66人赞赏了该文章 428次浏览 未经作者许可,禁止转载编辑于2023年08月28日 17:21:48

在单据列表,有合计字段,合计字段分为单据头合计字段和单据体字段。这是因为一个单据头可以对应多个分录,在列表过滤方案显示单据体字段时,如果单据头字段重复计算,会导致合计不准确。如下图:

image.png


那么假设我们需要计算已审核切金额大于等于100以上的数据,这个时候需要写插件,插件如下:

using Kingdee.BOS.Core.List.PlugIn;
using Kingdee.BOS.Core.List.PlugIn.Args;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Witt.Cloud.PlugIn.BillList
{
    [HotUpdate]
    public class HeadSummaryFilterClausePlugin:AbstractListPlugIn
    {
        public override void AfterCreateSqlBuilderParameter(SqlBuilderParameterArgs e)
        {
            //设置单据头汇总字段仅合计已审核和金额大于等于100的
            e.sqlBuilderParameter.HeadSummaryFilterClause += " FDocumentStatus ='C' and F_PAEZ_Amount >=100";
        }
    }
}


注册列表插件后,再次打开列表,可以看到,原来单据头合计值由210变成了100,这是因为符合我们插件设置的过滤条件只有100

image.png

赞 66