程式資訊
- 程式 ID:
BankfxrPrint - 所屬子系統:O.銀行票據
- 狀態:stable
銀行往來日報列印頁¶
功能簡介¶
「銀行往來日報列印頁」是 銀行往來日報(O-140)的列印伴隨頁:它本身不維護資料,只是讓你設定一段日期區間,把該區間內的日報以報表 O140-1 銀行往來日報(A4)列印或預覽出來。由出納/財務人員在查核資金部位、要把日報交給主管或存查時使用。一般情況下你不需要單獨開這頁——在母表單 銀行往來日報 按工具列的列印,系統會自動開啟本頁並把日期帶好。
這頁只負責列印條件,不改資料
本頁沒有新增/修改/刪除動作,只有一組起訖日期條件與列印/預覽。要建立或刪除日報請回 銀行往來日報。
前置需求¶
- 權限:O.銀行票據 →
O-140 銀行往來日報。列印頁與母表單共用同一支程式權限。 - 基礎資料:列印的內容直接來自已建立的日報資料,下列項目缺漏時報表會缺列或金額為 0——
| 資料 | 影響的結果 |
|---|---|
| 已建立的銀行往來日報(銀行往來日報,主檔+明細) | 報表是否列得出資料;沒有落在區間內的日報就印不出東西 |
| 日報明細的各帳戶餘額(前日/存入/提領/本日餘額、原幣餘額、匯率) | 報表各欄與末尾合計列的數字 |
操作步驟¶
從母表單列印(最常用)¶
- 在 銀行往來日報 瀏覽到要列印的日報。
- 按工具列的列印,系統開啟本列印頁,並自動把起始日期與截止日期都帶為目前日報的日期(等於只印這一天)。
- 確認或調整日期區間後,按列印或預覽即可。
自行設定日期區間列印¶
- 進入本列印頁後,左側預設選取 日期 條件。
- 在 起始日期/截止日期 兩個日期框輸入要列印的區間(格式
yyyy/MM/dd)。要印單一天就兩欄填同一日期;要印一段期間就填區間。 - 按列印(送印表機)或預覽(先看畫面)。報表
O140-1 銀行往來日報會列出區間內各帳戶的餘額,並在最後附一列合計。
小技巧
起訖日期兩者都要填,少填任一邊系統會判定「沒有報表資料」而不出報(詳見 欄位連動與附加功能)。
欄位說明¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 日期(條件種類) | — | 列印條件的種類,本頁固定為「日期」(程式預設 Condition = Date),畫面上以單選鈕呈現 |
| 起始日期 | ✔ | 列印區間起日,yyyy/MM/dd;從母表單開啟時自動帶為目前日報日期 |
| 截止日期 | ✔ | 列印區間迄日,yyyy/MM/dd;從母表單開啟時自動帶為目前日報日期 |
欄位連動與附加功能¶
這一節把「設定條件後按列印/預覽系統會做什麼」整理出來,都是程式碼真有的行為。
從母表單開啟時自動帶日期(GetPrintViewModel)¶
- 在 銀行往來日報 按列印時,母表單會
new BankfxrPrintViewModel並把目前日報的日期同時塞進 起始日期 與 截止日期。 - 因此預設就是「只印目前這一天的日報」,你不必再手動輸入;要印多天再自行把截止日期往後拉。
條件種類固定為「日期」(Condition = Date)¶
- 本列印頁的條件種類在程式中預設為
PrintConditionEnum.Date,畫面上的單選鈕綁定此值。日報是以日期為主鍵的單據,所以列印一律以日期區間為條件。
列印/預覽前的資料檢核(HaveReportData)¶
- 按列印或預覽前,系統會檢查 起始日期 與 截止日期:只要其中任一個是空白,就判定「沒有報表資料」而不會出報。
- 換句話說,起訖日期兩欄都必須有值,報表才會產生。
報表參數的組成(GetReportParameters)¶
- 送印時系統把 起始日期/截止日期 兩個值,分別當成報表的
BeginningDate/EndingDate參數傳給報表外掛。 - 報表外掛(
Bankfxr外掛)拿這兩個值組成查詢條件日期 between '起始日期' and '截止日期',呼叫後端 SPDARB_RPT_BANKFXR取出區間內的日報資料。
列印來源與合計列(IPrintSource / GetReports)¶
- 本頁實作
IPrintSource,提供報表清單只有一張:O140-1 銀行往來日報(報表抬頭「銀行往來日報」、尺寸 A4、區域 TW),資料來自 SQLiterpt_o140_bankfxr_report1。 - 報表外掛取完資料後會自動在明細末尾加一列合計(前日餘額/存入金額/提領金額/本日餘額加總;原幣餘額與匯率合計顯示為 0),所以報表最後一列就是當日/當區間的總部位。
常見問題¶
按了列印/預覽卻沒有出報?
本頁要求 起始日期 與 截止日期 兩欄都要有值,少填任一邊系統會判定「沒有報表資料」而不出報。請把起訖日期都填好(要印單日就兩欄填同一天)。
報表印出來是空的、沒有任何資料?
報表只列出日期落在起訖區間內、且已建立的日報。若該區間內根本沒有建過日報,就印不出資料。請先到 銀行往來日報 建立對應日期的日報。
報表的日期是怎麼帶進來的?我沒輸入也有值?
從 銀行往來日報 按列印開啟本頁時,系統會自動把目前那張日報的日期同時帶到起始與截止日期,所以預設就是只印目前這一天。要印一段期間,把截止日期往後改即可。
報表最後一列的合計是哪來的?我沒有建這列?
合計列是報表自動加上去的——把區間內各帳戶的前日/存入/提領/本日餘額加總後,補在明細最末列;原幣餘額與匯率欄的合計固定顯示為 0。這不是你要手動建立的明細。
相關功能¶
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/O-Check/images/):
bankfxrprint-step1.png— 列印頁條件面板:日期單選鈕+起訖日期框bankfxrprint-step2.png— 報表O140-1 銀行往來日報預覽(含末尾合計列)