> ## 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.

# 排程

> 有限產能引擎如何把工單工序排進真實的工作中心工時與合格作業員、每個日期為何落在那裡，以及規劃人員用來調整它的看板。

排程決定每一道[工單](https://docs.alforse.com/zh-Hant/docs/reference/jobs.md)工序何時、在哪裡、以什麼順序執行。規劃人員負責調整；引擎負責安排。Alforse 使用**有限產能**：只有當[工作中心](https://docs.alforse.com/zh-Hant/docs/reference/work-centers.md)開放，且（若流程需要）有合格的作業員在班時，工序才會被排入工時，而且因為機器一次只處理一道工序，已排定的工作會把較晚的工作往後推。

## 排程畫面

所有調整都在 ERP 的**生產**區域進行。生產現場只讀取結果。

| 畫面 | 選單 | 用途 | 會寫入排程嗎？ |
| - | - | - | - |
| **優先順序** | *排程* | 設定到期日與派工順序。 | 會 |
| **預測** | *排程* | 閱讀已排定的排程，以及每個長條為何位於該處。 | 僅透過**重新產生** |
| **出站** | *排程* | 依填補銷售訂單的工單規劃出貨。 | 不會 |
| **資源規劃** | *規劃* | 將人員指派到工作中心，記錄請假與加班。 | 會 |
| MES **排程** | 生產現場應用程式 | 向作業員顯示每個工作站的佇列。 | 不會（僅顯示） |

### 優先順序

預設檢視是**週**，顯示依到期日放置的工單。使用左上角的切換器切換到**月**，或切換到**工作中心**，這是每個工作中心一欄的工序看板。

* **設定到期日：**把工單卡片放到某一天或某一週。放到**未排程**上則會移除日期。
* **指派並排序工序：**在工作中心檢視中，拖曳工序卡片會同時儲存它在哪裡執行及其派工優先順序。
* **重新排序與移動的差別：**在欄位內洗牌卡片只會改變取料順序。把卡片放到另一個工作中心的欄位，還會觸發重新排程，因為這道工序現在需要那台機器行事曆上的一個時段。

### 預測

以甘特圖顯示每個工作中心已排定的時間，並讓你詢問任何長條為何位於該處。詳情見[預測說明排程](#the-forecast-explains-the-schedule)。

### 出站

出貨規劃人員使用「出站」查看即將準備好出貨的東西。它收集供應[銷售訂單](https://docs.alforse.com/zh-Hant/docs/reference/sales-orders.md)的未結工單，並依完工日分組，工單已排程時使用預計完工時間，在那之前使用到期日。各列帶有送貨城市與州、運送方式與承諾日期；你可以將清單縮小到一個地點，以及未來 7、14 或 30 天。

### 資源規劃

這裡決定誰在哪裡工作。將員工放到工作中心欄位，指定一天或一週，記錄缺勤與加班，並檢查產能檢視，比較已排定與可用的工時。因為引擎會讀取人員配置，這裡所做的每項變更也都會觸發重新排程。看板背後的班次模型在[人員](https://docs.alforse.com/zh-Hant/docs/reference/people.md)中說明。

### MES 排程頁面

外觀上它與工作中心檢視相似，但**僅供顯示**。作業員看到依派工優先順序排序的工作站佇列，並可由此開啟工序開始工作。在這個看板上的拖曳不會被儲存。

NOTE

**規劃人員調整，作業員閱讀**

只有 ERP 可以變更到期日、派工順序或人員配置。MES 看板上的作業員看到的正是引擎產生的記錄，他們在該看板上做的任何事都不會回饋給引擎。

## 依真實產能安置

### 順向排程

安置是在時間上**順向**進行的。工序取得第一個可行的時段，該時段不早於現在，也不早於[製程路徑](https://docs.alforse.com/zh-Hant/docs/reference/routings.md)中其前面各工序結束的時間。沒有任何東西從到期日往回推，所以得出的完工日期本身就是預測，它顯示的任何寬裕時間都是真實存在的。

### 兩個限制資源

每次安置都必須符合兩個有限資源：

1. **機器時間。**工作中心一次只處理一道工序，而且只在其作業時間內。
2. **作業員時間。**只有在流程要求某項能力時才需要；在[人員也是產能的一部分](#people-are-part-of-capacity)中說明。

### 作業時間從哪裡來

引擎從第一條適用的規則取得工作中心的時間：

| 順序 | 時間來源 |
| - | - |
| 1 | **無人化（24×7）**工作中心：永遠開放。 |
| 2 | 指派給該工作中心的班次。 |
| 3 | 該工作中心所在地點的班次。 |
| 4 | 預設：週一到週五，每天 8 小時。 |

使工作中心離線的未結[保養](https://docs.alforse.com/zh-Hant/docs/reference/maintenance.md)派工所造成的停機時間，隨後會從這些時間中扣除，無人化機器也不例外。

### 在工作中心之間選擇

如果一個流程可以在數個工作中心上執行，引擎會選擇**最早完成工序**的那一個。因此工作會繞過塞車或沒人上班的機器。

### 已在進行中的工序

已開始的工序留在它的工作中心，只排定仍剩下的工作。人工與機器時間會依仍未完成的數量縮放，而一旦存在任何生產事件，設置即視為已完成。

### 派工順序與期限類型

派工順序是安置的副產品。在每個工作中心，已排定的工序依預計開始時間排名，並給予位置 1、2、3 等等，這就是為什麼每個看板欄位的第一張卡片是該工作站的下一張工單。

工單的期限類型只影響排名，不影響其他任何事。產能依類別分配（**盡快**，然後是**硬性期限**、**軟性期限**、**無期限**），在每個類別內再依到期日。沒有任何一種類型會阻止或延遲安置。

NOTE

**決定完工時間的是產能，而不是到期日**

當機器已滿或沒有作業員空閒時，工序就等待，而預測會記錄它在等什麼。沒有到期日的工單照樣排程：到期日只用來判斷是否延遲，絕不用來安排工作的位置。

## 人員是產能的一部分

### 能力要求

你可以將流程標示為**需要某項能力**。其工序隨後只有在至少一位*合格*的作業員空閒時才會執行，也就是這個人：

* 持有該能力，且資格尚未過期，
* 在班且沒有缺勤，並且
* 尚未被排進其他工作。

### 引擎挑選誰

1. 在資源規劃看板上**配置到該工作站的人員**優先。他們以團隊方式處理工序：人工分攤到在場的人員，而設置與機器時間絕不會縮短。
2. 如果那裡沒有配置任何人，引擎會退而求其次，使用合格的**機動人員**，也就是在任何地方都沒有看板指派的人。

配置到某個工作站的人就專屬於它，絕不會被悄悄調去別處。

### 每個地點的人員配置政策

每個地點在生產設定頁面都有人員配置政策，那裡的說明是：*"Require an assigned operator before the scheduler places work at a location. When on, unstaffed work centers get no work and an operation with no manned coverage shows as unschedulable. Lights-out (24×7) work centers are exempt."*（在排程器於某地點安置工作之前，要求有指派的作業員。開啟時，沒有人員的工作中心不會得到任何工作，沒有人員涵蓋的工序會顯示為無法排程。無人化（24×7）工作中心可豁免。）

開啟**「需要人員配置」**後，不再有機動人員的後備，連沒有能力要求的工序也需要有人員配置的工作站。工作只會去你有放人的地方。此設定在下次重新產生時生效；開啟或關閉它本身不會排入一次重新產生。

HEADS UP

**人員配置的變更可能讓工作無處可去**

把唯一持有該能力的人重新指派走，該工作站需要該能力的工序就無處可去。Alforse 不會讓同一個人重複排程，也不會在沒人的班次執行，而是讓它們保持未安置，預測則將它們標示為\*\*「無法排程」\*\*，提示你去修正人員配置。

## 每道工序的兩個日期

每道工序帶有兩個日期，回答不同的問題。把它們當成同一個，是對排程最常見的誤讀。

| 日期 | 回答 | 如何設定 | 何時改變 |
| - | - | - | - |
| **預計開始與完成** | 這項工作真正何時會執行？ | 引擎的順向安置。 | 每次排程執行。 |
| **到期日**（需求目標） | 必須在何時之前完成，才能讓工單準時？ | 從工單的到期日，沿著製程路徑的前置時間往回推算。 | 只有在工單到期日、製程路徑或前置時間改變時。安置會忽略它。 |

### 落後目標（琥珀色）

預測結束時間晚於需求目標的工序，會以**琥珀色**繪製：在製程清單與工序看板的卡片上，預計日期以該顏色顯示（*"Projected Sep 12"*，預計 9 月 12 日），滑鼠移上去會顯示 *"Behind target by N day(s)"*（落後目標 N 天）。請把它視為警告，而不是衝突：工單整體仍可能趕上其到期日。

### 釘選目標

若要掌控目標，請從製程清單上的日期選擇器**釘選**它；選擇器的提示警告 *"Pinning it overrides the calculated target."*（釘選會覆寫計算出的目標。）

* 釘選所固定的是*目標*。製程路徑中較早的工序隨後會從釘選的目標計算自己的目標。
* 釘選不碰的是安置：開始與完成仍在每次執行時重新預測。
* 例外是被釘選的委外工序，其儲存的時段會被保留，因為廠商的周轉時間無法由你的引擎重新規劃。

## 預測說明排程

Paid

### 圖表顯示什麼

在**預測**頁面上，每個工作中心，即使是閒置的，都有一條泳道，每道已排定的工序是一個標有其工單和零件的長條。因為每個長條都是儲存的產能預留，而不是從日期重新繪製的東西，所以圖表確切顯示引擎承諾了什麼。保養停機時間在同一泳道中以琥珀色長條顯示，作業員泳道則顯示誰已被排定。

在標題中選擇**日**、**週**或**班次**範圍。

### 說明長條

選取任何長條，可開啟側邊面板說明其時間：

* **排程備註**以平實的語言給出開始時間的理由。常見的備註如 *"Waited 14h for the work center — queued behind J000128 (4 ops)"*（等待工作中心 14 小時——排在 J000128（4 道工序）後面）以及 *"Waited 2d 3h for a qualified operator to be available"*（等待合格作業員可用，等了 2 天 3 小時）。
* **工作**與**跨度**分開顯示。橫跨班次邊界的工序，可能是 22 小時跨度中的 6 小時工作；這是預期的，不是錯誤。
* 每條泳道都有 *"How are these hours calculated?"*（這些工時如何計算？）彈出視窗，顯示哪條規則提供了它的工時，以及停機和人員配置扣掉了什麼。

### 工序批次

[工序批次](https://docs.alforse.com/zh-Hant/docs/reference/batching.md)一旦**發放**，其成員工序（共用一個可批次的流程）就佔用**單一**預留。因此預測畫出一個以批次命名的長條（例如 *"BAT000005 · 2 jobs"*），而不是每個成員一個長條，且長條的面板與動作按鈕通往**批次**，而不是任何一張工單。

NOTE

**工序批次不是追蹤批次**

兩者只是共用一個詞。**工序批次**（`BAT…`）是排程裝置，在一台機器上一起執行數道工單工序。批次追蹤屬於庫存：跟隨一批相同單位的批號。

### 衝突與無法排程的工作

標題會分別計算兩種麻煩。

**衝突**是已安置、但結束於**工單到期日之後**的工序。Alforse 會連同它儲存一個原因，例如 *"Finishes 2026-11-18 but the job is due 2026-11-11 — waited for a qualified operator, queued behind J000128 (4 ops)"*（完成於 2026-11-18，但工單到期日為 2026-11-11——等待合格作業員，排在 J000128（4 道工序）後面），並在你將滑鼠移到工序看板上標有紅旗的卡片時再次顯示該原因。

**「無法排程」**的工序完全找不到可行的時段，原因是：

* 不存在合格的作業員，
* 地點要求人員配置，而沒有任何工作站有人員，或
* 在期間內沒有可用的產能。

預測仍會為每一個畫出長條，帶有**「無法排程（Unschedulable）」**標籤，標示工作*會*去哪裡。側邊面板指出這個長條 *"isn't holding capacity"*（並未佔用產能），所以其他工單可以使用該時間。Alforse 把佔位符放在接下來的**工作日**；在夜間或週末執行的排程不會把它放在那裡。

還有一個針對已發放**批次**的特殊原因：如果沒有任何成員工序有預估時間，引擎就無法決定這次執行的大小。你會看到**預估時間**回報為 **0h**，以及原因 *"add setup, labor, or machine time to its operations to schedule it"*（請在其工序中加入設置、人工或機器時間才能排程）。這裡的問題不是產能；請在工序上輸入工時標準。

TIP

**問題會被回報，絕不隱藏**

排程執行不會徹底失敗。會延遲的工作仍被排定並標示；無法排定的工作會得到附有說明的佔位符。工單預計完工時間同時考慮兩者，所以預測絕不會比現實好看。

## 排程何時重新計算

### 觸發重新規劃的編輯

對任何排程輸入的編輯，都會將其影響的工單標示為**排程已過時**，並把一個**重新規劃波次**排入佇列。計入的輸入有：

* 優先順序看板上的到期日，
* 人員配置的指派，
* 班次，
* 工作中心的時間或啟用旗標，
* 作業員資格，
* 流程的能力要求，以及
* 機器停機。

波次經過去彈跳處理：Alforse 會在最後一次編輯後等待約 30 秒，所以一連串的變更只會對每個受影響的地點產生一次重新產生。如果你不想等，預測上的**重新產生**會按需執行相同的整個地點的執行。

### 即時與夜間的重新排程

有些事件會略過波次而立即重新排程：發放工單、變更工單狀態，以及看板自動發放。另外，每晚 Alforse 會重新計算任何計畫開始日期已落到過去的排程。

### 延遲工單通知

當重新產生使先前準時的工單變為延遲時，每張這類工單的受指派人會收到點名它們的**「Jobs projected late」**（預計延遲的工單）通知。如果沒有人被通知，表示變更被吸收，沒有產生新的延遲。

NOTE

**每次重新產生都可重複**

重新產生絕不會修補計畫的一部分。它會從頭重新排定該地點所有未結工單，先依期限類別，再依到期日，每張工單都排在後續工單之前取得產能。相同的輸入永遠產生相同的排程。

## 權限與方案

| 動作 | 需要 |
| - | - |
| 檢視看板 | **生產檢視**權限 |
| 編輯看板 | **生產更新**權限 |
| 使用預測頁面 | Business 方案 |

## 疑難排解

| 症狀 | 原因 | 解決方法 |
| - | - | - |
| 工序上有紅色衝突旗標 | 它結束於工單到期日之後，或無法安置。儲存的原因會指出成因（例如 *"No qualified operator for …"*（沒有合格的作業員……）或 *"No operator assigned"*（沒有指派作業員））。它不代表「開始日期在過去」。 | 移動到期日、增加產能或工時、為工作站配置人員，或讓作業員取得資格。 |
| 琥珀色的「預計」日期 | 預計完成時間晚於工序的需求目標。 | 通常不需處理；當產能釋出或目標移動時會消除。 |
| "Can't be scheduled"（無法排程） | 沒有合格作業員、在**需要人員配置**下沒有人員涵蓋（無人化豁免），或期間內沒有產能。 | 為工作站配置人員、讓某人取得資格，或放寬限制。 |
| 批次無法排程，且**預估時間 0h** | 成員工序沒有設置、人工或機器時間；1 小時的長條只是名義上的佔位符。 | 為工序加入工時標準。 |
| 編輯之後新日期沒有馬上出現 | 重新規劃波次在最後一次變更後約 30 秒執行。 | 等待波次，或選取**重新產生**。 |
| 重新排序卡片沒有重新排程 | 在同一欄內重新排序只會改變派工位置。 | 如果需要重新安置，請把卡片移到不同的工作中心。 |
| 被釘選的工序日期移動了 | 釘選固定的是目標，不是安置。 | 預期如此；只有委外工序會保留其時段。 |
| 開啟**需要人員配置**後沒有任何改變 | 此設定在下次重新產生時才適用。 | 進行一次排程編輯、選取**重新產生**，或等待夜間處理。 |
| 你無法編輯看板 | 缺少**生產更新**權限。 | 請管理員處理。 |

## 相關內容

**工單**

引擎所排定並排序的，就是每張工單的工序。

[Open](https://docs.alforse.com/zh-Hant/docs/reference/jobs.md)

**工作中心**

定義工作站、開放時間及其成本費率。

[Open](https://docs.alforse.com/zh-Hant/docs/reference/work-centers.md)

**人員**

班次與能力決定誰能執行有能力限制的工序。

[Open](https://docs.alforse.com/zh-Hant/docs/reference/people.md)


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