账表的服务端插件概述原创
金蝶云社区-拿了你的糖身份
拿了你的糖
27人赞赏了该文章 4,670次浏览 未经作者许可,禁止转载编辑于2021年10月15日 14:23:24
summary-icon摘要由AI智能服务提供

账表服务端取数插件负责组装SQL指令并返回取数结果给平台账表引擎,平台则将这些数据绑定到设计的账表模型上。开发过程涉及设计账表模型、过滤模型等,账表类型多样且插件需实现特定事件。不同账表类型有独特属性和方法,如分页账表和树形账表具有特定的分页和分组管理属性。

账表的服务端取数插件,是通过插件组装账表取数Sql指令,把取数结果返回给平台账表引擎,平台将取数结果绑定到账表页面的过程,简单说,平台在账表开发过程中,只负责把插件取到的账表数据绑定到设计好的账表模型上,取数逻辑由账表服务端插件完成。


  开发过程中,有几个重要模型:


1、 设计账表模型

         a) 账表表头字段;

         b) 账表表体字段(也说成账表列头字段);

image.png

    

2、 设计账表过滤模型

         a) 自定义快捷过滤面板;

         b) 高级过滤条件面板;

         c) 排序面板;

         d) 分组汇总面板;

         e) 显示隐藏列面板。

image.png

   账表根据使用场景,分为简单账表、树形账表、分页账表、简单Sql账表(简单Sql账表没有服务取数插件)。

image.png

插件继承关系:

image.png

image.png

     所有账表都须实现的重要事件:

      1、Initialize

      2、BuilderSelectFieldSQL

      3、BuilderFromWhereSQL

      4、BuilderReportSqlAndTempTable

      5、GetReportTitles

      6、GetReportHeaders

      7、GetSummaryColumnInfo

    公共属性:

      1、BusinessInfo:账表模型的元数据描述信息。

      2、Context:当前登录系统的上下文信息。

      3、DctSpecialTempSumTable:临时汇总数据表格。

      4、DynamicHeader:动态列头。

      5、ReportHeader:账表列头。

      6、ReportId:当前账表模型唯一标示。

      7、ReportProperty: 账表属性,包含账表开发过程中的全局信息。

          a)、ReportType:账表类型(默认是简单账表、如果开发的是分页或树形帐表,请在账表插件初始化事件中,对此属性进行正确赋值,否则账表引擎会默认按简单账表处理页面)。

          b)、IsGroupSummary:是否支持分组汇总。

          c)、IsUIDesignerColumns:账表列头是否是通过BOSIDE设计。

          d)、SimpleAllCols:是否锁定账表表格列。

          e)、DecimalControlFieldList:精度控制字段信息。

          f)、DspInsteadColumnsInfo:列表格式化列,指示Key列被Value列内容替代。

          g)、GroupSummaryInfoData:分组汇总信息。

      8、ReportTitles:账表表头字段信息。

      9、SummarySpecialFields:汇总字段信息。

     10、TempTableNameList:临时表列表。

  分页账表特有属性:

      1、CurrentListPosition:分页账表属性,分页账表当前页账表数据对象的位置信息,此属性与CacheMapTempTableNameList属性一起使用。

      2、CacheMapTempTableNameList:分页账表属性,记录分页账表每页账表数据对象信息,此属性与CurrentListPosition属性一起使用。

      3、CacheDataList:分页账表属性,根据账表当前页位置,获取DataRow对象。

  树形账表特有属性:

      1、CurrentGroupID:树形账表分组标识,点击树形账表左边树时,由平台账表引擎为其赋值,其数据来源于账表插件GetTreeNodes方法返回的树节点id属性的值对应树形账表插件在BuilderReportSqlAndTempTable方法拼接账表取数sql时,需要以CurrentGroupID作为过滤条件拼接到Sql指令的Where部分。


总目录

图标赞 27
27人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!