报表开发介绍

报表系统

我们有两套报表系统可以提供报表设计和打印服务:

  1. Report Builder
    这个是一代的报表系统,系统中的一些通用的报表可以继续使用这个系统进行维护,以前的系统基本都是用这个。RP的特点是简单,报表代码以XML的形式保存在".REP"文件中,开发中随时打印测试预览。也正因为它简单,对于一些复杂的报表,开发起来就显得力不从心,需要很高的技巧才能搞定。
  2. Ghost Draft
    这个是新引进的第三方提供的报表系统,全新的设计理念让Report, Model和Data Source相互独立,具有较高的灵活性和可设计性,同时让多人协作也成为可能。这里说的报表系统不只是简单的可以导出到Excel文件中的那种,我们需要输出各种各样的电子文档,下面的就是一个在完全空白的PDF上输出的文档示例:


Report Builder

这里我将主要介绍这个报表系统,想从一些简单的报表入手。

  1. Report Builder的安装
    这个是绿色的,解压即可,但是需要用MP_Report_Builder.old改名为exe后替换目录下的MP_Report_Builder.exe

  2. 配置

    1. setup.ini 配置数据库连接信息
    2. 注册表文件,同时数据库和邮箱的信息还保存在注册表中,打开一个现有的REG文件修改执行就可以了
  3. 注册
    第一次打开可能需要注册,输入你的max邮箱账号信息就可以了

  4. 更新
    打开时如果提示更新,就点击更新,若果报错就试几次,一般都没问题

  5. 常见问题 - 打开后不显示界面
    这个是因为如果文件是拷贝的,配置文件中可能保留了之前主窗口在桌面上的位置,看不见是因为显示到你的桌面之外去了。只需要打开MP_Report_Builder.ini,修改一下top和left就搞定了

  6. 帮助文档
    根目录下面有详细的文档

    1. visual_report_builder_manual.pdf
    2. Visual_Report_Builder.chm

软件界面介绍



报表开发简介

这里选择OIC系统下的一个Report演示讲解报表的开发过程

C:\MTStingray_oih\oih\reports\comm\rateworksheet.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>


其他文章

一些特殊情况的处理经验:REP report开发技巧

posted @ 2017-03-02 16:59 by Mark
posted @ 2017-03-02 16:59  CooMark  阅读(5555)  评论(0编辑  收藏  举报