EAS分析报表框架手册Word下载.docx
- 文档编号:20825884
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:22
- 大小:626.52KB
EAS分析报表框架手册Word下载.docx
《EAS分析报表框架手册Word下载.docx》由会员分享,可在线阅读,更多相关《EAS分析报表框架手册Word下载.docx(22页珍藏版)》请在冰豆网上搜索。
4.发布:
支持以excel/html格式发布到Portal或发送到mail
1.3分析报表开发
1.设计界面:
设计UI及Faç
ade元数据;
2.配置维度(xml文件);
3.编写代码,主要工作:
服务端准备数据――写在ControllerBean中,每一维度对应一个sql语句。
其余的均由框架实现,只需写好框架需要的接口方法。
配置文件例子:
1.4EAS使用案例
1.4.1资金管理分析报表
包括资金结算、投融资管理等业务模块的汇总表与分析表。
1.4.2预算分析报表
1.4.3管理会计资金分析报表
1.5各功能界面预览
以下是分析报表的界面示例:
1.5.1主页面
1.5.2图形分析
1.5.3排序
1.5.4筛选(过滤)
1.5.5维度浏览
1.5.6报表发布
第2章开发流程
2.1框架描述
2.1.1组成
1.框架元数据:
主界面UI:
com.kingdee.eas.framework.bireport.client.BireportBaseMainUI.ui
条件界面UI:
com.kingdee.eas.framework.bireport.client.BireportBaseFilterUI.ui
Faç
ade功能对象:
com.kingdee.eas.framework.bireport.app.BireportBaseFacade.facade
2.维度配置文件:
xml文件,放在与app/client同级的config目录下。
3.相关组件及辅助类。
4.示例:
com.kingdee.eas.framework.bireport.app.BireportSample
2.1.2类图
2.2步骤概述
2.2.1元数据设计
设计主界面UI继承BireportBaseMainUI,根据业务设计界面,要求至少有一个显示数据的KDTable。
设计条件界面UI继承BireportBaseFilterUI,根据业务设计界面。
设计功能对象继承BireportBaseFacade,通常不再需要添加接口,除非业务上自身的要求。
注意界面规范:
边界10px,组件间3px,详见http:
//uiserver/
2.2.2发布补全代码
发布元数据,对编译警告的选择添加未实现的方法(Eclipse开发环境)。
根据超类注释完成自动添加的未实现代码,可参考示例。
ade生成的ControllerBean通常要重载_init和readySchemaSource两个方法,分别用于初始化条件查询数据和准备主页面的维度数据。
2.2.3配置维度文件
config目录下新建维度配置文件(xml格式,具体参考相关文档),根据具体要求设计维度。
2.2.4编写业务相关代码
通常包括
1.处理查询条件:
初始化设置、方案存取等;
2.主页面:
小标题、打印格式、打印变量、自定义图形等;
3.ControllerBean准备数据。
2.3时序图
第3章维度配置文件
3.1多语言
目前支持两种实现方式
单配置文件:
里面使用属性、变量来实现多语言。
多配置文件,每种语言用一个文件,只需要写原始一份,通过插件将生成3份文件。
3.2资源属性、变量
3.2.1使用资源属性
文件中指定BOS的资源对象名全路径:
<
Resourcename=”…”/>
定义属性,格式为#{varname}
如上图例,则框架解析此文件时,将获取MacroReplacer.resource的bank属性替换#{bank}。
3.2.2使用变量
有两种写法,
在tag属性值里,用${varname}
在tag外面,用<
Varname=”…”/>
用于需要动态变动xml结构的情况。
如
服务端用SchemaSource#setMacroValue(Stringkey,Stringvalue)方法设置变量。
3.3Schema翻译插件
Schema文件翻译插件KingdeeToolkit_1.0.0.jar,获取地址见后面的相关资源vss.
[使用方法]
如下图,将生成3个xml文件:
schema_L1.xml英文(需手工翻译里面的多语言属性)
schema_L2.xml简体中文
schema_L3.xml繁体中文
此插件还提供属性文件的翻译,在形如*_.properties的文件上右键菜单可见:
3.4权限配置
权限分数据(成员)权限、字段(度量)权限两种,数据权限施加于维度,字段权限施加于度量。
使用了本方法设置权限,若以前中有手工增加过数据权限过虑的代码(使用com.kingdee.eas.base.permission.IPermission产生过虑SQL),应去除去,避免重复过虑影响效率。
开发人员需要做两个部分:
1)BOS中定义权限元数据,发布;
2)维度配置文件指定关联的权限项,配置如下图:
Permission下可以有多个Item,Item之间是“和”关系。
3.4.1成员权限
1.在BOS中定义元数据,要绑定维度查询的表――eas中对应实体,参考BOS开发帮助文档。
2.xml文件中配置权限项(使用上步骤定义的权限名称)。
◆Permissiontype指定为EAS;
◆Itemtype指定为SQL_FILTER;
◆name,权限元数据名称;
◆column,与权限关联的字段。
如下图种表示用Currency维度的SQL中的FID字段来关联权限项生成的SQL。
EAS中数据授权示例,以administrator,对选中某一用户授数据权限,若新增的权限项不存在,请先在主页面菜单中点击同步权限项:
规则维护
屏蔽人民币(此是示例,实际中不应引用基础资料的权限,而是新建权限项,绑定币别):
3.4.2度量权限
1)设计权限元数据(无需绑定任何数据,只是功能权限—是/否)
2)配置文件增加权限关联,
◆Permissiontype指定为EAS;
◆Itemtype指定为BOOLEAN;
◆name,关联的权限项名称。
EAS中授功能权限(有/无权限)示例:
EAS中打开报表,如果所有度量都没权限访问,则表格显示为空,并提示以下信息:
第4章使用图形
4.1效果示例
4.2使用方法
代码只需要在RptXXXMainUI里添加
1.增加缺省图片
setShowDefaultChart(boolean)是否显示缺省图片(整个表数据对应的图片),在onBeforeQuery()中调用.
addDefaultChart()显示缺省图片,在onAfterQuery()中调用,与setShowDefaultChart结合可按维度需求实现是否需要缺省图片.
2.增加自定义图片
在onAfterQuery()中编写代码,如
显示饼图:
期末数各公司(银行--DyTable)的比例
this.addChart().setTitle("
期末公司信用证结构分析"
)
.setChartType(ChartType.CT_MULTIPIE)
.addShowMember("
PeriodType"
"
期末数"
RegionType"
小计"
Measures"
比例"
)
.addNotShowMember("
DyTable"
合计"
.setReverse(true)
.finishDataSet();
显示例图:
代码说明:
addShowMember:
设置需要显示图片的成员数据,第一个参数为维度名称,第二个参数是成员名称,均不区分大小写.维度名与成员名需与mdx语句中的命名对应
addNotShowMember:
设置不需要显示的成员.
注意:
在同一维度上,不能同时设置addShowMember/addNotShowMember,只设置”显示”成员,则其它成员(在图片上)不显示,只设置”不显示”成员,则其它成员默认显示.
setReverse(boolean):
表示图形是否显示为当前行列交换后的图形(但表的显示是不需要交换的)
finishDataSet():
表示图片数据设置结束(必须调用且在最后)
参考代码:
com.kingdee.eas.fm.fin.client.RptLCFrameAnalysisMainUI
第5章脚本语言
5.1概述
用户与开发人员都将会用到脚本,犹如office需要vba,分析报表将使用MiniScript脚本语言,以满足灵活性的需求。
5.2扩展业务脚本
(未实现…待续)
第6章其它
6.1临时表的处理
com.kingdee.eas.fm.birt.app.BirtBaseFacadeControllerBean提供,建议不要自己写创建/删除临时表的sql,因为临时表处理EAS系统有专门的管理:
获取临时表名:
getTempTableName
使用select…into…创建临时表及数据
executeSelectInto
释放临时表
dropTempTable
6.2SQL执行接口
com.kingdee.eas.fm.birt.app.BirtBaseFacadeControllerBean提供:
_executeQuery
_executeUpdate
6.3打印
设置打印表头格式方法
protectedvoidpreparePrintPageHeader(HeadFootModelheader)
返回打印表头变量方法
protectedMappreparePrintVariantMap()
6.4辅助类的使用
1.条件自动存储类
RptConditionManager
一般用法
//条件页面:
获取条件
publicRptParamsgetCustomCondition(){
RptConditionManagerrm=newRptConditionManager();
rm.recordAllStatus(this);
returnrm.toRptParams();
}
//设置条件
publicvoidsetCustomCondition(RptParamsparams){
RptConditionManagerrm=newRptConditionManager(params);
rm.restoreAllStatus(this);
[注]用最新的CustomerParams参数的接口,若要条件支持版本升级,则本辅助类无效,请自行处理。
框架默认转调最新接口到setCustomCondition(RptParamsparams)与RptParamsgetCustomCondition(),即使用此两方法仍可用非字符窜对象作为条件,但条件方案相关类被修改(客户升级)后可能报版本不一致错误。
自动存储的条件获取方法
RptParams.getObjectElement("
name.value"
);
name为条件相应控件的名称,getObjectElement方法可以用属性来访问其中的对象,如,name.value为com.kingdee.eas.framework.DataBaseInfo对象,取其编码:
RptParams.getObjectElement("
name.value.number"
扩展用法示例
rm.setProperty("
companyIdSet"
companyIdSet);
bankIdSet=AccessHelper.getIds(AccessHelper.getF7Ids(jbpBank));
bankIdSet"
bankIdSet);
currencyIdSet=AccessHelper.getIds(AccessHelper.getF7Ids(jbpCurrency));
currencyIdSet"
currencyIdSet);
companyIdSet=(Set)params.getObject("
try{
bankIdSet=(Set)params.getObject("
CoreBaseInfo[]c=RptIvtClientUtil.getBaseInfoFromIdSet(bankIdSet);
this.jbpBank.setData(c);
currencyIdSet=(Set)params.getObject("
CoreBaseInfo[]cc=RptIvtClientUtil.getBaseInfoFromIdSet(currencyIdSet);
this.jbpCurrency.setData(cc);
}catch(Exceptione){
this.handUIException(e);
}
2.SqlParams的使用
3.与PreparedStatement使用方法类似,较之更简洁方便。
作为SQL执行接口的参数。
4.调试用:
SqlParams.sql(…)即可得到完整(不带?
参数)的sql。
第7章相关资源
7.1其它资源
1.VSS:
\\192.168.16.5$/2EASV5.1/7控件/7.1报表服务开发项目/用户手册/BI
2.MDX测试环境:
MDX查询分析器
7.2商业分析组
EAS产品事业部->
技术平台部->
控件开发部->
商业分析组,分机:
8019。
成员:
林志贤、郑政芳、郑学明。
欢迎任何形式的交流。
修订记录
作者
时间
说明
郑政芳
2006-03-21
初稿
2006-06-20
增加分析图形
2006-12-01
增加对多语言的支持
2007-05-16
增加对权限的支持
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EAS 分析 报表 框架 手册