程式資訊
- 程式 ID:
Abook1PrintControlPart - 所屬子系統:N.總帳管理
- 狀態:stable
明細分類帳列印控制¶
功能簡介¶
「明細分類帳列印控制」是明細分類帳(程式代號 ABOOK1、N-080)的列印控制面板,並不是一支獨立的程式。它透過 IPrintControl 介面嵌在明細分類帳查詢畫面的列印區,提供兩個列印前的選項——報表幣別與報表顯示索引——讓使用者在按 列印 之前,決定帳冊上要印哪一種幣別的金額、以及最右側那一欄要顯示哪一種分類資訊。
由於它與明細分類帳共用同一個 ProgramClass(ABOOK1)、同一份查詢參數,完整的查詢條件、查詢動作與欄位說明請見母表單頁明細分類帳;本頁只聚焦在「列印控制面板上這兩個選項各自的作用」與「可選的報表清單」。
兩個名稱、同一支程式
本頁(Abook1PrintControlPart)與明細分類帳是同一支程式的兩個部分:明細分類帳負責查詢與畫面顯示,列印控制面板負責列印前的幣別/索引選項。兩者的 ProgramClass 都是 ABOOK1,不需要、也不會有獨立的選單入口。
前置需求¶
- 權限:N.總帳 →
N-080 明細分類帳的瀏覽與列印權限(與母表單共用,沒有獨立權限)。 - 基礎資料:列印控制面板本身不需要額外主檔,但報表內容取決於母表單查詢出來的資料——
| 資料 | 影響的結果 |
|---|---|
| 當期傳票(已過帳的總帳明細) | 報表的明細列、借貸金額、餘額 |
| 多幣別傳票(原幣/本幣/功能幣/集團幣金額) | 報表幣別可切換的幣別欄位是否有值 |
| 部門代號、客戶廠商代號、分類索引 | 報表顯示索引切換後最右側欄位是否有內容 |
| 科目名稱 | 報表目錄與分頁標題(科目名稱不足 30 字會補滿) |
操作步驟¶
列印控制面板沒有自己的查詢按鈕,操作依附在母表單的查詢流程之後:
- 先在明細分類帳設定查詢條件(日期、科目代號區間、傳票種類等)並按
查詢,確認左側主列表已帶出資料。 - 在列印控制面板的 報表幣別 下拉選單選擇要列印的幣別:
功能幣/本幣/原幣/集團幣(預設功能幣)。 - 在 報表顯示索引 下拉選單選擇報表最右側欄位要顯示的分類:
分類索引/部門代號/客戶廠商代號(預設客戶廠商代號)。 - 按工具列的
列印,在報表選擇視窗挑一份報表格式後進入預覽。 - 確認版面無誤後送印。
小技巧
改了 報表幣別 或 報表顯示索引 後不必重新查詢,直接再按一次 列印 即可——這兩個選項只在產生報表資料的當下套用,不影響畫面上已查出的明細。
欄位說明¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 報表幣別 | — | 決定報表借方/貸方/餘額三欄取用哪一種幣別的金額。選項:功能幣/本幣/原幣/集團幣。預設 功能幣(Abook1CurrencyType.FunctionalCurrency)。 |
| 報表顯示索引 | — | 決定報表最右側索引欄要顯示哪一種分類資訊。選項:分類索引/部門代號/客戶廠商代號。預設 客戶廠商代號(Abook1IndexType.CustomerVendorCode)。 |
預設值來源
兩個選項的預設值來自查詢參數 Abook1QueryParameters 的初始化(Abook1CurrencyType = FunctionalCurrency、Abook1IndexType = CustomerVendorCode)。下拉選單的中文文字依使用者語言由 DisplayNameService 對照取得,因此不同語系環境會顯示對應翻譯。
欄位連動與附加功能¶
這一節說明「選了某個選項後,列印出來會有什麼不同」。兩個選項都不影響畫面,只在產生報表資料(CreateReportSource)時生效。
報表幣別 → 借方/貸方/餘額三欄¶
當你切換 報表幣別,系統會在組報表時改用對應幣別的金額,同時連動換掉借方/貸方欄位的抬頭文字:
- 選
功能幣→ 借方取「借方金額」、貸方取「貸方金額」、餘額取「功能幣餘額」;欄位抬頭顯示「借方金額/貸方金額」。 - 選
本幣→ 借方取「本借方金額」、貸方取「本貸方金額」、餘額取「本幣餘額」;欄位抬頭顯示「本幣借方/本幣貸方」。 - 選
原幣→ 借方取「原借方金額」、貸方取「原貸方金額」、餘額取「原幣餘額」;欄位抬頭顯示「原幣借方/原幣貸方」。 - 選
集團幣→ 借方取「集借方金額」、貸方取「集貸方金額」、餘額取「集團幣餘額」;欄位抬頭顯示「集團幣借方/集團幣貸方」。
原幣與多幣別前提
只有當傳票本身是外幣分錄、且各幣別金額都有換算寫入時,切到 原幣/集團幣 才會有非零金額。純本幣分錄切到 原幣 時,金額會與本幣相同或為 0,屬正常現象。
報表顯示索引 → 報表最右側索引欄¶
當你切換 報表顯示索引,系統會改變報表索引欄的取值與抬頭:
- 選
分類索引→ 顯示明細的「分類索引1」,抬頭為「分類索引」。 - 選
部門代號→ 顯示明細的「部門代號」,抬頭為「部門代號」。 - 選
客戶廠商代號→ 顯示明細的「客廠代號」,抬頭為「客戶廠商代號」。
索引欄空白的情形
若傳票分錄當初沒有填部門、客廠或分類索引,切到對應選項時該欄會留白——這是資料端沒有值,不是列印控制的問題。
列印(GetReportParameters / CreateReportSource)¶
按 列印 時,母表單會以目前的 報表幣別/報表顯示索引 設定組出報表資料:
- 逐筆把明細寫成報表列,每列帶入查詢科目代號、查詢日期、傳票日期、傳票號碼、科目代號、科目名稱、摘要,以及依上述兩個選項決定的借方/貸方/餘額與索引欄,並蓋上列印人員(目前登入者姓名)。
- 另外產生一份目錄/分頁資料:依每個科目的明細筆數,每 36 筆換一頁累計頁碼(格式
P0001),科目名稱不足 30 字會以「‧」補滿對齊。 - 報表資料以
ReportSqliteCreator.ExportToSqlite寫入兩張 SQLite 暫存表(明細表與目錄表)供 FastReport 取用。 - 只有在母表單已查到資料(主列表筆數大於 0)時才會出報表;沒有資料時不會進入列印預覽。
可選報表清單¶
按 列印 後可從下列七份報表格式擇一(來源 GetReports,抬頭即報表選擇視窗顯示的名稱):
| 報表編號 | 報表抬頭 |
|---|---|
| N080-1 | 明細分類帳-不按月匯總、科目不跳頁 |
| N080-2 | 明細分類帳-不按月匯總、科目跳頁 |
| N080-3 | 明細分類帳-按月匯總、科目不跳頁 |
| N080-4 | 明細分類帳-按月匯總、科目跳頁 |
| N080-5 | 英文明細分類帳 |
| N080-6 | 中文目錄 |
| N080-7 | 英文目錄 |
規劃中:Excel 匯出
母表單程式內保留了一段把明細匯出 Excel 的程式碼,但目前處於停用(註解)狀態,列印控制面板尚未提供 Excel 匯出按鈕。需要把明細搬到 Excel 時,請改用報表預覽畫面內的匯出功能。
常見問題¶
報表幣別選了「原幣」或「集團幣」,金額卻是 0?
那兩欄取的是傳票分錄的原幣/集團幣金額。若該分錄本來就是本幣分錄、沒有外幣換算資料,原幣與集團幣金額會是 0 或等同本幣。請改回 功能幣 或 本幣,或確認來源傳票確實有多幣別金額。
報表最右側的索引欄是空白?
索引欄的內容來自明細的部門代號/客廠代號/分類索引1。若傳票輸入時沒有填這些欄位,切到對應的 報表顯示索引 就會留白。換一個有值的索引選項,或回頭補齊傳票上的部門/客廠/索引資料。
改了報表幣別或顯示索引,畫面金額沒變?
這兩個選項只在列印時套用,不會改變明細分類帳畫面上已查出的金額。改完直接按 列印 看報表即可,畫面維持原樣是正常的。
按列印沒有反應、進不了預覽?
列印需要母表單先查到資料。請先在明細分類帳設定條件並 查詢,確認左側主列表有資料(筆數大於 0)後再列印。
找不到「明細分類帳列印控制」這個選單?
它沒有獨立選單入口——它是明細分類帳畫面內的列印控制面板。請從明細分類帳進入即可看到 報表幣別 與 報表顯示索引 兩個選項。
相關功能¶
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/N-GeneralLedger/images/):
abook1printcontrolpart-step1.png— 列印控制面板全貌(報表幣別 + 報表顯示索引兩個下拉)abook1printcontrolpart-step2.png— 報表選擇視窗(七份報表格式清單)abook1printcontrolpart-step3.png— 列印預覽(建議以功能幣、客戶廠商代號索引的明細分類帳為例)