程式資訊
- 程式 ID:
SMEMSPRINT - 所屬子系統:B.基本資料
- 狀態:stable
摘要檔列印¶
功能簡介¶
「摘要檔列印」是 摘要檔(SMEMS)的列印伴隨頁。它本身不是一支獨立維護程式,而是從摘要檔工具列按 列印 時彈出的條件對話框,負責讓使用者指定要列印哪一段類別編號範圍的摘要碼字典,再交給報表引擎產生「摘要檔」報表(報表編號 B070-1)。
會用到這支的人,通常是維護完摘要碼字典後想印出一份紙本對照表的會計或基本資料維護人員——例如把某一類別(或一段類別)底下所有的摘要碼、摘要代號、對應科目代號、客廠部代號彙整成一張清單供存查或核對。
與母表單的關係
本頁與母表單 摘要檔 共用同一個業務領域,但各自有獨立的 ProgramClass(母表單為 SMEMS、本列印頁為 SMEMSPRINT)。實際的資料維護(新增類別、輸入摘要碼明細)請見 摘要檔;本頁只描述列印這個動作。
前置需求¶
- 權限:B.基本資料 →
B-070 摘要檔的瀏覽與列印權限。列印頁是從母表單開啟的,沒有母表單的進入權限就看不到列印鈕。 - 基礎資料:列印內容完全來自摘要檔已維護的資料,下列資料的維護狀況決定報表是否有東西可印——
| 資料 | 影響的結果 |
|---|---|
| 摘要檔類別(類別編號) | 列印範圍的起訖值;沒有類別就沒有可列印的資料 |
| 摘要碼明細(摘要碼、摘要代號、摘要、科目代號、客廠部代號等) | 報表內各列的實際內容 |
操作步驟¶
- 在 摘要檔 畫面先載入要列印的類別資料(畫面上有主檔記錄即可)。
- 按摘要檔工具列的
列印,系統彈出本「摘要檔列印」對話框。 - 此時 起始類別編號 與 截止類別編號 已自動帶入母表單第一筆主檔記錄的類別編號(起訖同值,等於預設先印第一類)。詳見欄位連動與附加功能。
- 視需要修改起訖範圍:
- 只印一類:起訖維持同一個類別編號。
- 印一段:把 起始類別編號 改成範圍最小值、截止類別編號 改成範圍最大值。
- 確認
Class Code(類別編號)這個列印條件已選取。 - 按
預覽或列印產生報表。選預覽會先在畫面上顯示報表內容,確認無誤後再實際送印。
小技巧
若只是想快速印出第一類,開啟對話框後什麼都不用改,直接按列印即可——起訖已經幫你帶成同一個類別編號。
欄位說明¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 列印條件(Class Code) | ✔ | 列印的篩選依據,固定為「類別編號」。程式內部以 Condition 表示,預設值為 DocumentNo(對應類別編號)。 |
| 起始類別編號 | ✔ | 列印範圍下限。最大長度 10 字。開窗時自動帶入母表單第一筆主檔記錄的類別編號。 |
| 截止類別編號 | ✔ | 列印範圍上限。最大長度 10 字。開窗時自動帶入與起始相同的值。 |
注意
起始類別編號 與 截止類別編號 兩者只要有一個是空白,系統就判定「沒有可列印的資料」(程式內 HaveReportData() 會回傳 false),按列印不會出報表。請確保兩個欄位都有值。
欄位連動與附加功能¶
這一節把「從摘要檔開啟列印、到實際送印」這條路徑上系統會自動做的事整理出來:
- 開窗自動帶入起訖類別編號:當你在摘要檔按
列印,母表單會抓主檔的第一筆記錄(程式以MasterData.FirstItem取得),把它的類別編號同時塞進 起始類別編號 與 截止類別編號(兩欄帶成同值)。所以對話框一打開,預設就是「只印第一類」。若母表單當下沒有任何記錄,兩欄會是空白,需手動輸入。 - 列印條件固定為類別編號:本頁只有一個列印維度——
Class Code(類別編號)。RadioButton 選取後對應的內部條件是DocumentNo,這也是預設選項,一般不需更動。 - 列印前的資料檢查:按列印時系統會先呼叫
HaveReportData()檢查起訖類別編號是否都有填;兩者皆有值才會繼續產生報表,否則視為無資料。 - 報表參數傳遞:實際送印時,系統把 起始類別編號、截止類別編號 兩個值當作報表參數(
BeginningDocumentNo/EndingDocumentNo)傳給報表引擎,報表據此撈出該範圍內的摘要碼明細。 - 報表清單:本頁固定提供一份報表——
| 報表編號 | 報表名稱 | 報表抬頭 | 區域 | 尺寸 |
|---|---|---|---|---|
B070-1 |
Smems | 摘要檔 | TW | A4 |
報表對應的資料來源為 `rpt_b070_smems_report1`。
目前僅支援類別編號範圍
本列印頁的篩選條件僅有「類別編號起訖」一種,沒有再依摘要碼、科目代號或其他維度過濾的選項。若需要更細的篩選,請在 摘要檔 內先檢視確認資料。
常見問題¶
按了列印卻沒有出任何報表?
最常見原因是 起始類別編號 或 截止類別編號 其中一欄是空白。系統規定兩欄都要有值才會產生報表(內部 HaveReportData() 檢查)。請確認兩個欄位都已填入類別編號。
起訖類別編號為什麼一開啟就自動帶值?我沒輸入。
這是設計上的便利功能。從摘要檔開啟列印時,系統會把母表單第一筆主檔記錄的類別編號同時帶進起始與截止兩欄,預設「只印第一類」。你可以自由改成想要的範圍。
我想一次印好幾個類別,要怎麼設?
把 起始類別編號 設為範圍中最小的類別編號、截止類別編號 設為最大的類別編號即可。報表會列印這段範圍內的所有摘要碼。
報表印出來是空的(有抬頭、沒有明細)?
代表你指定的類別編號範圍底下沒有維護任何摘要碼明細。請回 摘要檔 確認該類別下確實有輸入摘要碼資料。
相關功能¶
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/B-BasicData/images/):
smemsprint-step1.png— 從摘要檔工具列按「列印」開啟的條件對話框(顯示已自動帶入起訖類別編號)smemsprint-step2.png— 改成一段類別編號範圍後的對話框smemsprint-step3.png— 「摘要檔」報表(B070-1)預覽畫面