标准报表新增字段(二开)原创
9人赞赏了该文章
136次浏览
未经作者许可,禁止转载编辑于2024年10月19日 13:21:30
近期处理一个小功能'标准报表扩展(新增字段)-->产品维度利润分析表新增存货类别字段',特此留痕,如可借鉴记得点赞收藏(比心比心)
效果:
-----代码示例 --Bos取消报表原有插件,绑定新插件,代码方法继承原有插件方法 using Kingdee.BOS; using Kingdee.BOS.App.Data; using Kingdee.BOS.Contracts; using Kingdee.BOS.Core.Report; using Kingdee.BOS.Util; using Kingdee.K3.FIN.CB.App.Report; using System.Text; namespace XXXX_RPT_XXX_Plugin { [System.ComponentModel.Description("产品维度利润分析表扩展")] public class Rpt_CB_PROSALEPROFITRPT : ProDimProfitRpt { private string[] customRptTempTableName; public override ReportHeader GetReportHeaders(IRptParams filter) { ReportHeader header = base.GetReportHeaders(filter); //返回base的字段在加 header.AddChild("FCHLBName", new LocaleValue("存货类别", this.Context.UserLocale.LCID), 4).Width = 120; return header; } public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName) { IDBService dbservice = Kingdee.BOS.App.ServiceHelper.GetService<IDBService>(); customRptTempTableName = dbservice.CreateTemporaryTableName(this.Context, 1); string strTable = customRptTempTableName[0]; base.BuilderReportSqlAndTempTable(filter, strTable); StringBuilder sb = new StringBuilder(); //物料.基本(子单据头),存货类别,存货类别多语言 string strSql = string.Format(@"/*dialect*/select distinct t1.*,t8l.FNAME as FCHLBName into {0} from {1} t1 left join t_BD_MaterialBase t7 on t1.fproductid=t7.FMATERIALID left join T_BD_MATERIALCATEGORY_L t8l on t7.FCATEGORYID =t8l.FCATEGORYID and t8l.FLOCALEID=2052 ", tableName, strTable); sb.AppendFormat(strSql, tableName, strTable); DBUtils.Execute(this.Context, sb.ToString()); } public override void CloseReport() { if (customRptTempTableName.IsNullOrEmptyOrWhiteSpace()) { return; } IDBService dbService = Kingdee.BOS.App.ServiceHelper.GetService<Kingdee.BOS.Contracts.IDBService>(); dbService.DeleteTemporaryTableName(this.Context, customRptTempTableName); base.CloseReport(); } } }
赞 9
9人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!