跳轉到

程式資訊

  • 程式 IDAbook1PrintControlPart
  • 所屬子系統:N.總帳管理
  • 狀態:stable

明細分類帳列印控制

功能簡介

「明細分類帳列印控制」是明細分類帳(程式代號 ABOOK1、N-080)的列印控制面板,並不是一支獨立的程式。它透過 IPrintControl 介面嵌在明細分類帳查詢畫面的列印區,提供兩個列印前的選項——報表幣別報表顯示索引——讓使用者在按 列印 之前,決定帳冊上要印哪一種幣別的金額、以及最右側那一欄要顯示哪一種分類資訊。

由於它與明細分類帳共用同一個 ProgramClassABOOK1)、同一份查詢參數,完整的查詢條件、查詢動作與欄位說明請見母表單頁明細分類帳;本頁只聚焦在「列印控制面板上這兩個選項各自的作用」與「可選的報表清單」。

兩個名稱、同一支程式

本頁(Abook1PrintControlPart)與明細分類帳是同一支程式的兩個部分:明細分類帳負責查詢與畫面顯示,列印控制面板負責列印前的幣別/索引選項。兩者的 ProgramClass 都是 ABOOK1,不需要、也不會有獨立的選單入口。

前置需求

  • 權限:N.總帳 → N-080 明細分類帳 的瀏覽與列印權限(與母表單共用,沒有獨立權限)。
  • 基礎資料:列印控制面板本身不需要額外主檔,但報表內容取決於母表單查詢出來的資料——
資料 影響的結果
當期傳票(已過帳的總帳明細) 報表的明細列、借貸金額、餘額
多幣別傳票(原幣/本幣/功能幣/集團幣金額) 報表幣別可切換的幣別欄位是否有值
部門代號、客戶廠商代號、分類索引 報表顯示索引切換後最右側欄位是否有內容
科目名稱 報表目錄與分頁標題(科目名稱不足 30 字會補滿)

操作步驟

列印控制面板沒有自己的查詢按鈕,操作依附在母表單的查詢流程之後:

  1. 先在明細分類帳設定查詢條件(日期、科目代號區間、傳票種類等)並按 查詢,確認左側主列表已帶出資料。
  2. 在列印控制面板的 報表幣別 下拉選單選擇要列印的幣別:功能幣本幣原幣集團幣(預設 功能幣)。
  3. 報表顯示索引 下拉選單選擇報表最右側欄位要顯示的分類:分類索引部門代號客戶廠商代號(預設 客戶廠商代號)。
  4. 按工具列的 列印,在報表選擇視窗挑一份報表格式後進入預覽。
  5. 確認版面無誤後送印。

小技巧

改了 報表幣別報表顯示索引 後不必重新查詢,直接再按一次 列印 即可——這兩個選項只在產生報表資料的當下套用,不影響畫面上已查出的明細。

欄位說明

欄位 必填 說明/格式/預設
報表幣別 決定報表借方/貸方/餘額三欄取用哪一種幣別的金額。選項:功能幣本幣原幣集團幣。預設 功能幣Abook1CurrencyType.FunctionalCurrency)。
報表顯示索引 決定報表最右側索引欄要顯示哪一種分類資訊。選項:分類索引部門代號客戶廠商代號。預設 客戶廠商代號Abook1IndexType.CustomerVendorCode)。

預設值來源

兩個選項的預設值來自查詢參數 Abook1QueryParameters 的初始化(Abook1CurrencyType = FunctionalCurrencyAbook1IndexType = 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/):

  1. abook1printcontrolpart-step1.png — 列印控制面板全貌(報表幣別 + 報表顯示索引兩個下拉)
  2. abook1printcontrolpart-step2.png — 報表選擇視窗(七份報表格式清單)
  3. abook1printcontrolpart-step3.png — 列印預覽(建議以功能幣、客戶廠商代號索引的明細分類帳為例)