程式資訊
- 程式 ID:
Trial - 所屬子系統:N.總帳管理
- 狀態:stable
試算表¶
功能簡介¶
「試算表」把指定期間內每個會計科目的借方、貸方、期初餘額與期末餘額彙整成一張表,用來驗證總帳「借貸是否平衡」。它是一支純查詢/報表程式:選好條件後按 查詢,系統依傳票資料即時算出各科目的試算結果,不會新增、修改或刪除任何資料。
適合會計人員在月結、結帳前用來:
- 確認整段期間的借方合計=貸方合計(總帳平衡)。
- 逐科目檢視期初餘額、本期借貸發生額、期末餘額。
- 以本幣、原幣、功能幣或集團幣四種口徑列印試算表。
畫面右側提供兩個頁籤:目前算法(新版 C# 試算邏輯)與 VFP 對照(依 VFP 舊版邏輯直譯的並行結果),方便在系統轉換期核對兩版差異。
前置需求¶
- 權限:N.總帳 →
N-090 試算表的瀏覽與列印權限。 - 基礎資料:試算結果取自已過帳的傳票與會計科目主檔,下列資料會直接影響結果——
| 資料 | 影響的結果 |
|---|---|
| 傳票(總帳傳票) | 各科目的借方/貸方發生額、期末餘額;未過帳的傳票不會列入 |
| 會計科目主檔(ACCL) | 科目名稱、多語言名稱、借貸別;總表模式的上層科目名稱亦取自此 |
| 公司本位幣設定 | 「VFP 對照」頁在本幣模式下會把幣別統一覆寫為本位幣 |
| 功能幣/集團幣設定 | 列印功能幣(_prgpar 2007)、集團幣(_prgpar 2021)的列印幣別代碼 |
操作步驟¶
試算表沒有資料維護動作,操作集中在「設條件 → 查詢 → 列印/匯出」:
步驟① 設定查詢條件¶
在左側條件面板(TrialCondition)填入:
- 輸入日期起訖。預設帶本月份(起=當月 1 日、訖=今天)。系統以此區間計算各科目的借貸發生額與期末餘額。
- 輸入傳票種類。預設
012,控制納入試算的傳票類別範圍。 - 選擇試算表種類:
本幣(預設):以本幣金額試算。原幣:以各科目的原始交易幣別金額試算。
- 視需要勾選總表(預設不勾)。勾選後系統把科目代號取前 4 碼彙總成上層科目,列出總表層級的試算結果。

步驟② 執行查詢¶
按工具列的 查詢。系統同時算出兩份結果並分別填入兩個頁籤:
- 目前算法:新版 C# 試算結果(
TrialBll)。下方顯示本幣借方/貸方合計。 - VFP 對照:依 VFP 舊版邏輯(
TrialBllVfp)算出的結果,下方多顯示借方合計/貸方合計/累計借方合計/累計貸方合計/借方合計1/貸方合計1 六個合計,供新舊版核對。

驗證借貸平衡
試算正確時,下方的借方合計應等於貸方合計。若兩者不相等,代表期間內有未平衡的傳票,請回傳票檢查。
步驟③ 列印/匯出¶
- 列印前先在列印設定面板(
TrialPrintControlPart)選報表幣別:功能幣(預設)/集團幣/本幣/原幣。此選擇決定報表上「借方/貸方/期初/期末」要套哪一組幣別的金額。 - 按工具列的
列印,依報表清單套用對應.frx(見欄位連動與附加功能的報表清單)。 - 要把結果存成 Excel,於結果格線上按右鍵 → 匯出即可(RadGridView 內建匯出,兩個頁籤都支援)。
欄位說明¶
查詢條件(TrialCondition)¶
| 欄位 | 必填 | 說明 / 格式 / 預設 |
|---|---|---|
| 日期(起) | ✔ | 試算區間起日;預設當月 1 日(GetMonthFirstDate) |
| 日期(訖) | ✔ | 試算區間訖日;預設今天(TodayYYYYMMDD) |
| 傳票種類 | — | 納入試算的傳票類別;預設 012 |
| 試算表種類 | — | 本幣 / 原幣;預設 本幣(LocalCurrency) |
| 總表 | — | 勾選=以科目代號前 4 碼彙總;預設不勾 |
列印設定(TrialPrintControlPart)¶
| 欄位 | 必填 | 說明 / 預設 |
|---|---|---|
| 報表幣別 | — | 功能幣 / 集團幣 / 本幣 / 原幣;預設 功能幣(FunctionalCurrency) |
結果頁籤主要欄位¶
兩個頁籤的欄位結構相同,差異在算法(見欄位連動與附加功能)。
| 欄位群 | 欄位 | 說明 |
|---|---|---|
| 科目 | 科目代號 / 科目名稱 / 多語言名稱 / 借貸別 | 取自會計科目主檔(ACCL) |
| 本幣 | 借方餘額 / 貸方餘額 / 期初餘額 / 期末餘額 / 借方 / 貸方 | 本幣口徑的試算金額 |
| 功能幣 | 功能幣期初餘額 / 借方餘額 / 貸方餘額 / 期末餘額 / 借方 / 貸方 | 功能幣口徑 |
| 集團幣 | 集團幣期初餘額 / 借方餘額 / 貸方餘額 / 期末餘額 / 借方 / 貸方 | 集團幣口徑 |
| 原幣 | 幣別 / 原幣期初餘額 / 借方餘額 / 貸方餘額 / 期末餘額 / 借方 / 貸方 | 原始交易幣別口徑 |
| 期間 | 期初日期 / 期末日期 | 即查詢條件的起訖日 |
欄位連動與附加功能¶
這支程式沒有可輸入的明細欄位,連動集中在「按查詢後系統怎麼算」「列印幣別怎麼換算」「兩頁籤差在哪」。
按 查詢 後系統做的事¶
當你按 查詢,系統一次跑兩條算法,把結果分別填進兩個頁籤:
- 取數:以
DARB_QRY_ABOOK1撈傳票資料,依「試算表種類」帶不同查詢型別(本幣=2、原幣=3),並把日期起訖、傳票種類當參數傳入。 - 逐列算餘額(目前算法頁,
TrialBll):每個科目算出——- 借方餘額=借方>貸方時的差額,否則 0;貸方餘額反之。
- 期末餘額=期初餘額+借方-貸方(本幣、功能幣、集團幣各自獨立計算)。
- 原幣口徑:本幣模式下原幣欄位=功能幣欄位;原幣模式下直接用原幣借貸算餘額。
- 濾掉全 0 列:本期初/借貸/期末/借貸發生額全部為 0 的科目不顯示(目前算法頁以功能幣欄位判斷)。
- 合計:把每列的借方、貸方加總,顯示在「目前算法」頁下方的 借方合計/貸方合計。
- 總表彙總(若勾了「總表」):把明細科目依代號前 4 碼+幣別分組加總,並回查上層科目的名稱、多語言名稱、借貸別填回去。
目前算法頁的合計時機
借方合計 與 貸方合計 是在 TrialSource 被指派時即時 Sum 出來的;只要重新查詢、結果集一換,下方合計就跟著更新。
「VFP 對照」頁與「目前算法」頁的差異¶
「VFP 對照」頁(TrialBllVfp)刻意保留 VFP 舊版的算法,與目前算法有幾處不同,列印時請以你要採用的版本為準:
- 本幣模式下原幣欄位的來源不同:VFP 版本幣模式把「原幣期初/借方/貸方」對應到無前綴的基礎欄位(期初/借方/貸方),而非功能幣欄位。
- 濾零的判斷欄位不同:VFP 版以「無前綴」欄位(期初餘額/借方餘額/貸方餘額/期末餘額/借方/貸方)全為 0 才刪列。
- 幣別覆寫:VFP 版在本幣模式下,把每列幣別統一覆寫為公司本位幣(對應 VFP 的
m.幣別 = m.指定幣別)。 - 總表回查科目用不同 SP:VFP 版用
DARB_GETDATA3,目前算法版用DARB_GETDATA4。 - 多算四個合計:VFP 對照頁下方除了借貸合計,還算——
- 借方合計/貸方合計=功能幣借方/貸方加總。
- 累計借方合計=各列功能幣期末餘額為正者加總;累計貸方合計=為負者取絕對值加總。
- 借方合計1/貸方合計1=無前綴借方/貸方加總。
兩頁籤的合計口徑不同
「目前算法」頁下方合計是本幣借貸;「VFP 對照」頁的「借方合計/貸方合計」是功能幣借貸、「借方合計1/貸方合計1」才是無前綴(本幣)借貸。核對時請對齊同一口徑的欄位,不要把兩頁的合計直接相比。
列印時「報表幣別」如何換算¶
列印前在 報表幣別 選的口徑,決定報表 POCO(Rpt_N090_TrialReportPoco)每一欄要套哪一組金額:
| 報表幣別 | 列印幣別代碼 | 借方/貸方來源 | 期初/期末來源 |
|---|---|---|---|
| 本幣 | 本位幣設定 | 本幣借方/貸方 | 本幣期初/期末 |
| 原幣 | 該列幣別 | 原幣借方/貸方 | 原幣期初/期末 |
| 功能幣 | _prgpar 2007 |
功能幣借方/貸方 | 功能幣期初/期末 |
| 集團幣 | _prgpar 2021 |
集團幣借方/貸方 | 集團幣期初/期末 |
報表另外會帶累計借方餘額/累計貸方餘額:以功能幣期末餘額為正者放借方、為負者取絕對值放貸方。
報表清單(GetReports)¶
列印 時可用的報表如下(國家區域 TW、A4):
| 報表編號 | 報表名稱 | 報表抬頭 |
|---|---|---|
| N090-1 | Trial | 試算表 |
| N090-2 | Trial1 | 試算表-餘額 |
| N090-2 | Trial2 | 試算表-累計餘額 |
尚未提供的動作
試算表是純查詢報表,沒有新增/修改/刪除/沖帳/轉傳票/簽核等動作,工具列上對應按鈕不會作用——若需異動傳票本身,請到傳票。
常見問題¶
查不到任何資料,結果頁是空的?
請依序確認:①查詢日期區間內確實有已過帳的傳票;②傳票種類是否與要查的傳票類別相符(預設 012)。另外,本期借貸與期初期末全為 0 的科目會被系統濾掉、不顯示,這是正常設計。
借方合計和貸方合計不相等,是 bug 嗎?
不是程式錯誤——這代表期間內有未平衡的傳票(借貸不相等)。試算表的用途正是抓出這種狀況。請回傳票逐筆檢查該期間的借貸是否一致。
「目前算法」和「VFP 對照」兩頁的金額對不起來?
兩頁是刻意用不同算法並行的:本幣模式下原幣欄位的來源、濾零判斷欄位、幣別覆寫與總表回查 SP 都不同(詳見欄位連動與附加功能)。且兩頁下方合計的幣別口徑也不同(目前算法=本幣、VFP 對照=功能幣)。請以你實際要採用的版本為準。
勾了「總表」之後科目變少、名稱也變了?
「總表」會把明細科目依代號前 4 碼彙總成上層科目,所以筆數變少;上層科目的名稱/借貸別是回查會計科目主檔(ACCL)填回的。若某 4 碼前綴在 ACCL 找不到對應科目,名稱欄會留空。
列印出來的金額和畫面上看到的不一樣?
列印金額由列印設定的「報表幣別」決定(功能幣/集團幣/本幣/原幣四選一,預設功能幣),而畫面格線同時顯示四種幣別的欄位。請確認列印前選的報表幣別,與你想核對的畫面欄位是同一組口徑。
功能幣/集團幣的列印幣別代碼怎麼來的?
功能幣取參數 _prgpar 2007、集團幣取 _prgpar 2021。若列印出的幣別代碼不對,請檢查這兩個全域參數的設定。