报表系统
我们有两套报表系统可以提供报表设计和打印服务:
- Report Builder
这个是一代的报表系统,系统中的一些通用的报表可以继续使用这个系统进行维护,以前的系统基本都是用这个。RP的特点是简单,报表代码以XML的形式保存在".REP"文件中,开发中随时打印测试预览。也正因为它简单,对于一些复杂的报表,开发起来就显得力不从心,需要很高的技巧才能搞定。 - Ghost Draft
这个是新引进的第三方提供的报表系统,全新的设计理念让Report, Model和Data Source相互独立,具有较高的灵活性和可设计性,同时让多人协作也成为可能。这里说的报表系统不只是简单的可以导出到Excel文件中的那种,我们需要输出各种各样的电子文档,下面的就是一个在完全空白的PDF上输出的文档示例:
Report Builder
这里我将主要介绍这个报表系统,想从一些简单的报表入手。
-
Report Builder的安装
这个是绿色的,解压即可,但是需要用MP_Report_Builder.old
改名为exe后替换目录下的MP_Report_Builder.exe
-
配置
- setup.ini 配置数据库连接信息
- 注册表文件,同时数据库和邮箱的信息还保存在注册表中,打开一个现有的REG文件修改执行就可以了
-
注册
第一次打开可能需要注册,输入你的max邮箱账号信息就可以了 -
更新
打开时如果提示更新,就点击更新,若果报错就试几次,一般都没问题
-
常见问题 - 打开后不显示界面
这个是因为如果文件是拷贝的,配置文件中可能保留了之前主窗口在桌面上的位置,看不见是因为显示到你的桌面之外去了。只需要打开MP_Report_Builder.ini
,修改一下top和left就搞定了 -
帮助文档
根目录下面有详细的文档- visual_report_builder_manual.pdf
- Visual_Report_Builder.chm
软件界面介绍
报表开发简介
这里选择OIC系统下的一个Report演示讲解报表的开发过程
C:MTStingray_oihoih eportscomm ateworksheet.rep
<DATA>
<PDF_PAGE_SETTING UsePageDefault="1" PageTop="30" PageLeft="20" RowHeight="20" RowCount="30" PageCase="NOCASE" DeleteBlankPage="1" />
<PDF_FIELD_FONT Font="4" Size="12" ColorR="0" ColorG="0" ColorB="0" />
<PDF_FIELD X="0" Y="40" Text="Rating Worksheet" />
<PDF_HEAD_FONT Font="8" Size="12" ColorR="0" ColorG="0" ColorB="0" />
<PDF_HEAD_FIELD X="0" Y="70" Text="Description" />
<PDF_HEAD_FIELD X="145" Y="70" Text="First Variable" />
<PDF_HEAD_FIELD X="270" Y="70" Text="Op." />
<PDF_HEAD_FIELD X="300" Y="70" Text="Second Variable" />
<PDF_HEAD_FIELD X="440" Y="70" Text="Result" />
<XLS_HEAD_FIELD Format="STRING" Text="Description" Width="50" />
<XLS_HEAD_FIELD Format="STRING" Text="First Variable" Width="50" />
<XLS_HEAD_FIELD Format="STRING" Text="Operation" Width="10" />
<XLS_HEAD_FIELD Format="STRING" Text="Second Variable" Width="50" />
<XLS_HEAD_FIELD Format="STRING" Text="Result" Width="50" />
<OPEN_QUERY Name="Main" Query="
select RW_FirstVar,
RW_FirstValue,
RW_Function,
RW_SecondVar,
RW_SecondValue,
RW_ResultVar,
RW_ResultValue,
Description = RW_Algorithm
from Rating_Worksheet as A with (nolock)
left join PolicyData as B with (nolock) on A.PQ_ID = B.PQ_ID
where A.PQ_ID = '#SRECID#' or
B.PD_ID = '#SRECID#'
order by A.RW_ID
" />
<BEGIN Name="Main" />
<PDF_FIELD_FONT Font="4" Size="8" ColorR="0" ColorG="0" ColorB="0" />
<PDF_FIELD Format="STRING" Text="#DMain.Description#" X="0" Y="90" />
<PDF_FIELD Format="STRING" Text="#DMain.RW_FirstVar# [#DMain.RW_FirstValue#]" X="145" Y="90" />
<PDF_FIELD Format="STRING" Align="RIGHT" Text="#DMain.RW_Function#" X="280" Y="90" />
<PDF_FIELD Format="STRING" Text="#DMain.RW_SecondVar# [#DMain.RW_SecondValue#]" X="300" Y="90" />
<PDF_FIELD Format="STRING" Text="#DMain.RW_ResultVar# = [#DMain.RW_ResultValue#]" X="440" Y="90" />
<XLS_FIELD Format="STRING" Text="#DMain.Description#" Width="50" />
<XLS_FIELD Format="STRING" Text="#DMain.RW_FirstVar# [#DMain.RW_FirstValue#]" Width="50" />
<XLS_FIELD Format="STRING" Text="#DMain.RW_Function#" Width="10" />
<XLS_FIELD Format="STRING" Text="#DMain.RW_SecondVar# [#DMain.RW_SecondValue#]" Width="50" />
<XLS_FIELD Format="STRING" Text="#DMain.RW_ResultVar# = [#DMain.RW_ResultValue#]" Width="50" />
<INC_ROW/>
<END GoTo="Main" />
<CLOSE_QUERY Name="Main" />
</DATA>
其他文章
posted @ 2017-03-02 16:59 by Mark