U研发体系自定义报表开发手册.docx
《U研发体系自定义报表开发手册.docx》由会员分享,可在线阅读,更多相关《U研发体系自定义报表开发手册.docx(124页珍藏版)》请在冰豆网上搜索。
U研发体系自定义报表开发手册
U9研发体系(自定义报表开发手册)
文件编号:
U9-SE-UBF-SPEC-REPORT
版本号:
修改状态:
0
编写人:
郭玉平(二开总部)
审核人:
刘小东
适用对象
该规范适用于U9实施顾问二次开发人员。
版本记录
【此部分要记录该文档形成过程中的历次版本变更过程及变更的内容】
版本
修改与参与人
修改时间
修改原因
修改概述
审批人
1.0
郭玉平
2008-07-15
原始文档建立
刘小东
相关文档
U9研发体系(报表开发手册)
U9研发体系(报表开发规范)
名词解释
手册前3章介绍报表开发准备工作。
从第4章到第10章介绍了报表《XX月生产计划与实绩统计》实际开发流程,在流程中的每个步骤中介绍了使用UBF平台开发报表所涉及到的知识点。
第11章是一些知识点的详细介绍。
第1章开发基础篇--U9系统的环境配置
1.1系统环境
1.1.1Window2003标准版、企业版
操作系统安装过程。
1.1.2Microsoft.netFrameworkV3.0
一个安装包,执行安装即可。
1.1.3IIS6.0
IIS6.0的安装位置在:
添加或删除程序/添加删除Windows组件/应用程序服务器/详细信息/Internet信息服务(IIS)。
按照下图红色数字顺序,安装IIS6.0。
点击【确定】、【下一步】后,系统提示插入操作系统光盘,可以插入系统光盘,如果没有系统光盘,可以定位到操作系统文件夹的i386文件夹。
1.1.4IE7.0
一个安装包,执行安装即可。
1.1.5MSSQLServer2005
SQLServer安装过程中,安装到步骤“要安装的组件”时,请注意:
单击上图中的【高级】,打开下图:
对需要安装的组件“数据库服务”、“ReportingServices”请选择“整个功能将安装到本地硬盘上”。
数据库、报表服务安装前请先浏览以下资料:
《SQLServer联机丛书》(帮助文档)
1、安装SQLServer2005
ms-help:
//MS.SQLCC.v9/MS.SQLSVR.v9.zh-CHS/instsql9/html/3c580cdd-1a4b-40b1-bf6b-3c1ee31ee1be.htm
2、安装SQLServer组件帮助主题
ms-help:
//MS.SQLCC.v9/MS.SQLSVR.v9.zh-CHS/instsql9/html/b920fba6-9822-4db7-a84d-7bc306004b8c.htm
3、ReportingServices安装帮助主题
ms-help:
//MS.SQLCC.v9/MS.SQLSVR.v9.zh-CHS/instsql9/html/bba36555-7ad7-4a17-ac3e-dd092d62372c.htm
4、报表服务ReportServe的详细配置介绍请参考《报表服务配置.ppt》。
1.2开发环境
开发必备软件
请先安装下列软件并正确的配置UBFStudio的配置文件才能使用UBFStudio:
⏹Window2003标准版。
⏹Microsoft.netFrameworkV3.0。
系统需要安装MFrameworkV3.0。
一定要注意Framework的版本,只有版本匹配UBFStudioV2.0才能正常运行。
小技巧:
由于Framework2.0和3.0可以共存,如果UBFStudioV2.0不能正常运行,可以考虑检查一下当前启用的Framework版本。
⏹MSSQLServer2005(可选)
如果使用本地数据库,则需要安装SQLServer2005;否则可以使用统一的数据库服务器而无需在本机安装。
⏹版本管理工具(可选)
如果需要使用UBFStudioV2.0进行团队开发,则需要安装相应的版本管理工具。
UBFStudioV2.0支持的版本管理工具有MSVisualSourceSafeV6.0(或更高版本),以及IBMRationalClearCase2003及以下版本。
安装配置好版本管理工具的服务端以后,在安装UBFStudio的机器上需要安装版本管理工具的客户端。
如果本地运行Portal,还需要安装以下软件:
⏹IIS6.0
⏹SqlServerReportingServices
提供报表服务。
⏹IE7.0
U9客户使用,浏览器版本要求是IE7.0及以上。
1.3运行时环境
1.3.1需要运行两个服务
Portal\SysManageServer\ServiceHostingConsole.exe。
Portal\ApplicationServer\ServiceHostingConsole.exe。
1.3.2设置IIS中的站点
⏹必需的两个站点:
✧Portal:
U9的portal,U9产品的入口。
Portal站点的对应的本地路径是U9产品中的文件夹U9Product\U9.VOB.Product.U9\Portal,如果没有此站点,请创建。
✧ReportServer:
报表服务站点。
SqlSserver2005安装时如果选择安装报表服务,安装程序会创建此站点,如果没有安装报表服务功能,请安装。
自定义报表开发后,需要把自定义报表的DataCommand部署到此站点下。
⏹站点权限设置
请设置Portal、ReportServer站点的访问权限。
设置步骤按照下图标注的红色顺序号1234,第1步需在站点名称上单击右键,
第4步:
用户名中填写的用户帐号需要对站点中的文件有完全访问权限。
设置后确定。
报表服务ReportServe的详细配置介绍请参考《报表服务配置.ppt》。
1.3.3配置U9站点、企业
打开系统管理工具Portal\ClientSystemManage\UFIDA.UBF.SystemManage.exe
登录:
⏹系统管理工具
系统管理工具是管理企业和系统监控的工具。
U9的系统管理工具包括两部分,有系统管理工具和数据管理工具。
这些功能用来对U9进行分布式部署和运行期的监控,该工具部署在控制服务器上。
系统管理工具功能结构图:
系统管理工具可以做很多管理工作,我们只需关注以下两点:
⏹配置U9站点:
按照下图红色数字顺序,配置数据库服务器。
同配置数据库服务器类似配置Web服务器。
⏹配置企业
按照下图红色数字顺序,配置企业。
一个企业实际是一个数据库,配置企业的过程就是用系统管理工具恢复数据库的过程,需要注意的是数据库中需要一个CLR配置文件,CLR是dll文件,与数据库备份文件bak同时管理,U9系统中对数据库的访问有的是通过CLR配置文件实现。
配置完站点、企业后,请重启:
✧IIS:
iisreset
✧Portal\SysManageServer\ServiceHostingConsole.exe
✧Portal\ApplicationServer\ServiceHostingConsole.exe
系统管理工具的详细手册请参考帮助文档,位置如下图所示:
1.4数据库的导出、导入
U9中每个公司对应一个数据库,产品的运行需要先创建数据库,但是自定义报表开发的过程中需要一些数据,所以直接导入一个有数据的数据库对开发报表、代码调试方便。
1.4.1数据库导出
数据库导出、导入工具是“用友__数据管理工具”。
位置:
\\Product\Portal\ClientSystemManage\UFIDA.UBF.SystemManage.DataManageTool.exe,初始密码:
123456
单击确认后,再单击“系统工具/数据管理”进入如下界面:
单击企业数据维护下的数据备份
单击上图企业数据维护下的数据备份进入界面:
单击
单击目标按钮
选择bak文件或选择目录填写bak文件名,单击确定回到前面页面,并单击页面选项:
单击
单击
根据需要选择追加到现有备份集或者覆盖所有现有备份集,
单击确认进行数据备份生成.BAK。
1.4.2数据导入
数据库的导入还原有两种途径:
1、使用“用友__数据管理工具”还原。
2、使用“用友__系统管理工具”还原。
1.4.2.1.使用“用友__数据管理工具”还原
使用“用友__数据管理工具”还原,方法如下:
企业数据维护下的数据还原,进入如下界面:
单击选择原文件BAK
单击源文件按钮,进入选择后缀为bak的文件页面
单击选择CLR配置按钮,进入选择UFIDA.u9.SQL.CLRlib.dll文件
单击确定
选中
将还原checkbox框选中,单击确认进入如下界面
选择.mdf与.ldf文件后,单击确认进行数据库恢复
1.4.2.2.使用“用友__系统管理工具”还原
“系统管理工具”
位置:
Portal\ClientSystemManage\UFIDA.UBF.SystemManage.exe
登录:
初始密码:
123456
单击企业管理
单击右边企业管理中的新增按钮
单击“基本信息设置”数据库――创建,打开创建界面:
创建数据库填写信息:
1、“数据库”(标识1)需要填写创建的数据库名称。
2、“数据文件”(标识2)是创建的数据库的数据文件,单击
选择数据文件的存储位置,如:
D:
\DB\,后面的“\U9ERP_JDF.mdf”是工具自动添加上的。
3“日志文件”(标识3)是创建的数据库的日志文件,单击
选择日志文件的存储位置,如:
D:
\DB\,后面的“\U9ERP_JDF_log.ldf”是工具自动添加上的。
4、“CLR配置”(标识4)是数据库使用的DLL文件,一般情况是与备份文件(标识5)一块保存。
5、“备份文件”(标识5)是数据库导出的备份文件。
6、“还原checkbox”(标识6):
请注意不要忘记选择。
填写完成后,单击【创建】。
1.5模板的导入、导出
自定义报表模板的导入导出是利用UBF平台的报表模型元数据管理工具。
报表模型元数据管理工具的位置比较隐蔽,需要按照以下步骤找到打开。
1.5.1配置IDEConfig
设置UBF\UBFStudio\IDEConfig.xml文件中的Options节RuntimeForReportDesigner属性为false,即:
。
1.5.2新建解决方案
1.5.3建分析项目
方案类型必须是分析项目,如下图:
1.5.4打开模型元数据管理
上面界面点击确定后,就会出现一个报表开发界面,暂时不要关注其他信息,请打开菜单报表/模型元数据管理,操作过程如下图:
1.5.5连接报表元数据库
操作过程如下图:
报表元数据库连接后
1.5.6模板导入、导出
单击选择报表目录、报表容器或报表模板,右键单击打开菜单,选择导出、导入命令,操作过程如下图:
导出界面:
导入界面:
模板的导出、导入使用场景一般是:
✧在从开发环境导出,导入到测试环境或导入到正式生产环境。
✧从一个开发人员的机器导出,导入到另外一个开发人员的机器,模板交流使用。
1.6报表服务器的配置
1.6.1安装运行SqlServerReportingServices
请查看提供报表服务的机器是否已经安装SqlServerReportingServices,因为自定义报表最终要调用sqlserver的报表服务(SqlServerReportingServices)实现。
如果未安装,请先按安装。
1.6.2配置报表服务站点ReportServer
配置报表服务站点ReportServer,配置过程请参考设置IIS中的站点。
1.6.3部署自定义报表的DataCommand
复制自定义报表的DataCommand到文件夹:
U9.VOB.Product.U9\ReportServer\ReportServerLib
运行报表服务器配置工具,界面如下图
位置:
U9.VOB.Product.U9\ReportServer\Tool\ReportServerSetting-Winform\ReportServerSetting-Winform.exe
配置介绍:
1、U9门户安装目录:
是指Portal站点的“本地路径”。
2、报表服务Dll目录:
是指U9.VOB.Product.U9\ReportServer\ReportServerLib,
注意:
当前运行的报表服务配置工具的目录是U9.VOB.Product.U9\ReportServer\Tool\ReportServerSetting-Winform\
注意二者关系。
3、报表服务安装目录:
是指SqlServerReportingServices安装目录,
安装时如果选择默认,是:
C:
\ProgramFiles\MicrosoftSQLServer\MSSQL.3\ReportingServices\ReportServer
4、报表服务目录
安装时如果选择默认,是:
C:
\ProgramFiles\MicrosoftSQLServer\MSSQL.3\ReportingServices\ReportServer
与3相同。
5、报表服务URL:
是报表ReportServer站点的位置。
请参考“2.3.3配置U9站点、企业”。
设置好后,单击配置。
此配置过程就是把DataCommand的dll部署到报表服务的ReportServer\bin文件夹下,
并且修改ReportingServices\ReportServer\rssrvpolicy.config文件的配置。
配置完站点、企业后,请重启:
✧IIS:
iisreset
✧Portal\SysManageServer\ServiceHostingConsole.exe
✧Portal\ApplicationServer\ServiceHostingConsole.exe
第2章报表开发环境
2.1UBF介绍
报表开发是UBF开发平台的一个子模块,先了解一下UBF平台。
UBF(UfidaBusinessFramework)开发平台:
采用元数据驱动的、分布式的、面向服务的架构,它提供了统一的编程抽象模型,是一个适合应用软件开发及部署的全角色平台。
UBFStudio是一套完整的基于模型驱动开发的可视化开发工具,用于建立企业应用产品业务分析模型。
UBFStudio开发工具包中包含业务模型开发工具、用户交互界面开发工具、流程设计开发工具、报表设计工具、打印风格格式设计器、规则开发工具、商业智能元模型开发工具等,全部集成在集成开发环境中(IDE),该环境允许用户在其中完成全部应用开发的关键工作。
UBFStudio可以和VSS和CC联合起来以支持大规模团队的离散式开发。
如需详细了解UBF的使用,请参考《UBF2.0使用手册(环境搭建).doc》、《UBF2.0使用手册(简介).doc》、《UBF2.0使用手册(使用).doc》。
2.2报表开发环境
自定义报表开发是在UBF平台上进行的U9相关报表的开发工作。
自定义报表开发主要包括三部分内容:
报表模板开发、报表数据源选择、报表业务逻辑编写。
报表模板开发:
是利用UBF开发平台中的报表开发功能实现。
报表数据源选择:
是利用UBF开发平台中的DataCommand生成工具找到业务逻辑所涉及到的实体,选择出所需实体、所需属性作为报表的数据源。
生成工具会创建一个项目,项目中的文件保存着数据源的信息。
报表业务逻辑编写:
主要是在生成的数据源项目中的ProcessData()方法中添加所需业务逻辑。
报表模板是一个XML文件集,存储在数据库中。
DataCommand生成工具生成的项目,其中包含数据源信息文件,业务逻辑方法,就统称为DataCommand。
DataCommand是一个有固定文件结构、代码结构的VisualStudio2005的项目,可用VisualStudio2005编写、编译。
报表模板是报表的展示模板。
DataCommand是报表展示的内容。
对报表的总体介绍请参考《A04用友技术大会UAP_U9报表_070606.ppt》。
2.3报表开发环境参数配置
2.3.1UBF环境设置
设置UBF\UBFStudio\IDEConfig.xml文件中的Options节RuntimeForReportDesigner属性为
。
,UBF开发自定义报表项目。
,UBF可以开发其他项目,详细资料请参考《UBF2.0使用手册(使用).doc》。
2.3.2UBF连接到数据库
因为开发中使用的报表模板文件、实体模型等相关信息都是存储在数据库中,做自定义报表开发的前提是把UBF环境连接的到一个存储着模板文件、实体模型等信息的数据库上。
这个数据库就是U9中的公司对应的数据库。
打开UBFStudioV2.0的安装目录中的UBF\UBFStudio\Runtime\environment.xml文件,编辑environment.xml文件修改数据库配置。
该配置文件中有关数据库连接的内容示例如下:
packetsize=4096;
userid=u9test;
ConnectionTimeout=150;
MaxPoolsize=1500;
datasource=u9ubfdb;
persistsecurityinfo=True;
initialcatalog=u9test;
password=u9test
其主要配置项的含义如下:
✧datasource=u9ubfdb:
表示数据库的服务器名
✧initialcatalog=u9test:
表明数据库名
✧userid=u9test:
表示数据库的用户名
✧password=u9test:
指明登录密码
请根据所使用数据库的具体情况配置。
2.3.3启动两个服务
1、Portal\SysManageServer\ServiceHostingConsole.exe
2、Portal\ApplicationServer\ServiceHostingConsole.exe
这两个服务是UBF、Portal运行的基础,每次打开UBF或访问Portal都需要保证服务已经启动。
为方便创建快捷方式到桌面。
2.3.4运行UBFdevenv.exe
运行UBF\UBFStudio\UBFdevenv.exe
运行后
2.3.5登录数据库服务器
点击登录菜单
登录界面
一个企业对应一个数据库。
组织是企业下的组织,在同一个数据库中。
详细信息在2.1节中介绍。
用户、密码U9中用户、密码,不是sqlserver的“登录名”以及对应密码。
用户、密码可以为空。
2.3.6连接报表元数据库
单击报表资源管理中的连接,点击报表元数据库
报表元数据库打开后,系统报表、用户自定义报表显示如下图:
我们以后所开发的自定义报表都属于用户定义报表。
到此,开发环境配置完成。
第3章报表开发基础
3.1.1实体
从实际角度理解:
实体:
实际业务的基本单元在U9中称为实体。
简单实体可以理解为是数据库中的一张表的一条记录。
但是如果实体有些复杂,用一个表结构无法准确、完整描述,或者可以描述但是比较复杂,就需要设计多个表关联描述一个实体。
从程序角度理解:
实体:
实体就是一个对象。
对实体属性的读取、赋值类似于对程序中类对象的使用。
实体与数据库表记录间的关系:
可以理解为的对象、关系映射,即ORMapping,是模型层的一种处理对像的方式。
3.1.2OQL
OQL:
ObjectQueryLanguage是UBF中操作实体的语言,类似于sql,但比sql简单、方便。
具有以下特点:
1、ObjectQueryLanguage提供了一种基于对象的查询语言。
2、支持OPath语法风格的路径表达式。
3、支持属于多个Entity的多列。
4、OO风格指定列:
如OrderLine.Order.Customer.ContactName。
5、支持聚合函数,SQL99标准函数(基于Entity语义)。
6、支持列间表达式计算。
7、支持Group&Order&As(列别名)。
8、支持EntityView定义,可以在Query定义中使用已有的EntityView!
9、支持名空间的使用,支持中文。
10、引入from子句,可支持leftjoin,rightjoin,fulljoin,crossjoin。
11、在select,from,where子句中支持子查询。
12、用OQL别名指代OPath,使OQL的表达更加简洁。
13、UDF(UserDefinedFunction)的直接支持。
14、union,unionall。
15、临时表的支持。
16、OQL风格指南。
17、对C风格a?
b:
c条件表达式和CaseWhen表达式的支持。
18、对标准日期时间函数的支持。
19、对cast/convert类型转换函数的支持。
20、支持Update&Delete语句。
详细介绍请参考Oql的使用方法
3.1.3报表制作流程的简单介绍
3.1.3.1.DataCommand设计
新建一个空报表模板打开DataComand代码生成工具,应用设计器设计DataComand模型。
生成代码,添加业务逻辑。
3.1.3.2.报表模板设计
导入DataCommand生成缺省报表模板。
应用报表设计器设计报表模板。
3.1.3.3.报表模板发布
报表模板发布后,需要给帐号授权。
3.1.3.4.部署DataCommand的dll,策略的dll
DataCommand的dll是查询数据,策略是控制报表格式/数据处理的功能(调用报表元数据服务)。
第4章命名规范
4.1概论
报表的开发,涉及策略、业务编程、报表工具多个方面的设计。
为了保证报表开发模式的一致性,制定了该规范。
4.2ReportTemplate(报表模版)
解决方案命名规则
名称:
领域名称名称+RptTemplat