电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

总账账龄分析表二开——增加客户按“关联公司”过滤及显示“关联公司”列

来源:金蝶云社区作者:金蝶2024-09-166

总账账龄分析表二开——增加客户按“关联公司”过滤及显示“关联公司”列

  • 背景需求

关联公司作为客户,在出账龄时,有时候希望排除在账龄核销范围之外,即不参与账龄核销。同时,当关联公司参与核销时,能在查询结果中标示出来,以便财务人员区分。 

  • 主要思路

1,在客户表中增加一列“是否关联公司”,用于标示客户的身份。 

2,过滤条件界面,增加一个选项:客户维度关联公司不参与核销(默认不勾选,表示参与);在显示隐藏列增加一列:“是否关联公司”,用于当参与核销时,在最终查询结果表中显示。 

3,查询时,当核算维度为客户时,如果“客户维度关联公司不参与核销”不勾选,则按原有逻辑处理,但在结果中需要显示“是否关联公司”一列。否则,在主取数SQL条件上增加“不等于关联公司”这一过滤条件,以便排除关联公司。这样便达到了关联公司不参与核销的效果。 

  •  详细步骤

1,客户表中增加一列“是否关联公司”,略 

2,显示隐藏表中增加列:如下图所示:

downloadfile.webp

3,快捷条件中,增加选项:客户维度关联公司不参与核销(默认不勾选,表示参与)。当选择的核算维度中有客户时,该选项才可用,否则不可用且不勾选。当勾选时,显示隐藏列中的“是否有关联公司”取消勾选,反之,勾选。 

4,插件开发,这是二开的核心, 

1)插件类继承官方原插件类,如: public class AgingScheduleForABC : AgingScheduleReportService,作为服务端插件,挂在“总账账龄分析表”的服务器插件上,需要同时取消官方原插件,否则会重复。

2)在插件中取“客户维度关联公司不参与核销”选项的值,以便后面使用。 

public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName)
{
     //快捷过滤条件
     DynamicObject dyFilterobj = filter.FilterParameter.CustomFilter;
     if (dyFilterobj != null)
     {
          if (dyFilterobj.Contains("PriorityStartDate"))
          {    
                //是否关联公司不参与核销
                filterIsAffiliate = Convert.ToBoolean(dyFilterobj["IsAffiliate"]);
          }
     }
     //继续执行父类的方法
     base.BuilderReportSqlAndTempTable(filter, tableName);
}

3)当勾选“客户维度关联公司不参与核销”时,在取数SQL中添加过滤条件

public override string BuilderBaseDataSql()
{    
    //父类生成的SQL。
    var strSql = base.BuilderBaseDataSql();
    if(包含客户 && !f

总账账龄分析表二开——增加客户按“关联公司”过滤及显示“关联公司”列

背景需求关联公司作为客户,在出账龄时,有时候希望排除在账龄核销范围之外,即不参与账龄核销。同时,当关联公司参与核销时,能在查询结果...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信