- 摩傑斯
- 2026-10-27
工單做到一半要改?工單變更怎麼管
工單已經投產,客戶要加兩百件;或者某道製程客戶說不用做了,從下一件起跳過。這兩種改法在系統裡走的不是同一條路。這篇把工單變更拆開講:什麼時候該開變更單、明細為什麼按工段對齊、日誌記到什麼程度。
![]()
一、工單變更不是改工單,是開一張變更單
最省事的做法是直接在工單上把數字改掉。改完現場照新數字幹,看起來也沒出錯。
問題是三個月後。客戶說這批貨的數量對不上,你翻工單——上面寫的是改後的數,原來是多少沒地方查;你說改過,客戶問什麼時候改的、誰同意的、為什麼改,答不上來。
所以正規做法是開一張變更單,編號 CH{YYMM}{4位流水},掛在這張工單下面。原工單的數字不動,變更單記錄「從什麼改成什麼、因為什麼、誰執行的」。工單當前生效的資料是變更執行後的結果,但歷史每一筆改動都在自己的單子上。
這套做法有個前提:工單不能憑空改,也不能憑空建。工單必須由客戶訂單轉過來,變更同樣走單據——這是離散加工的基本秩序,跳過它,賬就沒法追。
二、四種變更型別:交期、數量、製程、取消
工單變更開放四類:
- delivery_date(改交期):工單的計劃完成時間調整,影響排產順序。
- quantity(改數量):這一單做多少件變了。數量一變,料、工時、成本全跟著變,這是影響面最大的一類。
- process(改製程):工段列表調整——加一道、減一道、或者改某道製程的計劃工時。這類改動不動總數量,但動的是工藝路徑。
- cancel(取消):這張工單不做了。
四類之外的情況,比如改產品、改件號,不屬於工單變更的範圍,該走訂單層重開或者新建工單。變更單不是萬能修改器,它只處理已經發生的事實變化。
三、明細與工段對齊:為什麼按製程改
工單在離散加工裡的結構是:一張工單 = 一個產品 + 一串工段 + 一個數量。工段是這張工單的主幹,所以變更明細也是按工段一對一排的。
每個變更明細行記這些:工段順序(seq)、工段定義、工段名稱、計劃工時(planned_hours)、工段備註,再加上變更專用的一組欄位——操作型別(add / delete / modify)、變更前的計劃工時(old_planned_hours)、變更前的備註(old_remark)。
這套設計解決的是一個具體問題:客戶說「這道熱處理不用做了」,變更單上就是刪掉一個工段;客戶說「這道磨加工時間要放寬」,變更是 modify,改計劃工時,同時把原來的工時值留著。
如果變更明細只記一句「製程有調整」,那這張變更單等於廢紙——現場不知道改哪道,成本也算不出差多少。
四、日誌三態:建立、提交、作廢
變更單有三個動作會被記日誌:create(建立)、submit(提交)、void(作廢)。日誌裡帶操作人、操作人 ID、操作描述和時間。
為什麼日誌要單獨一張表,而不是靠變更單的狀態欄位?因為狀態只告訴你現在是什麼,日誌告訴你過程中發生過什麼。一張變更單可能建了、改了兩次、最後作廢——狀態只顯示 void,日誌裡能看到完整的折騰過程。
小廠裡這類情況不少:客戶上午說要改,下午又說不改了。變更單作廢是對的,但作廢這個動作本身要留下,因為現場可能已經按上午的口徑動過手。
五、改數量和改製程,影響完全不同
兩類變更在系統裡的處理路徑應該分開看:
改數量影響的是料、工時、成本和交付。數量從 100 件變成 150 件,材料費按體積算的模型可能不變(單件成本一樣),但加工費要按數量口徑重算——這取決於租戶的工時口徑設定:按件算工時還是按單算工時。口徑不同,算出來的加工費差一倍都是可能的。
改製程影響的是工藝路徑和計劃工時。少一道製程,加工費直接減一截;加一道製程,成本和交期都要重估。這類變更往往還牽扯協力廠——新加的製程可能廠裡做不了。
所以變更單執行之後,成本該重算就得重算。系統提供按公式重算工單成本的動作,材料費和加工費會按當前的工單資料、工段計劃工時和工段費率重新算一遍,覆蓋原來的成本記錄。
六、什麼時候不該用變更單
有兩種情況,變更單不是合適的工具:
一是改錯了。 計劃員錄入時數量多打一個零,這不是「客戶變更」,是錄入錯誤。這種情況該作廢重開或者按更正處理,不要用變更單掩蓋——賬面上多出來的那筆變更,年底覆盤時會變成假資訊。
二是還沒投產。 工單剛建出來還沒派工,客戶就要改。這時候直接改工單本身或者撤了重建更乾淨,走變更單反而繞。變更單的價值在於記錄「已發生的改變」,沒發生的事不需要變更記錄。
判斷標準很簡單:現場有沒有按舊資料動過手。 動過,就必須留痕;沒動過,改資料本身就行。
客戶層面的改動走的是客戶訂單變更單(OC 單);工單管什麼,見工單管理。產品瞭解 Moges PMS5。




