跳轉到

程式資訊

  • 程式 IDBankfxrPrint
  • 所屬子系統:O.銀行票據
  • 狀態:stable

銀行往來日報列印頁

功能簡介

「銀行往來日報列印頁」是 銀行往來日報(O-140)的列印伴隨頁:它本身不維護資料,只是讓你設定一段日期區間,把該區間內的日報以報表 O140-1 銀行往來日報(A4)列印或預覽出來。由出納/財務人員在查核資金部位、要把日報交給主管或存查時使用。一般情況下你不需要單獨開這頁——在母表單 銀行往來日報 按工具列的列印,系統會自動開啟本頁並把日期帶好。

這頁只負責列印條件,不改資料

本頁沒有新增/修改/刪除動作,只有一組起訖日期條件與列印/預覽。要建立或刪除日報請回 銀行往來日報

前置需求

  • 權限:O.銀行票據 → O-140 銀行往來日報。列印頁與母表單共用同一支程式權限。
  • 基礎資料:列印的內容直接來自已建立的日報資料,下列項目缺漏時報表會缺列或金額為 0——
資料 影響的結果
已建立的銀行往來日報(銀行往來日報,主檔+明細) 報表是否列得出資料;沒有落在區間內的日報就印不出東西
日報明細的各帳戶餘額(前日/存入/提領/本日餘額、原幣餘額、匯率) 報表各欄與末尾合計列的數字

操作步驟

從母表單列印(最常用)

  1. 銀行往來日報 瀏覽到要列印的日報。
  2. 按工具列的列印,系統開啟本列印頁,並自動把起始日期截止日期都帶為目前日報的日期(等於只印這一天)。
  3. 確認或調整日期區間後,按列印或預覽即可。

自行設定日期區間列印

  1. 進入本列印頁後,左側預設選取 日期 條件。
  2. 起始日期截止日期 兩個日期框輸入要列印的區間(格式 yyyy/MM/dd)。要印單一天就兩欄填同一日期;要印一段期間就填區間。
  3. 按列印(送印表機)或預覽(先看畫面)。報表 O140-1 銀行往來日報 會列出區間內各帳戶的餘額,並在最後附一列合計

小技巧

起訖日期兩者都要填,少填任一邊系統會判定「沒有報表資料」而不出報(詳見 欄位連動與附加功能)。

欄位說明

欄位 必填 說明/格式/預設
日期(條件種類) 列印條件的種類,本頁固定為「日期」(程式預設 Condition = Date),畫面上以單選鈕呈現
起始日期 列印區間起日,yyyy/MM/dd;從母表單開啟時自動帶為目前日報日期
截止日期 列印區間迄日,yyyy/MM/dd;從母表單開啟時自動帶為目前日報日期

欄位連動與附加功能

這一節把「設定條件後按列印/預覽系統會做什麼」整理出來,都是程式碼真有的行為。

從母表單開啟時自動帶日期(GetPrintViewModel)

  • 銀行往來日報 按列印時,母表單會 new BankfxrPrintViewModel 並把目前日報的日期同時塞進 起始日期截止日期
  • 因此預設就是「只印目前這一天的日報」,你不必再手動輸入;要印多天再自行把截止日期往後拉。

條件種類固定為「日期」(Condition = Date)

  • 本列印頁的條件種類在程式中預設為 PrintConditionEnum.Date,畫面上的單選鈕綁定此值。日報是以日期為主鍵的單據,所以列印一律以日期區間為條件。

列印/預覽前的資料檢核(HaveReportData)

  • 按列印或預覽前,系統會檢查 起始日期截止日期只要其中任一個是空白,就判定「沒有報表資料」而不會出報
  • 換句話說,起訖日期兩欄都必須有值,報表才會產生。

報表參數的組成(GetReportParameters)

  • 送印時系統把 起始日期截止日期 兩個值,分別當成報表的 BeginningDateEndingDate 參數傳給報表外掛。
  • 報表外掛(Bankfxr 外掛)拿這兩個值組成查詢條件 日期 between '起始日期' and '截止日期',呼叫後端 SP DARB_RPT_BANKFXR 取出區間內的日報資料。

列印來源與合計列(IPrintSource / GetReports)

  • 本頁實作 IPrintSource,提供報表清單只有一張:O140-1 銀行往來日報(報表抬頭「銀行往來日報」、尺寸 A4、區域 TW),資料來自 SQLite rpt_o140_bankfxr_report1
  • 報表外掛取完資料後會自動在明細末尾加一列合計(前日餘額/存入金額/提領金額/本日餘額加總;原幣餘額與匯率合計顯示為 0),所以報表最後一列就是當日/當區間的總部位。

常見問題

按了列印/預覽卻沒有出報?

本頁要求 起始日期截止日期 兩欄都要有值,少填任一邊系統會判定「沒有報表資料」而不出報。請把起訖日期都填好(要印單日就兩欄填同一天)。

報表印出來是空的、沒有任何資料?

報表只列出日期落在起訖區間內、且已建立的日報。若該區間內根本沒有建過日報,就印不出資料。請先到 銀行往來日報 建立對應日期的日報。

報表的日期是怎麼帶進來的?我沒輸入也有值?

銀行往來日報 按列印開啟本頁時,系統會自動把目前那張日報的日期同時帶到起始與截止日期,所以預設就是只印目前這一天。要印一段期間,把截止日期往後改即可。

報表最後一列的合計是哪來的?我沒有建這列?

合計列是報表自動加上去的——把區間內各帳戶的前日/存入/提領/本日餘額加總後,補在明細最末列;原幣餘額與匯率欄的合計固定顯示為 0。這不是你要手動建立的明細。

相關功能


需補截圖清單

以下截圖待功能 runtime 驗收後補拍(放 docs/O-Check/images/):

  1. bankfxrprint-step1.png — 列印頁條件面板:日期單選鈕+起訖日期框
  2. bankfxrprint-step2.png — 報表 O140-1 銀行往來日報 預覽(含末尾合計列)