跳轉到

程式資訊

  • 程式 IDAPPRINTPAGE
  • 所屬子系統:I.帳款管理
  • 狀態:stable

應付帳款列印條件

功能簡介

「應付帳款列印條件」是應付帳款單據在按下 列印 時跳出的列印條件伴隨頁,本身不查資料、不存資料,只負責讓你選定列印範圍報表,再交由報表引擎產生紙本或預覽。它不會單獨出現在主選單,而是從應付帳款表單內被叫起來。

由應付帳款開啟時,系統會把目前這張單據的財務單號帳款期別先帶進條件,付款日期區間預設為當月,所以多數情況下你只要直接按列印即可印出目前這張應付帳款單。

與帳齡查詢的差別

本頁印的是單張/一段範圍的應付帳款對帳單與折讓單;如果要看的是依廠商分桶的帳齡彙總,請改用應付帳齡分析查詢,那是另一支獨立的查詢報表。

前置需求

  • 權限:I.AR/AP → 應付帳款(PAYMNT)的瀏覽權限,以及列印權限;本頁隨應付帳款表單開啟,不另設選單項目。
  • 基礎資料:報表內容的完整度取決於下列資料——
資料 影響的結果
應付帳款(含明細) 對帳單的金額、發票、明細列來源;沒有資料就印不出內容
廠商主檔 報表上的廠商簡稱/名稱、付款方式、付款條件
單據別設定(單據別說明 折讓單彙總、明細的財務類別/單據名稱翻譯
報表範本(FastReport .frx 三張報表的版面;範本缺漏會導致預覽空白

操作步驟

  1. 應付帳款表單上開啟要列印的單據,按工具列的 列印,系統彈出本條件頁,並已帶入目前單據的財務單號帳款期別
  2. 在上方兩個條件區塊中擇一勾選列印範圍(兩區塊的圓鈕互斥,只有被勾選的那一組條件會生效):
    1. 財務單號:輸入起/訖財務單號,列印這段單號區間內的應付帳款。
    2. 廠商代號:輸入起/訖廠商代號起/訖付款日期,改以廠商+付款日期區間列印。
  3. 從報表清單中選擇要印的報表(見欄位連動與附加功能的報表清單):

    報表編號 報表抬頭
    I010-1 應付帳款單
    I010-3 折讓單彙總表
    I010-4 電子發票折讓單
  4. 預覽 在螢幕上檢視,確認無誤後 列印 出紙本,或匯出 PDF/其他格式。

小技巧

從應付帳款表單開啟時條件已自動帶好,多數情況直接選報表、按預覽即可,不必再手動輸入單號。

欄位說明

欄位 必填 說明/格式/預設
財務單號(起~訖) 視範圍 選「財務單號」範圍時必填;由應付帳款開啟時,起、訖都預帶目前單據的財務單號
廠商代號(起~訖) 選「廠商代號」範圍時使用;程式不做必填檢核(空白也可列印)。支援廠商搜尋(不檢核資料存在)。由應付帳款開啟時起為空、訖預帶 zzzz
付款日期(起~訖) 搭配廠商代號範圍使用;由應付帳款開啟時起=當月 1 號、訖=今天
列印範圍(圓鈕) 「財務單號」與「廠商代號」互斥,預設為財務單號範圍

帳款期別/往來對象欄位

程式中另有「帳款期別(StatementPeriod)」與「往來對象代號」兩個條件欄位,但目前列印頁上隱藏不顯示(XAML 設為 Collapsed)。帳款期別仍會由應付帳款表單於背景帶入,作為報表參數使用;操作上不需也無法在此頁手動調整。

欄位連動與附加功能

這一節說明「輸入某欄位」「按某按鈕」之後系統實際會做什麼,全部取自程式碼。

由應付帳款開啟時的預帶值

當你在應付帳款表單按 列印,系統呼叫 GetPrintViewModel() 建立本頁,並依目前單據自動帶入:

  • 起/訖財務單號 ← 目前應付帳款的財務單號(兩者相同,等於先鎖定「只印這一張」)。
  • 起廠商代號 ← 空字串;訖廠商代號zzzz(等於「全部廠商」的上界)。
  • 起付款日期 ← 當月 1 號;訖付款日期 ← 今天。
  • 帳款期別 ← 目前單據的帳款期別(背景參數,畫面不顯示)。
  • 列印範圍預設為財務單號Condition 預設 DocumentNo)。

所以一般直接列印時,印出的就是「目前這張應付帳款單」。

列印範圍圓鈕(互斥連動)

  • 兩個 GroupBox 標頭的圓鈕同屬一組(GroupName="Condition"),勾選任一個就會取消另一個
  • 勾選哪一組,就決定送進報表的 Condition 值:勾「財務單號」→ Condition = DocumentNo;勾「廠商代號」→ Condition = Date。報表範本再依這個值決定要採用起訖財務單號,還是起訖廠商代號+起訖付款日期。
  • 切換範圍不會清掉另一組已輸入的值;不論勾哪一組,GetReportParameters 都會把所有條件(起訖財務單號、起訖付款日期、起訖廠商代號、帳款期別、Condition)一併打包,由報表自行取用。

列印前的資料檢核(HaveReportData

按預覽/列印時,系統會依目前選的範圍先檢查條件是否齊全,不齊全就不產生報表

  • 財務單號範圍(Condition = DocumentNo):起、訖財務單號任一為空 → 不列印
  • 廠商代號範圍(程式內 Condition = Date):不做必填檢核,即使起訖廠商代號或付款日期空白也允許列印。
  • 帳款期別亦不做必填檢核。

廠商代號範圍不檢核

雖然 HaveReportData 內另有一個會檢查起訖廠商代號的分支(VendorCode),但畫面上「廠商代號」圓鈕實際送出的是 Date 條件,不會走到那段檢核,因此選此範圍時即使欄位空白也能按出列印。

報表清單(GetReports

本頁可選的報表固定為下列三張(皆為 A4、台灣區域):

報表編號 報表名稱 報表抬頭 用途
I010-1 Paymnt1 應付帳款單 對應目前條件的應付帳款對帳單
I010-3 Paymnt3 折讓單彙總表 折讓(減項)單據的彙總
I010-4 Paymnt4 電子發票折讓單 電子發票格式的折讓單

送進報表的參數(GetReportParameters

按列印時,下列值會打包成報表參數交給 FastReport:起訖財務單號、起訖付款日期、列印範圍(Condition)、帳款期別、起訖廠商代號。報表範本再依這些參數抓取對應的應付帳款資料呈現。

報表資料計算(背景)

報表內容由後端 SP 取回暫存資料後,於 C# 端 ApPrintBllApPrint_cyBll 完成分組與金額計算(廠商彙總、結帳表、明細、品號明細等)。其中應付/應收的減項單據會把貨款、稅額、沖帳金額轉為負值呈現;本幣金額依匯率與幣別小數位重算。這些都在背景進行,使用者只需設定條件與選報表。

常見問題

按了列印卻沒有任何反應、印不出來?

若列印範圍選「財務單號」,必須同時填起、訖財務單號,任一為空系統就不會產生報表。選「廠商代號」範圍則不檢核欄位,不會因此擋下。由應付帳款表單開啟時財務單號已自動帶好,通常不會發生。

為什麼只看到「財務單號」和「廠商代號」兩種範圍,沒有帳款期別可選?

帳款期別與往來對象兩個欄位在列印頁上刻意隱藏(程式設為 Collapsed)。帳款期別仍會在背景由應付帳款表單帶入並送進報表,不需也無法在此頁手動修改。

報表預覽是空白/印不到目前這張單?

請確認:(1) 列印範圍與條件是否對應到該單據(由應付帳款開啟時起訖財務單號預設就是目前單號);(2) 該應付帳款確實有明細資料;(3) FastReport 報表範本(.frx)存在且未損毀。三者任一缺漏都會造成預覽空白。

折讓相關金額顯示成負數正常嗎?

正常。應付的減項(折讓)與應收的加項單據,系統會在計算時把貨款、稅額、沖帳等金額轉為負值,以正確反映抵減效果,這是設計行為而非錯誤。

相關功能


需補截圖清單

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

  1. apprintpage-step1.png — 列印條件頁全貌(含財務單號/廠商代號兩個範圍區塊與圓鈕)
  2. apprintpage-step2.png — 報表清單選擇畫面(三張報表)
  3. apprintpage-step3.png — 應付帳款單預覽結果