程式資訊
- 程式 ID:
PRODUCTIONPLAN - 所屬子系統:M.主管資訊
- 狀態:stable
生產計劃查詢¶
功能簡介¶
「生產計劃查詢」把訂單、預示單、業績預估三種來源的需求彙整成一份生產計畫,透過 BOM 展開算出最低階零件的用料需求與採購金額,再把票據、帳款、在途採購與計劃預測串成一條資金線。適合業務/生管主管在排產前回答四個問題:
- 接下來一段期間要出哪些貨?(訂單、預示及預估)
- 換算成生產面,每個品號要做多少、內外製工時各多少?(生產計畫)
- 展開到最低階零件,要向哪些廠商買多少料、花多少錢?(使用量)
- 備了這些料、收了這些款,未來幾個月的資金撐不撐得住?(金流預測)
其中「預估」的邏輯是:訂單與預示都涵蓋不到的期間,抓去年同期的訂單數量 × 預估% 當作需求(交期自動 +365 天推到今年)。
找不到產能負荷、庫存缺口、模擬插單?它們搬家了
自 2026-06-25 起,本程式回歸「需求展開+資金線」的精簡面貌,原本的 原物料用量(庫存缺口)/模擬插單/產能負荷(需求)/樞紐分析 四個分頁已移到獨立的新程式 營運預測模擬。兩支程式的條件設定與查詢邏輯各自獨立,需要推演插單影響時請改開營運預測模擬。
前置需求¶
- 權限:M.主管資訊 →
M-20 生產計劃查詢的瀏覽權限。 - 基礎資料:查詢結果的完整度取決於下列資料的維護狀況——
| 資料 | 影響的結果 |
|---|---|
| 銷售訂單(含明細交期) | 「1.訂單」列、客戶設定的訂單截止日 |
| 預示單 | 「2.預示」列、客戶設定的預示區間 |
| 客戶報價(客報價單) | 訂單預示預估頁的單價/金額 |
| 廠商報價(含關稅稅率,需審核) | 使用量頁的單價/稅後單價/金額 |
| BOM 與製程(標準工時、生產部門) | 生產計畫頁的內外工時、使用量頁的展開結果 |
| 應收/應付票據、未沖帳款、收付條件、在途採購 | 金流預測頁的四層現金事件 |
| 匯率資料 | 成本匯率表的預設值(取當日賣出匯率) |
金流預測分頁需要額外的資料庫物件
金流預測依賴 TWORK_QRY_PRODPLAN_SUPPLY、TWORK_QRY_PRODPLAN_CASHBASE 兩支預存程序。未部署時該分頁會是空的,查詢完成後系統會一次列出警告訊息(含 SP 名稱與部署腳本路徑)。
操作步驟¶
整個流程依條件面板上標示的三個步驟進行:

步驟① 設定查詢條件¶
- 選擇資料別:
訂單、預示及預估:以訂單+預示+去年同期預估當需求來源(最常用)。製通單:直接以「訂單型製通單」的預訂完工日當需求來源(不需做步驟②)。
- 輸入起訖日期:預設為當年整年(1/1~12/31)。資料別為訂單時比對訂單預訂交期;為製通單時比對預訂完工日。
- 輸入截止報價日期:計算單價時只採用此日期(含)以前的最新報價。預設
9999/12/31表示不限制、一律取最新一筆。 - 視需要勾選刪除數量為零的資料(預設勾選)。
- 在「金流預測」框內設定 帳款立帳起日(只納入立帳日在此日之後的未沖帳款,用來濾掉多年未沖的殘留舊帳)與 資金警戒線(金流圖上會畫一條紅色水平線)。
- 調整成本匯率表:系統預設帶入當日賣出匯率,外幣的報價會以此表換算成本幣。直接點儲存格即可修改。
步驟② 產生客戶設定(資料別=製通單可略過)¶
- 輸入預估%(預設 100)。
- 按
查詢客戶設定資料,系統列出每個客戶的:- 訂單截止日:區間內最後一筆訂單交期。
- 預示單號/預示起訖:該客戶最新一張預示單的涵蓋區間(自動接在訂單截止日之後)。
- 預估起訖:訂單與預示都涵蓋不到的尾段,自動換算成去年的對應區間。
- 視需要逐列修改預估起始日/預估截止日/預估百分比(只有這三欄可編輯)。

備註
完全沒有訂單也沒有預示的客戶不會出現在清單中。訂單已涵蓋整段查詢區間的客戶,預示/預估區間會顯示 9999/12/31,表示不需要預估。
步驟③ 執行查詢¶
按工具列的 查詢,結果顯示在右側四個頁籤:
- 訂單、預示及預估:明細列依「類別」區分
1.訂單/2.預示/3.預估。單價取自客戶報價 × 成本匯率,金額=訂單數量 × 單價。 - 生產計畫:彙整為品號別的生產需求,含內外製單位工時(秒)與總工時(分)。查詢區間內沒有需求的成品會以備註「未生產」列出。
- 使用量(機種別):將生產計畫的品號做 BOM 最低階展開,依主要供應廠商列出單位用量、數量、單價、關稅稅率、稅後單價與金額。
- 金流預測:把票據、帳款、在途採購與計劃預測四層的現金事件排到時間軸上,畫出每月的收付堆疊柱與累計淨額折線(詳見下一節)。

小技巧
改了成本匯率或客戶設定後,直接再按一次 查詢 即可重算,不必重做步驟②。各頁籤的資料表格都支援匯出 Excel(資料表格右鍵)。
判讀金流預測分頁¶

- 上方來源勾選:
基礎(票據/帳款)是已存在的單據、推估(在途採購/計劃預測)是尚未發生的推估,可各自開關,圖與明細同步重算。 - 月堆疊柱:每月一柱,收(流入)向上、付(流出)向下,四種來源以顏色區分(票據/帳款/在途採購/計劃預測),右側有固定圖例。
- 累計淨額折線:逐月把(收−付)累加;圖上另有灰色零軸與紅色資金警戒線(金額取自條件面板)。
- 點圖表的某一柱段 → 下方金流明細立即過濾到「該月 × 該來源 × 該收付」;點圖表空白處即清除過濾。明細列收為綠底、付為紅底。
- 縱軸可用滑鼠滾輪縮放、拖曳上下平移(橫軸年月不縮放)。
與獨立的「金流預測」程式不同
本分頁是綁生產計畫口徑的版本:付款側含在途採購與計劃預測(依 BOM 缺口 × 稅後單價推估的未來採購)。若只想看單據面、口徑乾淨不含生產推估的現金預測,請改用獨立程式 金流預測。
步驟④ 存成生產計劃單(選用)¶
查詢結果預設只在畫面上,關掉就沒了;系統不會自動存。若這一版的計畫要留底、之後要回頭對照,就在查詢完成後把它存成一張有單號的生產計劃單。

- 先完成步驟①~③並確認查詢結果正確(尤其是成本匯率與客戶設定)。
- 在結果區上方的備註欄輸入這一版的說明(選填),例如
2026 上半年排產版、匯率改 32.5 重算。備註會顯示在歷史單清單上,是日後辨識版本最主要的線索,建議填。 - 按
存成生產計劃單。系統會把這次的查詢條件、成本匯率表、客戶設定、訂單預示預估、生產計畫、使用量一併存起來。 - 存檔完成後跳出訊息告知單號,格式為
PP+ 存檔日期 + 3 碼流水,例如PP20260824001(同一天連續存第二張為PP20260824002)。按確定後「歷史單」分頁會自動重新整理,看得到剛存的這張。
備註
- 存檔期間按鈕會暫時失效,資料量大時(使用量動輒數萬列)請耐心等待,不要重複按。
- 同一次查詢結果可以存很多次,每按一次就多一張單、各自有獨立單號;要清掉不需要的版本請到「歷史單」分頁刪除。
- 金流預測分頁不會被存:它是用「當下」的票據與帳款算出來的,不屬於計畫本身。
注意
尚未查詢、或查詢結果沒有任何生產計畫資料時按存檔,會被擋下並提示「請先查詢」。
歷史單分頁¶
存過的生產計劃單都收在歷史單分頁,可以查閱、載回畫面比對,或刪除不再需要的版本。

- 設定上方的單據日期起訖(預設為最近一年),按
查詢歷史列出該期間內存過的生產計劃單。 - 清單上每一列右側各有
載入與刪除兩顆按鈕。 - 按
載入把該張單的內容還原到畫面上:- 查詢條件與成本匯率表一併還原到條件面板,客戶設定也會回到當時存下的內容。
- 訂單預示預估/生產計畫/使用量三個頁籤顯示當時存下的結果。
- 畫面上方以紅字顯示
目前顯示:歷史單 PP20260824001,提醒現在看的不是即時資料。 - 金流預測分頁會清空並顯示「歷史單不重算」的提示。
- 要回到即時模式,只要重新按一次
查詢:畫面上方的歷史單標示與提示都會消失,四個頁籤重新以目前資料計算。
刪除不可復原
按 刪除 會先跳出確認訊息,確認後該張生產計劃單連同它的客戶設定、訂單預示預估、生產計畫、使用量明細一併刪除,無法復原。刪除前請先確認不是別人要用的版本。
欄位說明¶
查詢條件(步驟①)¶
| 欄位 | 必填 | 說明 |
|---|---|---|
| 資料別 | ✔ | 訂單、預示及預估 或 製通單 |
| 起訖日期 | ✔ | 預設當年整年;訂單比對預訂交期、製通單比對預訂完工日 |
| 截止報價日期 | — | 單價只取此日(含)前的最新報價;9999/12/31=不限制 |
| 刪除數量為零的資料 | — | 勾選時生產計畫頁不顯示數量為 0 的列(預設勾選) |
| 帳款立帳起日 | — | 金流預測只納入立帳日在此日(含)後的未沖帳款 |
| 資金警戒線 | — | 金流圖上紅色水平線的金額位置;UI 用途,不影響取數 |
| 成本匯率 | — | 各幣別換算本幣的匯率,預設當日賣出匯率,可修改 |
| 預估% | — | 產生客戶設定時帶入各客戶的預估百分比,預設 100 |
客戶設定(步驟②)¶
| 欄位 | 可編輯 | 說明 |
|---|---|---|
| 客戶代號/簡稱 | — | 排除停用客戶 |
| 訂單截止日 | — | 查詢區間內該客戶最後一筆訂單交期 |
| 預示單號/預示起始日/預示截止日 | — | 最新預示單與其涵蓋區間 |
| 預估起始日/預估截止日 | ✔ | 預估抓「去年」資料的區間,可手動調整 |
| 預估百分比 | ✔ | 去年訂單數量換算今年預估的比例 |
結果頁籤主要欄位¶
| 頁籤 | 欄位 | 說明 |
|---|---|---|
| 訂單、預示及預估 | 類別 | 1.訂單/2.預示/3.預估 |
| 訂單數量 | 預估列=去年數量 × 預估%(四捨五入至整數) | |
| 預訂交期 | 預估列已自動 +365 天換算到今年 | |
| 單價/金額/幣別 | 客戶報價 × 成本匯率;金額=訂單數量 × 單價(本幣) | |
| 實際交期 | 訂單列若已出貨,顯示出貨交易日期 | |
| 收付條件號 | 訂單/預估列取訂單單頭的收付條件;預示列取客戶主檔。單頭沒設時退回客戶主檔 | |
| 預收日 | 依收付條件+帳款起始日+預訂交期推算出的到期日(預計收到款的日子);條件查不到或算不出時空白 | |
| 生產計畫 | 來源單號 | 資料別=訂單預示時為訂單/預示單號,資料別=製通單時為製通單號 |
| 內/外單位工時(秒) | BOM 製程標準工時加總;生產部門為外包廠商者計入「外」 | |
| 內/外工時(分) | 數量 × 單位工時 ÷ 60 | |
| 品號X(無設變) | 品號去除設變碼(* 之前)的部分 |
|
| 收付條件號 | 該列客戶主檔的收付條件 | |
| 預收日 | 依收付條件+帳款起始日+該列日期推算出的到期日;算不出時空白 | |
| 備註 | 生產/未生產 |
|
| 使用量(機種別) | 組件編號 | 生產計畫的成品品號 |
| 廠商代號 | 取 BOM 設定中供應比例最高的廠商 | |
| 單價/稅後單價 | 廠商最新報價 × 成本匯率;稅後=單價 ×(1+關稅稅率) | |
| 金額 | 數量 × 稅後單價(本幣) | |
| 收付條件號 | 該列廠商主檔的收付條件 | |
| 預付日 | 依收付條件+帳款起始日+該列日期推算出的到期日(預計付款的日子);算不出時空白 | |
| 金流預測 | 層級 | 現金來源:票據/帳款/在途採購/計劃預測 |
| 收付 | 收(流入,綠底)/付(流出,紅底) |
|
| 預計現金日/年月 | 推算出的現金實際進出日與其年月(圖表分組鍵) | |
| 本幣金額/幣別 | 該筆現金的本幣金額(恆正,方向由收付表示) | |
| 來源單號/對象代號/對象簡稱 | 來源單據與往來對象 | |
| 可信度/備註 | 資料可信度與來源說明 |
預收日/預付日是怎麼算出來的
三張明細表的 預收日/預付日 都是同一個口徑:拿該列的收付條件與帳款起始日,配上基準日(訂單頁=預訂交期,生產計畫/使用量=該列日期),照收付條件設定推算出的到期日。
- 訂單與預估列的收付條件取自訂單單頭,因此同一個客戶的不同訂單若談了不同條件,會各自算各自的日子;預示列沒有單頭可取,一律用客戶主檔的條件。
- 條件查不到、條件設定算不出日期,或該列沒有基準日時,欄位留白。
- 金流預測分頁的「計劃預測」層直接沿用這兩欄的日期;欄位留白的列才退回以基準日(預訂交期/需求日期)當現金日,並在備註標「(無條件設定)」。想追某筆預測為什麼落在那個月,先看明細列的收付條件號與預收/預付日。
- 這兩欄與收付條件號都是算出來的顯示欄,不會存進生產計劃單;載入歷史單時會用載入當下的客戶/廠商主檔條件重新算一次填回畫面,此時訂單列不再取訂單單頭條件(單頭條件沒有隨單存下來),因此歷史單看到的條件與日期可能與當初查詢時不同;金流預測分頁仍照原規則不重算。
歷史單清單欄位¶
| 欄位 | 說明 |
|---|---|
| 單號 | 存檔時自動編出的生產計劃單單號,格式 PP+存檔日期+3 碼流水(例:PP20260824001) |
| 單據日期 | 存檔當天的日期,也是上方起訖日期的篩選依據 |
| 起始日期/截止日期 | 存檔當時查詢條件的起訖日期 |
| 截止報價日期 | 存檔當時的截止報價日期 |
| 備註 | 存檔時在備註欄輸入的版本說明 |
| 生產計畫筆數 | 該張單存下的生產計畫列數 |
| 使用量筆數 | 該張單存下的使用量列數(通常遠多於生產計畫) |
| 輸入人員 | 執行存檔的使用者 |
| 輸入日期 | 存檔的日期時間(yyyy/MM/dd HH:mm) |
| 載入/刪除 | 每列的操作按鈕,用法見歷史單分頁操作說明 |
預估邏輯說明¶
預估不會扣掉目前的訂單或預示數量——它是用「時間切割」避免重複,而不是數量互抵。
步驟②產生客戶設定時,系統把每個客戶的查詢區間切成三段接力:
查詢區間: 1/1 ────────────────────────── 12/31
訂單: 1/1 ──→ 訂單截止日(區間內最後一筆訂單交期)
預示: 訂單截止日+1 ──→ 預示截止日
預估: 預示截止日+1 ──→ 12/31
↓ 換算成「去年」的同一段
預估實際抓: 去年(預示截止日+1) ──→ 去年12/31 的訂單 × 預估%
預估只抓「訂單和預示都涵蓋不到的尾段」所對應的去年同期訂單,再乘上預估%、交期 +365 天推到今年。它跟今年的訂單/預示是「接在後面」而不是「重疊後相減」:
- 客戶的訂單已排到 12/31 → 預估區間顯示
9999/12/31,完全不做預估。 - 訂單排到 3 月、預示排到 8 月 → 預估只抓「去年 8 月之後~去年年底」的訂單。
- 預估數量=去年那段的訂單數量 × 預估%,不會再減掉今年已接的單。
兩個要留意的邊界
- 預估區間可以手動改:客戶設定的預估起訖是可編輯欄位。若把預估起始日往前拉到與訂單/預示重疊的時段,系統不會幫忙扣重,該時段需求會被計算兩次——這是設計上交給使用者控制的。
- 訂單與預示之間沒有明細層互扣:預示列取的是「最新預示單在整個查詢區間內的明細」,沒有按預示起始日裁切。若同一時段既有訂單又有預示排程,兩者會同時計入;預示起訖欄位主要用途是推算預估區間。
與客戶查詢的差異
客戶資料查詢 的「未交數量=訂單數量-已交數量」才是扣量概念;生產計劃查詢純粹是日期接力,兩者不要混淆。
常見問題¶
資料別選「製通單」查不到任何資料?
製通單查詢只取製單別=訂單且預訂完工日落在起訖區間內的製通單。請先確認區間內有訂單型製通單存在。
某個客戶沒出現在客戶設定清單?
查詢區間內沒有訂單、也沒有任何預示單的客戶不會列出;已停用的客戶也會排除。
訂單預示預估頁的單價/金額是 0?
單價來自客戶報價單。請確認:該客戶+品號有報價、報價日期早於「截止報價日期」。有設變碼的品號若找不到完全相同的報價,會退而比對 * 之前的相同前置碼。
使用量頁的單價/稅後單價是 0?
廠商單價來自已審核的廠商報價。請確認該零件+主要供應廠商有已審核的報價,且日期符合「截止報價日期」。
預估會不會跟訂單/預示重複計算?會扣掉已接的訂單嗎?
不會扣量——系統用「時間切割」避免重複,而不是數量互抵:預估只抓「訂單和預示都涵蓋不到的尾段」對應的去年同期訂單 × 預估%。完整的切割方式、範例與兩個邊界情況請見預估邏輯說明。
改了成本匯率,金額沒變?
修改匯率表後要再按一次「查詢」才會重算。
以前有的「產能負荷」「庫存缺口」「模擬插單」「樞紐分析」分頁不見了?
這四個分頁自 2026-06-25 起移到獨立程式 營運預測模擬,本程式只保留訂單預示預估/生產計畫/使用量/金流預測四頁。條件面板底部的步驟③說明文字若仍列出「原物料用量」,是尚未更新的畫面提示文字,以實際頁籤為準。
金流預測分頁空白,其他分頁都有資料?
金流預測需要 TWORK_QRY_PRODPLAN_SUPPLY、TWORK_QRY_PRODPLAN_CASHBASE 兩支預存程序。未部署時該分頁會是空的,查詢後會跳出警告訊息列出缺少的 SP 與部署腳本路徑,請交給系統管理員執行。
按了「存成生產計劃單」沒反應,或提示要先查詢?
存檔的對象是畫面上目前的查詢結果,所以必須先完成步驟①~③並且查得到生產計畫資料。生產計畫沒有任何資料時按存檔會被擋下並提示先查詢——常見原因是條件區間內沒有需求、或勾了「刪除數量為零的資料」後整份計畫都被濾掉。
另外,存檔進行中按鈕會暫時失效(資料量大時需要一段時間),這時看起來像沒反應,請等候完成訊息,不要重複按。
歷史單分頁查不到剛存的單(或一張都沒有)?
依序確認:
- 單據日期範圍——分頁上方的起訖日期預設是最近一年,比對的是「存檔當天的日期」。改過日期後要再按一次
查詢歷史。 - 資料庫尚未部署——存放生產計劃單的資料表與單號設定需要由系統管理員執行部署腳本。未部署時會存不進去(或查不到清單),請聯絡系統管理員。
- 部署後要重新登入——單號編碼設定是在登入時載入的,剛部署完請先登出再登入一次,否則單號可能編不出來。
載入歷史單後,金流預測分頁是空的?
這是設計如此。金流預測是用「當下」的票據、帳款、在途採購推算出來的快照,不隨生產計劃單一起存檔;載入歷史單時會清空該分頁並顯示「歷史單不重算」的提示,以免拿舊數字誤導判斷。要看最新的資金線,重新按一次 查詢 回到即時模式即可。
相關功能¶
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/M-EIS/images/):
productionplan-step2.png— 客戶設定 grid(含可編輯的預估欄位)productionplan-step3.png— 查詢結果四頁籤(建議以「訂單、預示及預估」頁為主畫面)productionplan-step4.png— 金流預測頁籤(月堆疊柱+累計淨額線+警戒線+明細)productionplan-step5.png— 結果區上方存檔工具列(備註欄+存成生產計劃單鈕;建議一併拍到存好後的單號訊息)productionplan-step6.png— 歷史單分頁(單據日期起訖+查詢歷史+清單含載入/刪除鈕;最好有一列已載入、上方顯示「目前顯示:歷史單 PP20260824001」)