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

二开案例.账表.加载时动态设置分组显示

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

二开案例.账表.加载时动态设置分组显示

**【应用场景】** 账表过滤条件框不设置分组汇总,在账表加载时动态进行设置。 **【案例演示】** <1>编写账表服务插件,代码如下。 ``` csharp using Kingdee.BOS.App.Data; using Kingdee.BOS.Contracts.Report; using Kingdee.BOS.Core.Metadata.FieldElement; using Kingdee.BOS.Core.Report; using Kingdee.BOS.Util; using System.Collections.Generic; using System.ComponentModel; namespace Kingdee.BOS.PlugInTest { [Description("【账表服务器插件】动态设置分组字段"), HotUpdate] public class GroupReportService : SysReportBaseService { /// <summary> /// 初始化 /// </summary> public override void Initialize() { base.Initialize(); // 简单账表类型:普通、树形、分页 this.ReportProperty.ReportType = ReportType.REPORTTYPE_NORMAL; // 报表名称 this.ReportProperty.ReportName = new LocaleValue("日采购报表", base.Context.UserLocale.LCID); // 是否由插件创建临时表 this.IsCreateTempTableByPlugin = true; // 报表列是否通过UI设计 this.ReportProperty.IsUIDesignerColumns = false; // 报表是否支持分组汇总 this.ReportProperty.IsGroupSummary = true; // 是否锁定表格列 this.ReportProperty.SimpleAllCols = false; // 报表是否默认只现实合计和明细数据 this.ReportProperty.IsDefaultOnlyDspSumAndDetailData = true; // 设置精度控制 List<DecimalControlField> list = new List<DecimalControlField>(); // 数量 list.Add(new DecimalControlField { ByDecimalControlFieldName = "FQty", DecimalControlFieldName = "FUnitPrecision" }); // 单价 list.Add(new DecimalControlField { ByDecimalControlFieldName = "FTAXPRICE", DecimalControlFieldName = "FPRICEDIGITS" }); // 金额 list.Add(new DecimalControlField { ByDecimalControlFieldName = "FALLAMOUNT", DecimalControlFieldName = "FAMOUNTDIGITS" }); this.ReportProperty.DecimalControlFieldList = list; } /// <summary> /// 构建报表临时表 /// </summary> /// <param name="filter"></param> /// <param name="tableName"></param> public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName) { base.BuilderReportSqlAndTempTable(filter, tableName); // 设置分组列 filter.FilterParameter.SummaryRows.Clear(); var summaryField1 = new Core.CommonFilter.SummaryField(new LocaleValue("单据编号"), "FBILLNO"); summaryField1.Key = "FBILLNO"; summaryField1.EntityKey = string.Empty; summaryField1.Field = new Field("FBILLNO"); filter.FilterParameter.SummaryRows.Add(summaryField1); var summaryField2 = new Core.CommonFilter.SummaryField(new LocaleValue("物料"), "FMaterialName"); summaryField2.Key = "FMaterialName"; summaryField2.EntityKey = string.Empty; summaryField2.Field = new Field("FMaterialName"); filter.FilterParameter.SummaryRows.Add(summaryField2); // 设置分组字符串 filter.FilterParameter.GroupbyString = "FBILLNO,FMaterialName"; // 取数SQL // FID, FEntryId, 编号、状态、物料、数量、单位、单位精度、单价、价税合计 string sql = string.Format(@"/*dialect*/ select t0.FID ,t1.FENTRYID ,t0.FBILLNO ,t0.FDate ,t0.FDOCUMENTSTATUS ,t2.FLOCALCURRID ,ISNULL(t20.FPRICEDIGITS,4) AS FPRICEDIGITS ,ISNULL(t20.FAMOUNTDIGITS,2) AS FAMOUNTDIGITS ,t1.FMATERIALID ,t1M_L.FNAME as FMaterialName ,t1.FQTY ,t1u.FPRECISION as FUnitPrecision ,t1U_L.FNAME as F

二开案例.账表.加载时动态设置分组显示

**【应用场景】** 账表过滤条件框不设置分组汇总,在账表加载时动态进行设置。**【案例演示】** <1>编写账表服务插件,代码如下...
点击下载文档文档为doc格式

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

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