金蝶EAS_BI报表框架使用说明

上传人:aa****6 文档编号:30009879 上传时间:2018-01-26 格式:DOC 页数:9 大小:1.93MB
返回 下载 相关 举报
金蝶EAS_BI报表框架使用说明_第1页
第1页 / 共9页
金蝶EAS_BI报表框架使用说明_第2页
第2页 / 共9页
金蝶EAS_BI报表框架使用说明_第3页
第3页 / 共9页
金蝶EAS_BI报表框架使用说明_第4页
第4页 / 共9页
金蝶EAS_BI报表框架使用说明_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《金蝶EAS_BI报表框架使用说明》由会员分享,可在线阅读,更多相关《金蝶EAS_BI报表框架使用说明(9页珍藏版)》请在金锄头文库上搜索。

1、EAS_BI 报表框架使用说明简述报表框架模块名称:fm_birt报表框架做了大部分非具体业务的工作,如查询方案/打印/ 临时表/维表操作等,使开发人员能把精力更多地投入到业务相关的开发工作中。BOS 对象设计1. 界面设计a) 主页面继承 com.kingdee.eas.fm.birt.client. BirtBaseMainUI.uib) 条件查询页面继承 com.kingdee.eas.fm.birt.client.BirtBaseFilterUI.ui2. 功能对象继承 com.kingdee.eas.fm.birt.BirtBaseFacade.facade命名约定:使用加粗部分作为

2、后缀。注意, 使用该框架的各模块最好自己加一层基类, 实现业务上的扩展. 如资金组的基类FmbiRptBaseMainUI(扩展) BirtBaseMainUI代码基本流程1用户点击菜单进入2客户端准备初始数据 getParamsForInit(),如果返回 null, 转入第 4 步3服务端取初始数据 init,参数为上一步 getParamsForInit()返回值4客户端条件查询设置 setCustomCondition,参数为上一步 init 返回值5用户点击确定查询6调用客户端主界面 query 方法,查询条件在属性 params 里,该 params 是条件界面getCustomC

3、ondition()返回的.编码说明必要的重载1. UI 类实现 abstract 方法(Eclipse 里 ctrl+1,选择添加未实现的方法),各方法说明可参考父类注释。2. session bean 根据需要重载父类方法,通常只需要 _ini 和 readySchemaSource 两个方法。数据准备服务端准备数据方法(重载):protected SchemaSource readySchemaSource(RptParams params, Context ctx)throws BOSException, EASBizException/返回 SchemaSource 对象,里面的属性

4、均需要设置。Schema 文件及宏定义Schema 配置请参考相关文档,放在 config 目录下,config 与 app/client 同级。1)宏定义:在 config.xml 中,型如$XXX$。2)设置宏值:SchemaSource#setMacroValue(String key,String value)-配置文件-代码中设置宏-SchemaSource ss=.ss.setMacroValue(MyTable, PeriodType);ss.setMacroValue(MyFK, FPeriodTypeID); 也可以动态添加维度。客户端处理1. 实现父类的 abstract

5、方法。 具体功能查看父类代码注释2. 与数据有关常用的三个地方:1 onBeforeQuery 里设置标题2 设置打印格式和变量3 重载处理单元格事件处理方法(用于联查)3. 全局变量及主要方法说明protected RptParams params=null; 查询条件-弹出对话框返回的查询条件,常用initWorksheetComponentStyle(ComponentConfig config)设置显示格式,查询/刷新时调用,一般不需要重载。setRemoteConnection(boolean isRemoteConnection)设置是否使用远程连接,如果否,则数据一次性获取到客户

6、端,缺省为否。临时表的处理com.kingdee.eas.fm.birt.app.BirtBaseFacadeControllerBean 提供, 建议不要自己写创建/删除临时表的 sql, 因为临时表处理 EAS 系统有专门的管理:获取临时表名:getTempTableName使用 select into 创建临时表及数据executeSelectInto释放临时表dropTempTableSQL 执行接口com.kingdee.eas.fm.birt.app.BirtBaseFacadeControllerBean 提供:_executeQuery_executeUpdate打印设置打印表

7、头格式方法protected void preparePrintPageHeader(HeadFootModel header) 返回打印表头变量方法protected Map preparePrintVariantMap()辅助类使用1. 条件存储1) 在 FilterUI 里,可以使用 RptConditionManager 类自动存储。public RptParams getCustomCondition() RptConditionManager rm=new RptConditionManager();rm.recordAllStatus(this);return rm.toRptP

8、arams();public void setCustomCondition(RptParams params) RptConditionManager rm=new RptConditionManager(params);rm.restoreAllStatus(this);2)获取方法:RptParams. getObjectElement(“name.value”);name 为条件相应控件的名称,getObjectElement 方法可以用属性来访问其中的对象,如,name.value 为 com.kingdee.eas.framework .DataBaseInfo 对象,取其编码:R

9、ptParams. getObjectElement(“name.value.number”);使用示例:一般使用示例/保存条件public RptParams getCustomCondition() RptConditionManager rm=new RptConditionManager();rm.recordAllStatus(this);return rm.toRptParams();/设置条件public void setCustomCondition(RptParams params) RptConditionManager rm=new RptConditionManager

10、(params);rm.restoreAllStatus(this);扩展用法示例public RptParams getCustomCondition() RptConditionManager rm=new RptConditionManager();rm.recordAllStatus(this);rm.setProperty(companyIdSet,companyIdSet);bankIdSet=AccessHelper.getIds(AccessHelper.getF7Ids(jbpBank);rm.setProperty(bankIdSet,bankIdSet);currency

11、IdSet=AccessHelper.getIds(AccessHelper.getF7Ids(jbpCurrency);rm.setProperty(currencyIdSet,currencyIdSet);return rm.toRptParams();public void setCustomCondition(RptParams params) RptConditionManager rm=new RptConditionManager(params);rm.restoreAllStatus(this);companyIdSet=(Set)params.getObject(compan

12、yIdSet);try bankIdSet=(Set) params.getObject(bankIdSet);CoreBaseInfo c=RptIvtClientUtil.getBaseInfoFromIdSet(bankIdSet);this.jbpBank.setData(c);currencyIdSet=(Set) params.getObject(currencyIdSet);CoreBaseInfo cc=RptIvtClientUtil.getBaseInfoFromIdSet(currencyIdSet);this.jbpCurrency.setData(cc); catch

13、 (Exception e) this.handUIException(e);2. SqlParams 的使用a) 与 PreparedStatement 使用方法类似,较之更简洁方便。作为 SQL 执行接口的参数。b) 调试用:SqlParams.sql() 即可得到完整(不带?参数 )的 sql。参考例子重大资金流入流出汇总表com.kingdee.eas.fm.ivt.RptBlockFundFlowGGMainUI图形显示图形增加效果示例添加方法代码只需要在 RptXXXMainUI 里添加1. 增加缺省图片setShowDefaultChart(boolean)是否显示缺省图片(整个

14、表数据对应的图片), 在onBeforeQuery()中调用.addDefaultChart() 显示缺省图片, 在 onAfterQuery()中调用 , 与 setShowDefaultChart 结合可按维度需求实现是否需要缺省图片.2. 增加自定义图片在 onAfterQuery()中编写代码,如显示饼图: 期末数各公司(银行-DyTable)的比例this.addChart().setTitle(期末公司信用证结构分析).setChartType(ChartType.CT_MULTIPIE).addShowMember(PeriodType,期末数).addShowMember(Re

15、gionType,小计).addShowMember(Measures,比例).addNotShowMember(DyTable,合计).setReverse(true).finishDataSet(); 显示例图:代码说明:addShowMember: 设置需要显示图片的成员数据, 第一个参数为维度名称, 第二个参数是成员名称, 均不区分大小写. 维度名与成员名需与 mdx 语句中的命名对应addNotShowMember: 设置不需要显示的成员 . 注意: 在同一维度上, 不能同时设置 addShowMember/ addNotShowMember, 只设置”显示”成员,则其它成员(在图片上)不显示, 只设置”不显示” 成员,则其它成员默认显示.setReverse(boolean): 表示图形是否显示为当前行列交换后的图形( 但表的显示是不需要交换的)finishDataSet(): 表示图片数据设置结束 (必须调用且在最后 )参考代码: com.kingdee.eas.fm.fin.client. RptLCFrameAnalysisMainUI

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号