程式資訊
- 程式 ID:
ApageCondition - 所屬子系統:I.帳款管理
- 狀態:stable
應付帳齡查詢條件¶
功能簡介¶
「應付帳齡查詢條件」是應付帳齡表查詢(程式代號 PAY_QRY1)上方的查詢條件面板,本身不是獨立功能,而是嵌在母查詢頁裡的條件區。會計、財務人員在按 查詢 之前,先在這個面板上設定:
- 帳齡要算到哪一天(現有餘額=今天,或指定一個截止日期)。
- 帳齡分組的六段天數區間(30/60/90 天…的切點)。
- 要查的廠商代號範圍。
- 「未付帳款彙總表」用來區分前期/本期的結帳年月。
設定完按 查詢,系統就會以這些條件呼叫後端 SP,把結果填進母頁的五個結果頁籤(未付帳款彙總、帳齡分析、未付帳款明細、會計師帳齡表、逾期帳齡表)。
本頁是條件面板,不是獨立選單
應付帳齡查詢條件 沒有自己的選單入口,也沒有新增/修改/刪除資料的能力,它只負責「收集查詢條件」。實際的資料、報表、Excel 匯出都在母頁,請搭配應付帳齡表查詢一起看。
前置需求¶
- 權限:I.應收應付 →
PAY_QRY1 應付帳齡表查詢的瀏覽(與列印)權限。條件面板隨母頁一起開啟,沒有獨立權限。 - 基礎資料:條件本身只是篩選參數,但查得到什麼、金額正不正確,取決於下列主檔/單據的維護狀況——
| 資料 | 影響的結果 |
|---|---|
| 廠商主檔(廠商代號/簡稱) | 條件面板的 廠商代號 起訖選取;查詢結果的廠商簡稱、收付條件、付款條件 |
| 應付帳款單據(立帳、沖帳) | 帳齡分組的金額來源(本幣應收付 − 沖帳本幣) |
| 收付條件(付款條件)主檔 | 逾期帳齡表的到期日判斷、付款條件說明 |
| 本位幣設定 | 多幣別廠商換算本幣金額時的判斷基準 |
操作步驟¶
條件面板由上而下共四列,設定完成後按母頁工具列的 查詢:

- 設定查詢別(第一列):
- 選
現有餘額:以今天為帳齡基準日,右側的截止日期欄會變灰(不可輸入)。 - 選
截止日期:以你輸入的截止日期為帳齡基準日,右側日期欄解鎖,請輸入要結算到的日子。
- 選
- 設定期間(第二列):六個小方塊
P1~P6,代表帳齡分組的每段天數(不是累計天數)。預設30 / 30 / 30 / 90 / 180 / 360,可直接改成貴公司的帳齡口徑。 - 設定廠商代號範圍(第三列):用
起始廠商~截止廠商兩個廠商查詢框圈定範圍。預設起始為空、截止為zzzzzz,等於全部廠商。 - 設定結帳年度/結帳月份(第四列):供「未付帳款彙總表」拆分前期未結款/本期應付款用。預設帶上個月的年月。
- 回到母頁按
查詢,結果顯示在五個頁籤。
改完條件再查一次即可
條件面板的任何欄位改完後,重新按一次母頁的 查詢 就會用新條件重算,不需要關掉重開。
欄位說明¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 查詢別 | ✔ | 單選 現有餘額/截止日期,二擇一。預設 現有餘額(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 ~ 30、31 ~ 60、61 ~ 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/):
apagecondition-step1.png— 條件面板四列全貌(查詢別/期間/廠商代號/結帳年月),最好分別截一張「現有餘額(截止日期變灰)」與「截止日期(解鎖)」對照。