程式資訊
- 程式 ID:
ABOOK1 - 所屬子系統:N.總帳管理
- 狀態:stable
明細分類帳¶
功能簡介¶
「明細分類帳」(ABOOK1) 把一段期間內所有傳票分錄按會計科目分群列出:上方主表一列代表一個科目(含期初/借方/貸方/期末餘額),下方明細表逐筆列出該科目的傳票分錄,並從期初餘額起逐列累計算出每一筆異動後的科目餘額。它是會計人員核對科目明細、稽核人員查帳、以及月底列印法定明細帳冊的主要工具,在總帳流程中位於傳票輸入並過帳之後、結帳之前。
每個科目的明細第一列固定是「期初」列,之後每一筆分錄依借貸別累加或累減,得到原幣/本幣/功能幣/集團幣四種餘額,可在列印時切換要印哪一種幣別。
與其他帳冊的區別
- 本表(明細分類帳):以科目為主軸,看「某科目這段期間發生了哪些分錄、餘額怎麼變」。
- 分類帳 (ABOOK2):另一種科目別帳冊版型。
- 試算表 (TRIAL):只看各科目的期初、借貸合計與期末餘額,不展開到分錄層。
前置需求¶
- 權限:N.總帳 →
N-080 明細分類帳的瀏覽與列印權限。 - 基礎資料:查詢結果是否完整、餘額是否正確,取決於下列資料——
| 資料 | 影響的結果 |
|---|---|
| 傳票(傳票輸入)已輸入並過帳 | 明細分錄列、借貸金額;未過帳的分錄是否計入由 SP 決定 |
| 會計科目主檔(會計科目) | 科目名稱、英文名稱、借貸別(決定餘額正負方向) |
| 期初餘額(上期結轉) | 每個科目明細的第一列「期初」金額 |
| 各幣別匯率 | 原幣/本幣/功能幣/集團幣四欄餘額的換算 |
| 部門、客戶廠商、分類索引等註記 | 列印時「報表顯示索引」欄要印哪一個(分類索引/部門代號/客戶廠商代號) |
報表須先登錄 proc_param
本表透過 stored procedure DARB_QRY_ABOOK1 取數。若查詢回空白或報錯,請先確認該 SP 與其參數已在資料庫 proc_param 登錄、且部署到目標資料庫。
操作步驟¶

查詢明細分類帳¶
- 從主選單開啟 總帳 → 明細分類帳。
- 在左側條件面板設定查詢條件(各欄預設值與意義見欄位說明):
- 設定 日期 起訖(預設「本月一日 ~ 今天」)。
- 設定 科目代號 起訖(預設
空白 ~ zzzzz,等於全部科目)。 - 視需要調整 傳票種類(預設
012)。 - 選擇報表 語言(繁體中文/English)。
- 視需要勾選 借貸對沖(預設不勾)。
- 按工具列的
查詢。 - 上方主表列出符合條件的科目,每列含該科目的期初、借貸與期末餘額(原幣/本幣/功能幣/集團幣)。
-
點選主表任一科目,下方明細表即顯示該科目的分錄:第一列為「期初」,其後逐筆列出傳票分錄與累計餘額。
切換科目即時換明細
主表與明細表是主從連動。點不同科目,下方明細立刻換成該科目的分錄與累計餘額,不必重新查詢。

列印帳冊¶
- 完成查詢、確認資料無誤後,按工具列的
列印。 - 在列印控制區(PrintControlPart)選擇:
- 報表幣別:要印
功能幣 / 本幣 / 原幣 / 集團幣哪一種金額(預設功能幣)。 - 報表顯示索引:明細列要印
分類索引 / 部門代號 / 客戶廠商代號哪一欄(預設客戶廠商代號)。
- 報表幣別:要印
- 選擇報表版型(共七種,見報表版型),開啟預覽。
-
確認版面無誤後送印。
先預覽再送印
七種版型差別在「是否按月匯總」「科目是否跳頁」與「中/英文」,建議先用預覽確認頁數與版面再實際列印,避免浪費紙張。
目前不提供匯出 Excel
程式內保留了將明細匯出 Excel 的邏輯,但目前已停用(程式碼註解狀態),畫面上不提供匯出 Excel 按鈕。如需 Excel,可在格線上以 Telerik 內建匯出功能另存。

欄位說明¶
查詢條件(左側條件面板)¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 日期(起/訖) | ✔ | 帳冊查詢區間。預設起=本月一日、訖=今天(DateTimeWrapper.GetMonthFirstDate / TodayYYYYMMDD),格式 yyyy/MM/dd |
| 科目代號(起/訖) | — | 限定要查的科目範圍。預設起=空白、訖=zzzzz(等於不限、全部科目) |
| 傳票種類 | — | 對應 GLType,預設 012;用來篩選要納入的傳票帳別/種類 |
| 語言 | — | 繁體中文(預設)或 English;選 English 時主表與明細的科目名稱改取會計科目主檔的英文名稱 |
| 借貸對沖 | — | 預設不勾。勾選後會把同科目、同沖帳單號且借貸相抵為 0 的分錄從結果中移除(見欄位連動與附加功能) |
列印控制(PrintControlPart)¶
| 欄位 | 必填 | 說明/預設 |
|---|---|---|
| 報表幣別 | — | 功能幣 / 本幣 / 原幣 / 集團幣,預設 功能幣;決定報表借方/貸方/餘額三欄取哪一種幣別的金額與抬頭 |
| 報表顯示索引 | — | 分類索引 / 部門代號 / 客戶廠商代號,預設 客戶廠商代號;決定報表「索引」欄印哪一個註記 |
主表(科目彙總)主要欄位¶
| 欄位 | 說明 |
|---|---|
| 科目代號/科目名稱 | 科目主檔代號與名稱(語言為 English 時取英文名稱) |
| 借貸別 | D=借方科目、其他=貸方科目;決定餘額顯示正負方向 |
| 原幣 期初/借方/貸方/期末餘額 | 該科目以原幣計的四欄餘額 |
| 本幣(期初/借方/貸方/期末)餘額 | 同上,以本位幣計 |
| 功能幣 期初/借方/貸方/期末餘額 | 同上,以功能幣計 |
| 集團幣 期初/借方/貸方/期末餘額 | 同上,以集團幣計 |
借方/貸方餘額是淨額
主表的「借方餘額/貸方餘額」是借貸相抵後的淨額:借>貸時借方餘額=借-貸、貸方餘額顯示 0,反之亦然。
明細表(分錄)主要欄位¶
| 欄位 | 說明 |
|---|---|
| 傳票日期/傳票號碼 | 該筆分錄所屬傳票。第一列固定為「期初」列(無傳票號碼) |
| 帳別/傳票種類/序號 | 傳票分錄識別資訊 |
| 科目代號/科目名稱 | 與所選主表科目相同 |
| 摘要 | 分錄摘要;期初列顯示「期初」字樣 |
| 幣別 | 原幣幣別 |
| 原借方金額/原貸方金額/原幣餘額 | 原幣金額與逐列累計後的原幣餘額 |
| 匯率/本借方金額/本貸方金額/本幣餘額 | 換本位幣的匯率、金額與累計餘額 |
| 功能幣匯率/借方金額/貸方金額/功能幣餘額 | 功能幣的匯率、金額與累計餘額 |
| 集團幣匯率/集借方金額/集貸方金額/集團幣餘額 | 集團幣的匯率、金額與累計餘額 |
| 分類索引 1~4/項目編號/項目名稱 | 傳票上的分類註記 |
| 部門代號/部門簡稱 | 該分錄歸屬部門 |
| 客廠代號/客廠部簡稱 | 客戶或廠商註記 |
| 員工編號/姓名/專案代號/專案簡稱/產品群組 | 其他維度註記 |
| 單別 1~3/單號 1~3 | 來源單據註記(採購、銷售等) |
| 財務單 id/財務明細 id | 對應財務單據的內部 id |
欄位連動與附加功能¶
這是本頁最重要的一節,說明「設定某條件 / 按某按鈕後系統會做什麼」。
查詢時的計算(按 查詢)¶
- 當你按
查詢,系統呼叫 SPDARB_QRY_ABOOK1(帶日期、科目代號起訖、傳票種類),把結果寫入暫存 SQLite,再分三步在記憶體組裝:- 科目彙總(主表):每個科目算出期初、借方、貸方、期末四欄餘額,並依借貸別決定正負——借貸別=
D的科目餘額保持正號,其他科目期初/期末餘額取負號顯示。 - 明細逐列累計(明細表):每個科目先放一列「期初」列(餘額=該科目期初餘額),之後每一筆分錄依借貸別把(借方-貸方)累加(
D科目)或累減(非D科目)到餘額上,所以明細表最後一列的餘額會等於主表的期末餘額。原幣/本幣/功能幣/集團幣四種餘額各自獨立累計。
- 科目彙總(主表):每個科目算出期初、借方、貸方、期末四欄餘額,並依借貸別決定正負——借貸別=
- 沒有任何分錄、且功能幣期初餘額為 0 的科目會被自動剔除:查詢區間內某科目既無分錄、功能幣期初餘額又是 0,該科目不會出現在主表(避免一堆空白零餘額科目)。
- 科目名稱隨語言切換:條件選
English時,主表科目名稱與明細科目名稱改取會計科目主檔的英文名稱(語言=繁體中文時取中文名稱)。明細第一列「期初」摘要字樣則是依使用者介面語言取顯示字,與條件面板的語言選項各自獨立。
借貸對沖(勾選 借貸對沖)¶
- 勾選後,查詢會多做一段「沖帳相抵」處理(對應舊版 FoxPro 的沖帳邏輯):
- 系統先查
rpsht_d/rp_m,把單號 2 以82開頭的分錄對照出「財務單號」,作為沖帳單號;其他分錄的沖帳單號就是它自己的單號 2。 - 接著把同一個(科目代號+沖帳單號)的分錄分組,借貸淨額剛好為 0 的那一組整組從明細中移除。
- 系統先查
- 用途是讓「一借一貸完全沖掉」的暫收暫付類分錄不要佔版面,帳冊只留下真正有餘額影響的分錄。
- 沒勾選時完全不做這段處理,所有分錄照列。
借貸對沖只移除淨額為 0 的整組
對沖是「整組相抵為 0 才刪」,不是逐筆抵減。若某科目同一沖帳單號下借貸沒有剛好相等(例如還差一筆未沖),整組都會保留。看到「應該沖掉卻還在」時,請檢查該組借貸是否真的相等。
列印(按 列印,IPrintSource / IPrintControl)¶
- 本表實作
IPrintSource與IPrintControl,按列印時:- 依報表幣別設定,把明細的借方/貸方/餘額三欄換成對應幣別的金額,並改寫欄位抬頭(例如選本幣→抬頭顯示「本幣借方/本幣貸方」;選原幣→「原幣借方/原幣貸方」;集團幣→「集團幣借方/集團幣貸方」)。
- 依報表顯示索引設定,把報表「索引」欄填成分類索引 1、或部門代號、或客廠代號,並對應改寫索引欄抬頭。
- 系統依每科目明細筆數每 36 列換一頁估算頁碼,並把科目名稱在目錄頁補點(
‧)對齊到 30 字。 - 報表資料寫入 SQLite(
rpt_n080_abook1_report1明細、rpt_n080_abook1_report2目錄/頁碼)供 FastReport 套版。
- 改了報表幣別或顯示索引後,直接再按一次
列印即可重出,不必重查。
報表版型¶
列印 時可選下列七種版型(皆 A4、台灣區域):
| 報表編號 | 名稱 | 內容 |
|---|---|---|
| N080-1 | 明細分類帳 | 不按月匯總、科目不跳頁 |
| N080-2 | 明細分類帳 | 不按月匯總、科目跳頁(每科目換新頁) |
| N080-3 | 明細分類帳 | 按月匯總、科目不跳頁 |
| N080-4 | 明細分類帳 | 按月匯總、科目跳頁 |
| N080-5 | 英文明細分類帳 | 英文版 |
| N080-6 | 中文目錄 | 各科目頁碼索引 |
| N080-7 | 英文目錄 | 英文頁碼索引 |
選 English 與選「英文版型」是兩件事
條件面板的 語言 控制畫面與資料內的科目名稱(取英文名稱);列印時的 N080-5 英文明細分類帳 / N080-7 英文目錄 則是另一份英文版型。要印純英文帳冊時,建議兩者一起設定為英文。
常見問題¶
查詢按了沒反應、或結果完全空白?
- 確認查詢日期區間內真的有已過帳的傳票,且科目代號起訖(預設
空白 ~ zzzzz)有涵蓋到要看的科目。 - 本表靠 SP
DARB_QRY_ABOOK1取數,若該 SP 或其proc_param未部署到目標資料庫會回空白——請聯絡系統管理員確認部署。 - 留意:既無分錄又功能幣期初餘額為 0 的科目會被刻意剔除,這是正常設計,不是漏資料。
某個科目沒出現在主表?
若該科目在查詢區間內沒有任何分錄、而且功能幣期初餘額是 0,系統會自動把它移除以免版面塞滿空白科目。只要有期初餘額或有任一分錄就會列出。
明細最後一列的餘額跟主表期末餘額對不起來?
明細餘額是從「期初」列起逐列累計的,理論上最後一列必等於主表期末餘額。若對不起來,多半是該科目有分錄被借貸對沖移除了——取消勾選「借貸對沖」重查即可看到完整未對沖的明細。
金額欄都是 0 或只有某個幣別有數字?
主表與明細同時保留原幣/本幣/功能幣/集團幣四組欄位。若公司只用本位幣,原幣與本幣相同、功能幣/集團幣可能為 0 屬正常。列印時請在 報表幣別 選對要印的幣別,否則報表會印出你沒在用的幣別欄(顯示 0)。
勾了借貸對沖,某些應該沖掉的分錄還在?
對沖是「同科目+同沖帳單號、借貸淨額剛好為 0 的整組」才移除。若該組借貸不相等(例如還有一筆未沖、或單號 2 不是以 82 開頭而無法對到財務單號),整組都會保留。請檢查該沖帳單號下的借貸是否完全相抵。
畫面上找不到匯出 Excel?
本表目前未開放匯出 Excel(程式內保留邏輯但已停用)。若需要轉 Excel,可在格線上使用 Telerik 內建的匯出功能另存。
相關功能¶
- 分類帳 (ABOOK2):另一種科目別帳冊版型
- 試算表 (TRIAL):各科目期初、借貸合計與期末餘額彙總
- 傳票輸入 (SLIY):本表分錄的來源
- 常用分錄 (GSLIY):可重複套用的分錄範本,套用後產生傳票過帳才會反映到帳冊
- 會計科目 (ACCL):科目名稱、英文名稱與借貸別來源
- 總帳模組首頁