银行存款日报表二开指导原创
金蝶云社区-Yeti
Yeti
1人赞赏了该文章 2,438次浏览 未经作者许可,禁止转载编辑于2021年11月19日 10:53:28

目的:在银行存款日报表中增加显示其他字段。
思路:银行存款日报表对应的所有数据都包含在系统的临时表中,所以对临时表进行修改即可实现银行存款日报表二开目的。
步骤:

1. 新建工程,引用BOS基本库以及Kingdee.K3.FIN.CN.App.Report.dll文件。

2. 新建类:继承BankDailyReport,并重写BuilderReportSqlAndTempTable方法。

3. 在BuilderReportSqlAndTempTable方法中对数据进行修改,并把最终数据SELECT INTO 到tableName参数对应表中。


/// <summary>

/// 银行日报表扩展服务插件

/// </summary>

[Description("银行日报表扩展服务插件")]

public class BankDailyReportExpand : BankDailyReport

{

        public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName)

        {

            //临时表名            

            string tempTableName = DBServiceHelper.CreateTemporaryTableName(this.Context);

            //获取标准产品数据

            base.BuilderReportSqlAndTempTable(filter, tempTableName);

            //TODO:二次处理标准产品数据的逻辑写在这里,直接对tempTableName内数据进行修改,最后select into到tableName表中

            var sql = string.Format("select * into {0} from {1}", tableName,tempTableName);

            DBUtils.Execute(this.Context, sql);

            //删除临时表

           DBServiceHelper.DeleteTemporaryTableName(this.Context, new string[] { tempTableName });

        }


        //如果新加了字段需要重写这个方法添加新加的字段

        public override ReportHeader GetReportHeaders(IRptParams filter)

        {

            var header = base.GetReportHeaders(filter);

            header.AddChild("FAPPROVEDATE", "审核日期");

            return header;

        }

}

主要字段:FBillID(单据FID)、FFormID(单据类型)、FBillNo(单据编码)、FEntryID(明细ID)

4. 在BOS IDE中修改标准产品服务器插件为二开插件(下图红框中插件)