程式資訊
- 程式 ID:
BalanceCondition - 所屬子系統:N.總帳管理
- 狀態:stable
資產負債表查詢條件¶
功能簡介¶
「資產負債表查詢條件」是資產負債表(N-160)查詢前的條件設定面板,本身不是一支獨立程式——它與資產負債表共用同一個 ProgramClass(BALANCE),由 BalanceConditionViewModel 提供查詢參數,再交給資產負債表的 查詢 動作執行。
會計人員在編製或檢視資產負債表前,先在這個面板上指定結算到哪一天、用哪一種幣別彙總、以及報表上的科目名稱要顯示中文還是英文,按資產負債表工具列的 查詢 後,系統便依這三項條件結算各科目期初餘額與期間借貸,產出資產 = 負債 + 權益的平衡表。
本頁與資產負債表是同一支程式
本面板沒有自己的功能編號或選單入口,所有結果欄位、報表格式(報告式/帳戶式/含%/比較表)與列印操作都在母程式。本頁只完整說明三個條件欄位與其連動;查詢結果與列印請見 資產負債表。
前置需求¶
- 權限:N.總帳 →
N-160 資產負債表的瀏覽(查詢)權限。條件面板隨母程式一併開啟,不需另外授權。 - 基礎資料 / 參數:條件本身只需輸入日期與選項,但結算結果是否正確取決於下列資料——
| 資料 | 影響的結果 |
|---|---|
| 會計科目表(ACCL,含大/中分類、借貸別、中英文科目名稱) | 各科目的彙總、分類歸屬,以及「科目名稱顯示」切英文時的英文名稱來源 |
會計參數表「本期損益」科目(_prgpar 代碼 2015) |
本期損益的歸戶科目;缺漏會導致本期損益無法併入平衡表 |
會計參數表「會計開帳月份」(_prgpar 代碼 2008) |
查無歷史傳票時,期初餘額的起算基準日 |
| 已過帳傳票(SLIY,是否過帳=Y) | 期初餘額與期間借貸的資料來源;未過帳的傳票不列入 |
操作步驟¶
- 從選單開啟資產負債表,畫面上方即顯示本條件面板。
- 輸入截止日期:結算到此日(含)為止的所有已過帳傳票。預設為今天。
- 選擇幣別:
功能幣(預設)/本幣/集團幣,決定借貸金額以哪一種幣別欄位彙總。 - 選擇科目名稱顯示:
科目名稱(中文)或英文科目名稱。預設依登入使用者的語系自動帶入。 - 按資產負債表工具列的
查詢,系統依上述條件結算並在下方頁籤顯示資產負債表與比較表。
小技巧
改了任一條件後,直接再按一次母程式的 查詢 即可重算,不必重開畫面。
欄位說明¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 截止日期 | ✔ | 短日期格式(YYYY/MM/DD)。預設帶系統今天。結算所有「傳票日期 ≤ 截止日期」且已過帳的傳票。 |
| 幣別 | ✔ | 單選:功能幣/本幣/集團幣。預設 功能幣。決定期初餘額與期間借貸取用哪一組金額欄位。 |
| 科目名稱顯示 | ✔ | 單選:科目名稱(中文)/英文科目名稱。預設=登入者語系(中文使用者預設中文、英文使用者預設英文)。 |
欄位連動與附加功能¶
這一節說明「輸入或切換某欄位後,查詢時系統會怎麼算」。三個條件都是直接寫入查詢參數(BalanceQueryParameters),在按下母程式 查詢 時生效:
-
截止日期 → 決定結算範圍與期初基準
- 當你輸入截止日期,系統會以「傳票日期 ≤ 截止日期」抓取所有已過帳傳票作為期間異動。
- 系統會先反查截止日期之前最近一筆傳票日期當作期初基準日;若查無任何歷史傳票,則改用會計參數「會計開帳月份」(
_prgpar2008)當期初。也就是說,沒有歷史資料的新帳套,期初餘額會從開帳月份起算。 - 日期欄位採
TsDateTextBoxV2控件並開啟例外驗證,輸入非法日期會即時提示,不會帶錯誤值進查詢。
-
幣別 → 決定借貸金額取哪一欄
- 選
功能幣:期初與期間的借貸取功能幣金額欄位(FunctionalCurrencyDebits/FunctionalCurrencyCredits)。 - 選
本幣:改取本幣借貸欄位(Debits/Credits)。 - 選
集團幣:改取集團幣借貸欄位(GroupDebits/GroupCredits)。 - 切換幣別只改變彙總時讀取的金額欄位,不改變抓取的傳票範圍;同一份傳票在不同幣別下會呈現不同的餘額。
為什麼預設是功能幣
系統把「指定幣別」對應到帳套的功能幣,因此預設帶
功能幣。需要看本位幣或集團合併口徑時再手動切換即可。 - 選
-
科目名稱顯示 → 決定報表上的科目文字語言
- 選
科目名稱:彙總後各科目的科目名稱、大分類、中分類以中文呈現。 - 選
英文科目名稱:同樣三個欄位改取會計科目表(ACCL)的英文名稱、英文大分類、英文中分類。 - 此選項只切換顯示文字,不影響金額計算;對應母程式報表清單中的「帳戶式-英文」「帳戶式(含%)-英文」等英文版式。
- 預設值在進入畫面時由
BalanceConditionViewModel依登入者語系自動設定,因此英文使用者開啟即為英文。
- 選
-
平衡邏輯(由條件帶動,於查詢時自動完成)
- 系統依截止日結算後,會自動計算資產總計(科目代號
1開頭)、負債總計(2開頭)、負債與權益,並把損益科目(4開頭)彙總成本期損益併入權益側,使資產 = 負債 + 權益達成平衡。 - 餘額為 0 的科目會被自動濾除,不會出現在結果中。
- 這些都不需另外設定,純粹由上述三個條件帶動。
- 系統依截止日結算後,會自動計算資產總計(科目代號
面板上沒有「查詢」按鈕
本條件面板只負責收集參數,查詢動作由母程式資產負債表的工具列觸發。比較表(近年度資產負債表比較)也由母程式在同一次查詢中一併產出。
常見問題¶
改了截止日期或幣別,金額卻沒變?
條件面板只是把參數寫進查詢參數物件,必須再按一次母程式工具列的 查詢 才會重算。切換幣別、改日期、改語言後都要重新查詢。
查出來的資產負債表不平衡(資產 ≠ 負債 + 權益)?
最常見原因是會計參數表的「本期損益」科目(_prgpar 2015)未設定或設錯,導致損益無法併入權益側。其次是有傳票尚未過帳(系統只計入「是否過帳=Y」的傳票)。請先確認參數與過帳狀態。
新帳套查不到期初餘額?
系統先反查截止日之前最近一筆傳票當期初基準;若帳套還沒有任何歷史傳票,會改用會計參數「會計開帳月份」(_prgpar 2008)當起算點。請確認該參數已維護。
切到英文後科目名稱還是中文(或空白)?
英文名稱取自會計科目表(ACCL)的英文欄位。若某科目沒有維護英文名稱/英文大分類/英文中分類,該科目在英文模式下會顯示為空白或回退。請至會計科目表補齊英文欄位。
為什麼預設帶今天、功能幣、目前語系?
這三個預設值寫在查詢參數的初始化(ResetToDefault)與條件 VM 建構中:截止日期=系統今天、幣別=功能幣、科目名稱顯示=登入者語系。可隨時手動覆蓋。
相關功能¶
需補截圖清單
以下截圖待 runtime 驗收後補拍(放 docs/N-GeneralLedger/images/):
balancecondition-step1.png— 條件面板全貌(截止日期、幣別、科目名稱顯示三組欄位)balancecondition-step2.png— 幣別三選一(功能幣/本幣/集團幣)與科目名稱顯示中英文切換的特寫