程式資訊
- 程式 ID:
ORD_QRY3 - 所屬子系統:M.主管資訊
- 狀態:stable
客戶延納統計¶
功能簡介¶
「客戶延納統計」依訂單預訂交期落在指定月份的明細,比對實際出貨記錄,算出每筆訂單的延納日數與未納量,並彙總成三種報表:客戶別的延納率統計、客戶逐日的延交件數月報,以及逐筆的延交明細。適合業務/生管主管每月檢視交期達成狀況、找出延交客戶與延交品項。
判定邏輯一句話帶過:訂單若在指交日期(預訂交期)前就出齊(交貨量 ≥ 訂貨量且完納日期 ≤ 指交日期)即為準時;出貨晚於指交日期則計算延納日數;尚未交齊則以今天減指交日期暫估延納日數,並算出未納量。下單到指交之間天數很短的(≤「急單天數」)標為 急單、訂單明細備註含「完納」者標為 完納,這兩類都不計入延交件數。
前置需求¶
- 權限:M.主管資訊 →
M-180 客戶延納統計的瀏覽權限(列印另需列印權限)。 - 參數:
_prgpar第5001項「客戶急單天數」決定急單判定門檻。 - 基礎資料:查詢結果的完整度取決於下列資料——
| 資料 | 影響的結果 |
|---|---|
| 銷售訂單主檔/明細(含預訂交期、受訂日期) | 三頁的母體;指交日期=訂單明細預訂交期 |
| 出貨/銷售異動(trsama) | 交貨量/完納日期,決定是否準時交齊 |
| 客戶主檔(cudata) | 客戶簡稱、月報表的客戶清單 |
_prgpar 5001 客戶急單天數 |
急單 判定門檻(未設或 ≤0 時系統以 5 天計) |
「指交日期」的意思
本表單把訂單明細的預訂交期稱為「指交日期」(指定交貨日期),是延納判定的基準日。延交明細表上的指交日期欄即此值。
操作步驟¶
本表單為單一查詢條件(起訖日期)+三頁籤結果,不需新增或維護資料。
步驟一 設定查詢條件¶
- 從主選單開啟 主管資訊 → 客戶延納統計。
-
在條件面板輸入起訖日期:
- 起始交易日期:預設為當月 1 日。查詢實際只取此日期的年月(前 7 碼)當作「年度月份」,比對訂單明細的指交日期年月。
- 截止交易日期:預設為今天。此欄保留與舊版輸入對等,查詢時並未使用(見欄位連動與附加功能)。
查詢是「以月為單位」
系統用起始日期的年月抓資料,而非起訖日區間。想查 2026 年 5 月,起始日填
2026/05/01(或該月任一天)即可;填到日的部分不影響結果。
步驟二 執行查詢¶
- 按工具列的
查詢。 - 起始日期不足 7 碼(年月未填)時不會查詢、畫面維持空白。
- 查詢過程狀態列會依序顯示「1.延交明細表… / 2.成品延交表… / 3.客戶統計表…」的進度。
-
結果分三個頁籤呈現(見欄位說明):
- 客戶交貨延交表:客戶別的延交件數、交貨件數與延納率,最後一列為
合 計:。 - 客戶延交月報表:每個客戶三列(應交數/延納數/延納%),欄位為當月 1~31 日的逐日件數與合計。
- 延交明細表:逐筆訂單的指交/完納/受訂日期、訂貨量、交貨量、未納量、延納日數與備註。
- 客戶交貨延交表:客戶別的延交件數、交貨件數與延納率,最後一列為
步驟三 列印 / 匯出¶
-
切到要輸出的頁籤,再按工具列的
列印/預覽。系統依目前頁籤選對應報表:頁籤 報表 客戶交貨延交表 客戶交貨延納率統計表 客戶延交月報表 成品延納率統計表 延交明細表 客戶成品延交明細表 -
各頁籤的格線可直接匯出 Excel:在格線上按右鍵選匯出。
小技巧
報表會自動帶入起始日期換算的年與月作為標題參數,不需另外輸入。
欄位說明¶
查詢條件¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 起始交易日期 | 是 | yyyy/MM/dd;預設當月 1 日。查詢只取年月(前 7 碼) |
| 截止交易日期 | — | yyyy/MM/dd;預設今天。查詢未使用,僅保留輸入對等 |
客戶交貨延交表(頁籤一)¶
| 欄位 | 可編輯 | 說明 |
|---|---|---|
| 客戶代號/客戶簡稱 | — | 合計列以 合 計: 顯示 |
| 延交件數 | ✔ | 該客戶被判為延交的訂單筆數(可手動微調) |
| 交貨件數 | ✔ | 該客戶在指定月份的訂單總筆數 |
| 延納率 | — | 即時計算欄= 延交件數 ÷ 交貨件數 × 100(取兩位小數,交貨件數為 0 時顯示 0) |
客戶延交月報表(頁籤二)¶
| 欄位 | 說明 |
|---|---|
| 客戶代號/客戶簡稱 | 同一客戶連續三列 |
| 種類 | 應交數/延納數/延納% 三列一組 |
| 1~31 | 指定月份逐日的件數:應交數列=當日交貨件數、延納數列=當日延交件數、延納%列=當日延納率(取整數) |
| 合計 | 應交數列=月交貨總件數、延納數列=月延交總件數、延納%列=月延納率(取兩位小數) |
整月都沒交貨的客戶不列出
若某客戶當月逐日件數合計為 0,月報表會略過該客戶(不顯示三列)。
延交明細表(頁籤三)¶
| 欄位 | 說明 |
|---|---|
| 客戶代號/客戶簡稱 | 來自訂單與客戶主檔 |
| 訂單編號/訂單序號 | 訂單明細鍵值 |
| 品號/品名 | 訂購品項 |
| 指交日期 | 訂單明細的預訂交期(延納判定基準日) |
| 完納日期 | 交齊當下的最後一筆出貨交易日期;未交齊時為空 |
| 受訂日期 | 訂單受訂日期(與指交日期相減判定急單) |
| 訂貨量/交貨量 | 訂單數量與累計出貨數量 |
| 未納量 | 交齊時為 0;未交齊=訂貨量 − 交貨量 |
| 延納日數 | 見欄位連動與附加功能的計算說明 |
| 備註 | 急單/完納/空白;急單 列會以橘色底標示 |
欄位連動與附加功能¶
本頁所有數值都是查詢時在程式端依下列規則重算後產生的,理解這些規則就能對得上畫面數字。
查詢條件的取值規則¶
- 起始日期只取年月:按
查詢時,系統取起始交易日期的前 7 碼當「年度月份」,比對訂單明細的指交日期年月。年月未填滿(少於 7 碼)時直接不查、不報錯。 - 截止日期不參與查詢:截止交易日期沿用舊版欄位保留,輸入任何值都不影響結果——查詢一律以「起始日期的整個月份」為範圍。
急單天數的來源(影響 急單 判定)¶
- 查詢時系統讀
_prgpar第5001項「客戶急單天數」。 - 該值非數字或 ≤ 0 時,系統自動以 5 天計。
- 當你查到一筆訂單的指交日期 − 受訂日期 ≤ 急單天數,該筆備註標為
急單,且不計入延交件數(視為來不及準備的急單,不苛責延交)。
急單 / 完納 / 延納的判定順序¶
逐筆訂單明細的備註與延納,依下列順序判定:
- 急單優先:指交日期 − 受訂日期 ≤ 急單天數 → 備註
急單。 - 否則看訂單明細的完納備註含「完納」→ 備註
完納。 - 否則備註留空,進入延納計算:
- 已交齊(交貨量 ≥ 訂貨量):未納量=0。若完納日期 ≤ 指交日期 → 延納日數 0(準時);否則延納日數=完納日期 − 指交日期。
- 未交齊(交貨量 < 訂貨量):未納量=訂貨量 − 交貨量、完納日期清空,延納日數=今天 − 指交日期(已逾期的暫估天數)。
完納日期怎麼來
程式逐筆掃出貨記錄,把交易日期較晚的當成完納日期、並累加交貨量;因此完納日期=交齊當下的最後一筆出貨日。未交齊的訂單完納日期會被清空。
延交件數的認定(影響統計表與月報)¶
一筆訂單被算進「延交件數」必須同時滿足:備註不是 急單、不是 完納,且未納量 > 0 或 延納日數 > 0。也就是說準時交齊(延納日數 0、未納量 0)、急單、完納,都不算延交。
- 客戶交貨延交表:依客戶分組,交貨件數=該客戶當月訂單筆數,延交件數=符合上述條件的筆數。最後加一列
合 計:,並對每列算延納率。 - 客戶延交月報表:把每個客戶當月 1~31 日逐日的交貨件數(應交數)、延交件數(延納數)、延納率(延納%)攤平成三列。
重新計算延納率 按鈕¶
頁籤一(客戶交貨延交表)的延交件數、交貨件數欄位可手動修改。改完後按 重新計算延納率:
- 系統把所有非合計列的延交件數、交貨件數重新加總回
合 計:列。 - 各列的延納率為即時計算欄(綁定到件數),件數一改即同步更新,不需另外刷新。
當你想手動排除某些不該算延交的訂單、再看修正後的整體延納率時,就用這個按鈕重抓合計。
急單 列橘色標示¶
延交明細表載入每一列時,備註為 急單 的列會套用橘色底色,方便一眼挑出來不及準備的急單。
此標示為新版強化
橘色標示是新版自行加上的視覺輔助,舊 VFP 版無此功能;它只改變顏色,不影響任何統計數字。
列印與報表參數¶
- 本表單透過既有
.frx報表機制列印,依目前頁籤自動選報表(客戶交貨延納率統計表/成品延納率統計表/客戶成品延交明細表)。 - 報表會自動帶入起始日期換算的年、月兩個參數作為標題。
- 各頁籤格線支援右鍵匯出 Excel。
常見問題¶
按了查詢卻沒有任何資料?
最可能是起始日期年月未填滿——少於 7 碼(例如只填年)時系統直接不查。請確認起始交易日期填到完整的 yyyy/MM/dd。其次確認該月份確實有預訂交期落在當月的訂單。
改了截止日期,結果完全沒變?
這是正常的。查詢只看起始日期的年月,截止交易日期不參與查詢(保留欄位)。要查不同月份請改起始日期。
某些明顯延交的訂單沒被算進延交件數?
延交件數只算「備註不是 急單、不是 完納,且未納量 > 0 或延納日數 > 0」的訂單。請檢查該筆是否被判為 急單(指交 − 受訂 ≤ 急單天數)或訂單明細備註含「完納」——這兩類刻意不計延交。
急單天數沒設,急單判定會怎樣?
系統讀 _prgpar 第 5001 項「客戶急單天數」,若未設、非數字或 ≤ 0,一律以 5 天計。要調整門檻請維護該參數。
客戶延交月報表少了某個有訂單的客戶?
月報表只列當月逐日件數合計 > 0 的客戶;若該客戶當月沒有任何交貨件數則會被略過。也請確認客戶主檔有對應資料以帶出客戶簡稱。
改了延交件數,合計列卻沒變?
手動修改件數後要按一次 重新計算延納率,系統才會把非合計列重新加總回 合 計: 列;延納率欄則會在件數變動時即時更新。
相關功能¶
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/M-EIS/images/):
ord_qry3-step1.png— 條件面板(起訖日期)與工具列查詢鈕ord_qry3-step2.png— 客戶交貨延交表頁籤(含合 計:列與「重新計算延納率」鈕)ord_qry3-step3.png— 延交明細表頁籤(含急單橘色標示列)