跳轉到

程式資訊

  • 程式 ID_RPTDAT
  • 所屬子系統:A.系統資料
  • 狀態:stable

報表參數設定

功能簡介

「報表參數設定」是系統的報表登錄主檔。系統內每一支單據或查詢表單上方的列印工具列(預覽列印EmailExcel)所列出的報表清單,全部來自這張主檔。

每登錄一筆,就等於把一份 FastReport 報表檔(.frx)或 Excel 樣板,掛到某一支程式(單據別)底下,並指定它的抬頭、紙張尺寸、語言版本、資料來源表(SQLite)與顯示順序。當使用者在該表單按列印時,系統會依單據別撈出這支表單的所有報表,過濾掉不顯示的、依排序排列後呈現給使用者挑選。

這支功能主要由系統管理員/導入顧問使用,屬於系統建置與報表客製的範疇,一般操作人員不會進到這個畫面。它在流程中的位置是「報表的源頭設定」——先在這裡登錄,報表才會在各表單的列印工具列出現。

與報表檔本身的關係

本主檔只登錄報表的參數與掛載關係,不是報表的版面設計。版面(欄位位置、字型、線條)在 .frx 檔內,由 FastReport 設計器維護;本頁的報表名稱欄位就是指向那個 .frx 檔。

前置需求

  • 權限:A.系統管理 → A-060 報表參數設定 的瀏覽與修改權限。
  • 前置資料:登錄前要先準備好下列項目,本主檔只是把它們「對應起來」——
資料 影響什麼
FastReport 報表檔(.frx 報表名稱報表位置 要指向實際存在的報表檔,否則列印時找不到檔案
目標程式的單據別(ProgramClass) 單據別 決定這份報表掛在哪一支表單的列印工具列;填錯就不會出現在對的表單
報表資料來源 SQLite 表名 sqlite 是列印前把畫面資料倒進去給報表讀的暫存表名,要與報表設計使用的資料表一致
語言版本設定 語言版本 在新增時自動帶入登入者語言;用來區分同一份報表的中/英文登錄
報表插件(選用) 走插件產生的報表才需要填 插件名稱

操作步驟

本表單是標準的單筆維護畫面(master 維護),透過上方工具列的 新增修改刪除儲存 操作。

  1. 從主選單開啟 A.系統管理 → 報表參數設定
  2. 點選工具列 新增

    小技巧

    新增時系統會自動把 語言版本 帶成目前登入者的語言版本(見欄位連動與附加功能),不必手動選。

  3. 填寫報表的基本資料:

    1. 報表編號:這份報表的代號(主鍵欄位,畫面上會聚焦在此欄)。
    2. 單據別:要把這份報表掛上去的程式 ProgramClass。
    3. 報表名稱:對應的 .frx 報表檔名稱。
    4. 報表抬頭:這份報表在列印工具列清單上顯示的選項標籤。
  4. 視報表需要補上其餘欄位(報表位置sqlite插件名稱註腳國家區域報表尺寸報表用途excel檔名報表分類排序 等,詳見欄位說明)。

  5. 設定 可顯示,這份報表才會出現在目標表單的列印清單;是否為遠端 視部署環境設定。
  6. 點選 儲存

    小技巧

    可用 Ctrl+S 快速儲存。

  7. 要修改既有報表設定時,先查出該筆資料、按 修改、改完再 儲存;要移除報表掛載則按 刪除

報表參數設定畫面

設定立即生效但需重載

本主檔的內容會在各表單開啟列印工具列時被讀取(依單據別撈取)。改完設定後,請重新進入目標表單或重新整理其列印清單,新設定才會反映出來。

欄位說明

欄位 必填 說明/格式/預設
報表編號 報表代號,畫面主鍵欄位(新增時游標自動聚焦於此)。長度上限 10。
語言版本 報表語言版本。新增時自動帶入登入者的語言版本;以下拉選擇(語言下拉控件)。
單據別 這份報表掛載的程式 ProgramClass(DB 欄位即名為 ProgramClass)。決定報表出現在哪一支表單的列印清單。長度上限 60。
報表名稱 對應的 FastReport .frx 報表檔名稱;列印時據此找檔。長度上限 80。
報表抬頭 顯示在列印工具列報表清單上的選項標籤(清單以「序號.報表抬頭」呈現),方便辨識要列印哪一份。長度上限 80。
報表位置 報表檔存放位置的備註欄位。實際載入 .frx 是依 報表名稱 從系統報表目錄取檔,本欄目前不參與檔案定位,僅供記錄/參考。長度上限 250。
sqlite 列印前把畫面資料匯出到 SQLite 的暫存表名,供報表讀取。長度上限 60。
插件名稱 若報表由報表插件產生,填插件名稱。長度上限 60。
註腳 印在報表頁尾的簽字註腳文字(對應報表的 Footer 參數)。文字中的 #P# 會自動代換成列印者帳號。長度上限 100。
國家區域 下拉選 USTW。長度上限 2。
報表尺寸 下拉選 LetterA4A5中一刀。選 中一刀 時列印走支票紙張的處理(見下節)。長度上限 20。
可顯示 是/否。設 (Y)這份報表才會出現在目標表單的列印清單。
是否為遠端 是/否。標示報表是否為遠端報表。
報表用途 報表用途說明文字。長度上限 60。
excel檔名 走插件式 Excel 樣板匯出時,所使用的 Excel 樣板檔名(系統會把此樣板複製出來填值)。一般 .frx 報表的 Excel 匯出不需填此欄。長度上限 80。
報表分類 報表分類;值為 支票套表 時系統視為支票類報表。長度上限 30。
排序 同一支表單下多份報表的顯示順序,數字小者在前。長度上限 120。

預設值來源

上述欄位的字串預設值在新增時皆為空字串語言版本 則由系統依登入者語言自動帶入。除「報表尺寸」與「國家區域」是固定清單下拉外,其餘文字欄位皆為自由輸入。

欄位連動與附加功能

這一節說明「輸入或設定某欄位後,系統在列印當下會怎麼用它」。本主檔本身的畫面互動很單純(單筆維護),真正的連動發生在各表單的列印工具列讀取本主檔時

新增時的自動帶值

  • 當你按 新增,系統會在 AfterAddNew 時把新資料的 語言版本 設成目前登入者的語言版本Context.User.Language)。也就是說中文使用者新增的報表預設掛在中文語言版本,不需手動選。

下拉欄位的固定選項

  • 國家區域 下拉只有 USTW 兩個選項(來源 FastReportExtension.GetRegionSource)。
  • 報表尺寸 下拉只有 LetterA4A5中一刀 四個選項(來源 FastReportExtension.GetSizeSource)。
  • 可顯示是否為遠端 皆為「是/否」下拉。

各表單列印工具列怎麼用這些設定

當使用者在某支表單按 列印預覽EmailExcel,列印工具列會做以下動作,每一步都對應本主檔的某個欄位:

  1. 依單據別撈報表:系統用該表單的 ProgramClass 去比對本主檔的 單據別,撈出所有屬於這支表單的報表。所以單據別填錯,報表就不會出現在對的表單
  2. 過濾不顯示的:只保留 可顯示Y 的報表;可顯示N 的不會列在使用者可選清單中。
  3. 依排序排列:清單按 排序 由小到大排列(OrderBy)。
  4. 清單顯示名稱:使用者在工具列看到的可選報表名稱,是「序號.報表抬頭」(DisplayReportTitle)。所以 報表抬頭 是清單上的選項標籤,方便使用者辨識要印哪一份。
  5. 載入報表檔:用 報表名稱(必要時搭配 報表位置)找到 .frx 報表檔載入。
  6. 倒入資料:列印前把畫面資料匯出到以 sqlite 為名的暫存表,報表再從這張表讀資料。
  7. 頁尾註腳:把 註腳 設成報表的 Footer 參數印在頁尾;註腳文字中的 #P# 會被代換成列印者帳號。
  8. 紙張處理:當 報表尺寸中一刀IsHalfLetter)時,列印會套用支票/半張紙的印表機設定,並在列印時跳出列印對話框(HalfLetterHelper)讓使用者選印表機與紙匣;其餘尺寸走一般列印。
  9. Excel 匯出:按 Excel 時,系統以 報表名稱 產生暫存 Excel 檔(.frx 轉 Excel)並開啟。若報表走插件式 Excel 樣板匯出,則以 excel檔名 指定的樣板檔為底。
  10. 支票判定報表分類支票套表IsCheck)時,系統會把對應 報表名稱 的報表當成支票類報表處理。

語言版本的用途

語言版本 在按 新增 時自動帶成登入者的語言(見上方「新增時的自動帶值」),用來標記這筆登錄屬於哪個語言版本。若同一份報表要分中、英文兩種登錄,建議各登一筆並把語言版本分別設定。(目前列印清單的撈取是依 單據別 比對,並未再以語言版本過濾,因此語言版本主要作為登錄上的標記。)

本表單沒有附加的轉傳票/簽核/附件功能

本程式是純設定主檔(ERPProgramViewModel + IAdd),沒有轉傳票、沖帳、簽核工作流程、附件或 Excel 匯入等延伸功能。其相關欄位(如審核人員、審核日期、工作流程)為系統共用欄位,於本主檔不對使用者開放操作。

常見問題

我登錄了報表,為什麼目標表單的列印清單裡看不到?

最常見的兩個原因:(1) 可顯示 沒設成 (Y)——只有 可顯示=Y 的報表才會列出;(2) 單據別 填錯,沒對到該表單的 ProgramClass。請確認這兩欄正確,並重新開啟目標表單讓它重撈報表清單。

報表出現在清單裡,但按列印時跳出「找不到檔案」?

系統是依 報表名稱 到報表目錄找對應的 .frx 檔。這代表該名稱的報表檔實際上不存在或尚未部署。請確認 .frx 已放到系統報表目錄,且檔名與本主檔的 報表名稱 完全一致。

列印出來的報表沒有資料(空白)?

報表的資料來自以 sqlite 欄位指定名稱的暫存表。若這個表名與報表設計時所讀的資料表不一致,報表就讀不到資料。請核對 sqlite 欄位與報表內設定的資料來源表名是否相同。

新增時語言版本要自己選嗎?

不用。系統會在新增當下自動帶入你目前登入的語言版本。若要登錄另一種語言版本的報表,再用下拉手動切換即可。

報表尺寸的「中一刀」是什麼?什麼時候要選?

中一刀 用於支票等半張紙的套印。選此尺寸時,列印會改走支票紙張的列印對話框讓你指定印表機與紙匣。一般 A4/A5 報表選對應尺寸即可,不要誤選 中一刀

相關功能


需補截圖清單

以下截圖待 runtime 驗收後補拍(放 docs/A-System/images/):

  1. _rptdat-step3.png — 報表參數設定主畫面(含報表編號、單據別、報表名稱、報表尺寸下拉等欄位)