跳轉到

程式資訊

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

應付帳齡查詢條件

功能簡介

「應付帳齡查詢條件」是應付帳齡表查詢(程式代號 PAY_QRY1)上方的查詢條件面板,本身不是獨立功能,而是嵌在母查詢頁裡的條件區。會計、財務人員在按 查詢 之前,先在這個面板上設定:

  1. 帳齡要算到哪一天(現有餘額=今天,或指定一個截止日期)。
  2. 帳齡分組的六段天數區間(30/60/90 天…的切點)。
  3. 要查的廠商代號範圍
  4. 「未付帳款彙總表」用來區分前期/本期的結帳年月

設定完按 查詢,系統就會以這些條件呼叫後端 SP,把結果填進母頁的五個結果頁籤(未付帳款彙總、帳齡分析、未付帳款明細、會計師帳齡表、逾期帳齡表)。

本頁是條件面板,不是獨立選單

應付帳齡查詢條件 沒有自己的選單入口,也沒有新增/修改/刪除資料的能力,它只負責「收集查詢條件」。實際的資料、報表、Excel 匯出都在母頁,請搭配應付帳齡表查詢一起看。

前置需求

  • 權限:I.應收應付 → PAY_QRY1 應付帳齡表查詢 的瀏覽(與列印)權限。條件面板隨母頁一起開啟,沒有獨立權限。
  • 基礎資料:條件本身只是篩選參數,但查得到什麼、金額正不正確,取決於下列主檔/單據的維護狀況——
資料 影響的結果
廠商主檔(廠商代號/簡稱) 條件面板的 廠商代號 起訖選取;查詢結果的廠商簡稱、收付條件、付款條件
應付帳款單據(立帳、沖帳) 帳齡分組的金額來源(本幣應收付 − 沖帳本幣)
收付條件(付款條件)主檔 逾期帳齡表的到期日判斷、付款條件說明
本位幣設定 多幣別廠商換算本幣金額時的判斷基準

操作步驟

條件面板由上而下共四列,設定完成後按母頁工具列的 查詢

條件面板四列

  1. 設定查詢別(第一列):
    • 現有餘額:以今天為帳齡基準日,右側的截止日期欄會變灰(不可輸入)。
    • 截止日期:以你輸入的截止日期為帳齡基準日,右側日期欄解鎖,請輸入要結算到的日子。
  2. 設定期間(第二列):六個小方塊 P1~P6,代表帳齡分組的每段天數(不是累計天數)。預設 30 / 30 / 30 / 90 / 180 / 360,可直接改成貴公司的帳齡口徑。
  3. 設定廠商代號範圍(第三列):用 起始廠商截止廠商 兩個廠商查詢框圈定範圍。預設起始為空、截止為 zzzzzz,等於全部廠商
  4. 設定結帳年度/結帳月份(第四列):供「未付帳款彙總表」拆分前期未結款/本期應付款用。預設帶上個月的年月。
  5. 回到母頁按 查詢,結果顯示在五個頁籤。

改完條件再查一次即可

條件面板的任何欄位改完後,重新按一次母頁的 查詢 就會用新條件重算,不需要關掉重開。

欄位說明

欄位 必填 說明/格式/預設
查詢別 單選 現有餘額截止日期,二擇一。預設 現有餘額CurrentAmount
截止日期 條件 帳齡基準日。僅查詢別=截止日期時可輸入,否則欄位變灰;短日期格式。預設帶今天
P1 第 1 段帳齡天數,預設 30(最多 3 位數)
P2 第 2 段帳齡天數,預設 30
P3 第 3 段帳齡天數,預設 30
P4 第 4 段帳齡天數,預設 90
P5 第 5 段帳齡天數,預設 180
P6 第 6 段帳齡天數,預設 360
起始廠商 廠商代號範圍起點,預設空字串(不設下限)。透過廠商查詢框選取,不檢核是否存在
截止廠商 廠商代號範圍終點,預設 zzzzzz(不設上限)
結帳年度 西元年(最多 4 位),預設上個月所屬年度
結帳月份 月份(2 位),預設上個月月份(補零,如 05

P1~P6 是「每段天數」不是「累計天數」

系統會自己把它們累加成分組切點:第 1 組是 1~P1 天、第 2 組是 P1+1 ~ P1+P2 天,依此類推,最後一組是「超過 P1+…+P6 天」。所以預設值 30/30/30/90/180/360 換算出來的切點是 30、60、90、180、360、720 天,第七段是「720 天以上」。

欄位連動與附加功能

這一節把「在條件面板上動了什麼,系統會做什麼」逐條列出,全部來自實際程式碼。

查詢別 ↔ 截止日期 的連動(啟用/停用)

  • 當你把查詢別切成 截止日期 時,系統立刻把截止日期欄位設為可輸入(截止日期IsEnabled = true);切回 現有餘額 時,截止日期欄立刻變灰、不可編輯。
  • 這個連動在你點選單選鈕的當下就生效,不必按查詢。

查詢別決定「帳齡基準日」

查詢 後,後端用查詢別決定整份帳齡的基準日(往回算天數的那一天)

  • 查詢別=現有餘額 → 基準日=今天DateTime.Now),對應 VFP 的 L_DATE = DATE()
  • 查詢別=截止日期 → 基準日=你輸入的截止日期(解析成功時),對應 VFP 的 L_DATE = CTOD(截止日期)

每一筆未付款都用「基準日 − 立帳日期」算出已過天數,再丟進 P1~P6 的分組裡。所以同一批資料,選 現有餘額 和選 截止日期 算出來的帳齡分組會不同。

P1~P6 決定帳齡分組與報表抬頭

  • 分組落點:每筆未付金額依「基準日 − 立帳日期」的天數,落進 ≤P1≤P1+P2、…、≤P1+…+P6超過 七個桶子之一,彙總成「帳齡分析表」「逾期帳齡表」的各欄金額。
  • 報表欄位抬頭跟著變:列印「帳齡分析表」時,欄位標題不是寫死的,而是用你輸入的 P 值即時組出來,例如 1 ~ 3031 ~ 6061 ~ 90…,最後一欄是「Over 720」之類。你把 P 值改大,列印出來的欄位標題也會跟著變。

廠商代號範圍

  • 起始廠商截止廠商 會原封不動帶進後端查詢,作為廠商代號的下界與上界。
  • 兩個廠商查詢框都設定為不檢核資料存在CheckDataExist="false"),所以你打半截代號或留空也不會被擋;空起始+zzzzzz 截止=抓全部廠商。

結帳年度/月份只影響「未付帳款彙總表」

  • 結帳年度結帳月份 會組成 年度/月份(例 2026/05),只用在母頁的未付帳款彙總表
    • 前期未結款:帳款期別早於該年月的未付金額加總。
    • 本期應付款:帳款期別等於該年月的未付金額加總。
    • 前期本期小計:帳款期別不晚於該年月的未付金額加總。
  • 帳齡分析表、明細、會計師帳齡表、逾期帳齡表不受結帳年月影響,只看查詢別與 P 值。

條件帶入母頁後的後續處理(在母頁,不在本面板)

查詢 後,母頁(應付帳齡表查詢)會用本面板的條件呼叫後端 SP,再把結果分頁填好,並提供:

  • Excel 匯出:一次匯出帳齡分析表、未付帳款彙總/明細、會計師帳齡表、逾期帳齡表、會計師簡表等多張工作表。
  • 報表列印:帳齡分析表、未付帳款彙總表、未付帳款明細表(列印時帶入上面所說的 P 值動態欄位抬頭)。

這些動作都掛在母頁,不在條件面板上。

本面板沒有「重設條件」按鈕

程式內雖有把所有條件還原成預設值的邏輯(ResetToDefault,會把 P 值還原成 30/30/30/90/180/360、截止廠商還原成 zzzzzz、結帳年月還原成上個月),但目前面板上沒有對應的重設按鈕。要還原預設值,最直接的方式是關掉母頁再重新開啟。

常見問題

截止日期欄位是灰的,打不了字?

這是正常設計。只有把查詢別切成 截止日期,右側的截止日期欄才會解鎖;維持在 現有餘額 時它會變灰,因為現有餘額是以「今天」為基準,不需要你指定日子。

帳齡分組的天數想改成 30/60/90/120/150/180 怎麼設?

期間那一列的 P1~P6 六個小方塊,填的是每一段的天數,不是累計。要切成 30、60、90、120、150、180,請把六格填成 30 / 30 / 30 / 30 / 30 / 30(每段都間隔 30 天),系統會自動累加成 30/60/90/120/150/180 的切點。

結帳年度月份改了,帳齡分析表卻沒變?

結帳年度/月份只影響「未付帳款彙總表」的前期未結款/本期應付款/前期本期小計三個欄位。帳齡分析表、明細、會計師帳齡表、逾期帳齡表是看查詢別期間(P 值)算的,跟結帳年月無關。

查詢結果是空的,一筆都沒有?

先確認:(1) 起始廠商截止廠商 的範圍沒有把資料圈在外面(預設空~zzzzzz 是全部);(2) 該範圍內確實有未沖完的應付帳款;(3) 若選了 截止日期,日期不要早到所有單據都還沒立帳。系統只會列出仍有未付餘額的廠商(總未付為 0 的會被濾掉)。

為什麼結帳月份預設是上個月,不是這個月?

程式預設帶上個月的年月(DateTime.Now.AddMonths(-1)),因為應付帳齡通常是在月結後回顧上一個帳期。若要查本月,自行把結帳年度/月份改成當月即可。

相關功能


需補截圖清單

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

  1. apagecondition-step1.png — 條件面板四列全貌(查詢別/期間/廠商代號/結帳年月),最好分別截一張「現有餘額(截止日期變灰)」與「截止日期(解鎖)」對照。