報表開發介紹


報表系統

我們有兩套報表系統可以提供報表設計和打印服務:

  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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM