> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alforse.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 需求預估

> 輸入你預期未來 52 週內某個自製零件的每週需求，讓 MRP 能在銷售訂單到達之前就規劃工單與採購，而實際訂單會耗用預估量，而不是疊加其上。

銷售訂單往往來得太晚，來不及及時生產或採購。需求預估讓規劃人員事先說明某個零件每週需要多少，讓 MRP 現在就能開始規劃工單與採購。當真實訂單進來時，它們會用掉預估量，而不是疊加在預估量之上計算。

## 概觀

| 問題 | 答案 |
| - | - |
| 在哪裡輸入預估？ | **生產 → 需求預測** |
| 針對哪些品項？ | 僅限自製零件 |
| 粒度為何？ | 每個零件、每個地點、每週一個數量 |
| 向前看多遠？ | 輸入表格中為 52 週 |
| 誰能編輯？ | 具有 `production` 權限的使用者 |
| 哪些方案？ | Business 與 Partner |

Alforse 不會為你計算預估——不涉及歷史資料、季節性或統計模型。你自己輸入數字；MRP 負責淨需求計算與 BOM 展開。

### 為什麼只限自製零件

表單的品項選擇器只提供你自己生產的零件（限定為 `type="Part"` 且 `replenishmentSystem="Make"`）。採購的元件仍然會有需求：MRP 在展開自製零件的物料清單時把需求下推給它們，所以它們不需要自己的預估。

### 輸入與輸出

NOTE

**兩個名稱相近的資料表**

你輸入的數字進入 `demandProjection`——那是**輸入**。MRP 把展開後、逐元件的需求寫入 `planningDemandForecast`——那是**輸出**，每次執行都會重新產生，絕不手動編輯。需求預測畫面只會讀寫 `demandProjection`。

在 `demandProjection` 中，每個品項、地點與每週期間各有一列，帶有 `quantity`。每週期間會隨表格從今天起向前滾動而建立。

## 輸入預估

1. 開啟**生產 → 需求預測**並新增預估。
2. 選擇**品項**與**地點**。
3. 填入各週。52 個週儲存格分在四個季度分頁中；第 1 週是目前這一週，每個儲存格都標有日曆日期。表格旁的長條與折線圖會在你輸入時繪出每週與累計的需求。
4. 儲存。下一次 MRP 執行就會使用新的數字。

| 欄位 | 必填 | 意義 |
| - | - | - |
| **品項** | 是 | 被預估的自製零件。只列出補貨系統為**自製**的零件。 |
| **地點** | 是 | 需求發生的庫存地點。每個地點有自己的數字，因此各廠可以不同。 |
| **第 1 週 … 第 52 週** | 否 | 預期在該週耗用的數量，從目前這一週起算。空白或零不會儲存任何東西。 |

### 儲存、編輯、刪除

* **儲存**只會存下有數量的週。把儲存格設為零會移除該週的列，而不是存下零，因此資料保持稀疏。
* **編輯**零件會把它已儲存的週載回表格。
* **刪除**零件的預估會清除該品項與地點的每一個未來週——不只是你正在看的那個分頁。

### 清單

清單畫面涵蓋接下來 48 週，把儲存的列轉回週欄位以便閱讀。它的第一欄標示為「本週」（Present Week）。

## MRP 如何使用預估

規劃在 Alforse 後端執行，並直接讀取 `demandProjection` 作為需求來源之一。

### 實際訂單耗用預測

預估是對你尚未收到之訂單的估計，因此訂單到達後不得再加在其上。每次執行時，MRP 都會把每個未結銷售訂單明細行與工單物料明細行，對照同一零件與地點的預估來沖抵，只有預估剩下的部分——*未耗用的餘額*——仍會計入。簡言之，**實際需求耗用預測**。

| 該週的預估 | 實際訂單 | MRP 規劃的需求 |
| - | - | - |
| 10 | 10 | 10——不是 20 |
| 10 | 12 | 12 |

訂單首先在它自己的那一週耗用預估。然後它會向前回溯，再向後延伸，延伸的週數依你允許的範圍而定。

### 耗用視窗

在**設定 → 規劃**下的**預測耗用**卡片上，用**往前看（週）**與**往後看（週）**設定全公司範圍的涵蓋。新公司兩者都從 0 開始，這會讓淨需求計算侷限在同一週內。

當你的預估起伏不定時，較寬的視窗會有幫助。假設你預估某週為 10、下一週為 0：日期落在空白週的訂單就可以耗用鄰近的 10，而不是被重複計算。如果你的預估準確到週，請讓兩個值都保持 0。

每次執行後，耗用的量會存入 `demandProjection.consumedQuantity`。規劃畫面、品項規劃圖與庫存都讀取同一個數字，而編輯表單會在實際需求已動用的每一週下方顯示「N 已消耗」（N consumed）。

### 哪些訂單會耗用

| 訂單 | 耗用預測？ |
| - | - |
| 未結銷售訂單 | 是，以其完整未結數量——即使是已連結工單已涵蓋它的接單生產明細行也一樣，因為預測預估的正是那一行。 |
| 日期早於目前這一週的訂單 | 否，但它仍計為需求。 |
| 沒有日期的訂單 | 是；視為現在到期。 |

已過去週的預估會直接離開時間範圍。它絕不會滯留成幽靈需求。

NOTE

**已在進行的工作在供給面計入**

耗用只在預測與實際*訂單*之間取得平衡。已開立的工單與採購單則另外處理，作為*供給*：在 BOM 展開期間，確定的工單與採購供給會對滾動的現有量與供給餘額計入一次。因此被進行中工單部分涵蓋的預估不會被規劃兩次，這兩種機制也絕不重疊。

### 從預估到元件需求

預估剩下的部分會加到實際需求（未結銷售訂單明細行與未結工單物料）上，得出總需求。MRP 展開每個自製零件的方法，將需求下推到元件，並把結果寫入 `planningDemandForecast`。同時，`planningDemandContribution` 資料表以其來源標記每一個單位——`"Sales Order"`、`"Job Material"` 或 `"Demand Projection"`——因此在零件的規劃頁面上，你可以開啟任一週，確切看到哪些預估、訂單與上層工單構成了它的需求。

HEADS UP

**MRP 提出建議；下單由你決定**

預估的需求會變成*建議的*工單與採購單，在你採取行動之前不會建立任何東西。[規劃（MRP）](https://docs.alforse.com/zh-Hant/docs/reference/planning.md)說明建議如何出現以及如何轉換；[再訂購政策](https://docs.alforse.com/zh-Hant/docs/reference/reordering.md)涵蓋決定預估會變成什麼的每個零件設定（前置時間、批量、安全庫存）。

## 技術參考

| 主題 | 詳細說明 |
| - | - |
| 品項選擇器篩選 | `apps/erp/app/modules/production/ui/DemandProjection/DemandProjectionForm.tsx` 中的 `type="Part"`、`replenishmentSystem="Make"`（也是含季度分頁與圖表的抽屜） |
| 儲存 | 每個 `week{i}` 與其 `period` ID 配對，並在 `apps/erp/app/routes/x+/production+/demand-forecasts.$itemId.$locationId.tsx` 中 upsert；零值儲存格由 `products/supply-and-production-planning/src/forecast/native-forecast.server.ts` 中的 `upsertDemandProjections` 刪除 |
| 刪除 | `apps/erp/app/routes/x+/production+/demand-forecasts.delete.$itemId.$locationId.tsx` |
| 輸入表格長度 | `demand-forecasts.new.tsx` 與 `demand-forecasts.$itemId.$locationId.tsx` 兩者中的 `WEEKS_TO_PROJECT = 52` |
| 清單長度 | `apps/erp/app/routes/x+/production+/demand-forecasts.tsx` 中的 `WEEKS_TO_PROJECT = 12 * 4`；樞紐轉換與「本週」標籤在 `apps/erp/app/modules/production/ui/DemandProjection/DemandProjectionTable.tsx` |
| 規劃進入點 | `products/supply-and-production-planning/src/planning-seam/index.ts` 中的 `runMrp` |
| 預測重建 | `products/supply-and-production-planning/src/modules/planning-and-mrp/planning-run.ts` |
| 需求溯源 | `products/supply-and-production-planning/src/modules/planning-and-mrp/mrp-engine.ts` |
| 方案功能 | `kernel/entitlements/src/plan.ts` 中的 `FORECAST` |
| 未使用的欄位 | 結構描述保留了 `forecastMethod` 與 `confidence`；需求預測表單不會寫入它們。 |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.