程式資訊
- 程式 ID:
BalancePrint - 所屬子系統:N.總帳管理
- 狀態:stable
資產負債表列印¶
功能簡介¶
「資產負債表列印」是資產負債表(N-160)的列印伴隨頁,負責把畫面上算好的資產負債表資料輸出成正式報表。列印頁透過 MainProgramClass 掛回主表單的 ProgramClass.BALANCE,報表資料則由實作 IPrintSource 的主表單提供;列印頁本身只負責蒐集列印區間並把對應的報表版型送進列印預覽。
會用到本頁的是會計/財務人員:在資產負債表查出某截止日的科目餘額後,按列印鈕進入本頁,挑選報表格式(報告式/帳戶式/含%/中英文/比較表)後預覽或輸出。
本頁與資產負債表是同一支程式
資產負債表(Balance)與資產負債表列印(BalancePrint)共用主程式 ProgramClass.BALANCE──列印頁的 MainProgramClass 即指向 BALANCE。報表清單、餘額計算邏輯與查詢條件都在主表單那一支,本頁只處理列印區間與報表選擇。完整的查詢操作、科目分類與餘額計算請見 資產負債表。
前置需求¶
- 權限:N.總帳 → 資產負債表(N-160)的
列印/預覽權限。 - 先有查詢資料:列印前需先在資產負債表主表單以截止日查出資料(
HaveReportData判斷需有餘額資料),否則列印頁無資料可輸出。 - 基礎資料:報表內容的正確性取決於下列主檔/參數──
| 資料 | 影響的結果 |
|---|---|
| 會計科目主檔(科目分類、會計科目名稱/英文名稱) | 報表上的科目代號/名稱、左右大中分類 |
會計參數表「本期損益」科目(_prgpar 代號 2015) |
報表的本期損益列、負債與權益合計 |
| 傳票(已過帳) | 各科目的期末餘額、資產/負債/權益總計 |
| 功能幣別設定 | 餘額所採用的幣別(預設功能幣 Functional) |
報表登錄(LCLRptdat N160-1~N160-6) |
列印頁可選的報表格式清單 |
操作步驟¶
- 在資產負債表主表單,輸入截止日期等條件後按
查詢,確認畫面已算出科目餘額。 - 按工具列的
列印/預覽進入本列印頁。 - 設定列印區間:
- 條件類型固定為
Date(日期)。 - 在 起始日期 ~ 截止日期 兩格輸入要列印的日期區間(格式為短日期
YYYY/MM/DD)。游標預設停在起始日期欄。
- 條件類型固定為
- 在報表清單中選擇要輸出的報表格式(見報表格式)。
- 按
預覽檢視排版,或列印直接輸出。
注意
起始日期、截止日期兩格都要填,列印頁才會送資料給報表(HaveReportData 規定兩個日期都不可空白),否則按下列印不會產生內容。
小技巧
同一份查詢資料可重複切換報表格式(報告式/帳戶式/含%/中英文/比較表)反覆預覽,不必回主表單重查。
欄位說明¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 條件類型 | ✔ | 固定為 Date(日期),對應 PrintConditionEnum.Date |
| 起始日期 | ✔ | 列印區間起日,短日期格式;對應報表參數 BeginningDate;預設空白 |
| 截止日期 | ✔ | 列印區間迄日,短日期格式;對應報表參數 EndingDate;預設空白 |
餘額截止日來自主表單
本頁兩格日期是傳給報表抬頭用的列印區間(報表參數 BeginningDate/EndingDate)。實際科目餘額的計算截止日,是在資產負債表主表單的查詢條件(截止日期,預設為今天)決定的。
欄位連動與附加功能¶
本頁的連動集中在「列印區間 → 報表參數」與「主表單 → 報表資料」兩條路徑:
- 填入起始/截止日期:兩格分別寫入報表參數
BeginningDate、EndingDate(GetReportParameters組出字典)。這兩個值只用於報表上的區間/抬頭顯示,不會重算餘額。 - 兩格日期任一空白時:
HaveReportData回傳 false,列印頁判定無資料、不送列印。兩格都填妥後才允許輸出。 - 報表資料的真正來源是主表單:
BalanceViewModel實作IPrintSource,按查詢時會:- 由
BalanceBll.Calculate算出各科目期末餘額(資產字首1、負債字首2、損益字首4,本期損益科目取自會計參數表_prgpar代號 2015),並組出報告式與帳戶式兩種報表資料(rpt_n160_balancereportpoco1/rpt_n160_balancereportpoco2)。 - 由
BalanceCompareBll.Query算出比較表資料(Detail1)與最多 6 個年度欄位參數(Year0~Year5)。
- 由
GetReports提供的報表格式清單(見下節):列印頁的報表選單即由主程式BalanceViewModel.GetReports()回傳的LCLRptdat清單決定。- 幣別與語言:餘額採用的幣別由主表單條件的幣別決定(預設功能幣 Functional);中/英文報表版型則對應主表單的語言設定(預設使用者語言/繁中)。
報表格式¶
GetReports() 登錄了 6 種報表版型(單據別=資產負債表),列印頁可擇一輸出:
| 編號 | 報表抬頭 | 說明 |
|---|---|---|
| N160-1 | 報告式 | 上下排列的報告式資產負債表(Balance) |
| N160-2 | 帳戶式 | 左資產、右負債及權益的帳戶式(Balance1) |
| N160-3 | 帳戶式-英文 | 帳戶式的英文版(Balance1e) |
| N160-4 | 帳戶式(含%) | 帳戶式加計各科目占比百分比(Balance2) |
| N160-5 | 帳戶式(含%)-英文 | 帳戶式含%的英文版(Balance2e) |
| N160-6 | 資產負債表比較 | 跨年度比較表(BalanceCompare) |
報表尺寸
上列報表版型皆登錄為 A4、國家區域 TW。
常見問題¶
按列印沒有任何內容、跳出無資料?
列印頁要求起始日期與截止日期兩格都填妥才會送資料(HaveReportData)。另外請先回資產負債表主表單按過 查詢、畫面已算出科目餘額,列印才有來源資料。
報表上的本期損益是空的或對不上?
本期損益列依會計參數表「本期損益」科目(_prgpar 代號 2015)歸戶。請確認該參數已正確指向本期損益科目,且相關傳票已過帳。
想印英文版資產負債表?
在報表清單選 N160-3(帳戶式-英文)或 N160-5(帳戶式(含%)-英文)。英文科目名稱取自會計科目主檔的英文名稱欄,若英文名稱未維護該欄會空白。
為什麼列印頁的日期和主表單查詢的截止日不一樣?
本頁兩格日期只是印在報表上的列印區間(報表參數)。真正決定科目餘額的截止日,是在資產負債表主表單條件區的截止日期(預設今天)。兩者用途不同,請見欄位連動與附加功能。
找不到「資產負債表比較」要看的多年度數字?
比較表(N160-6)的年度欄位與資料由主程式的 BalanceCompareBll 在查詢時一併產生。若比較欄位為空,請確認主表單查詢已執行、且歷年傳票資料齊全。
相關功能¶
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/N-GeneralLedger/images/):
balanceprint-step1.png— 列印頁列印區間(Date 條件+起訖日期)balanceprint-step2.png— 報表格式清單(N160-1~N160-6)balanceprint-step3.png— 列印預覽畫面(建議以帳戶式為主畫面)