跳轉到

程式資訊

  • 程式 IDPDTINF_1
  • 所屬子系統:F.生產管理
  • 狀態:stable

銷售訂單轉製令(拆併單)

功能簡介

「銷售訂單轉製令」是 製令/製通單 表單上的延伸視窗,用來把尚未轉製令的銷售訂單明細一次轉成製通單(製單別=訂單)。它最大的特色是支援拆單併單

  • 併單:同一品號(SKU)散落在多張訂單的需求,可以合併成一張製令一起生產。
  • 拆單:同一張訂單明細的數量太大,可拆成多筆製令分批生產(每筆會在製通單明細各佔一列)。

使用者通常是生管人員。在製通單主檔按下「其他功能一」(轉製令)按鈕後,本視窗以模態彈窗開啟;確認轉檔成功後,主檔會自動跳到剛產生的那張製通單。它在流程上承接「業務已下單」、產出「待生產的製通單」,再由製通單流向領料、製程與報工。

與製通單手動新增的差異

製通單也可以手動新增(手動新增時製單別預設為備料),本視窗則是從既有銷售訂單批次帶出,並自動回填客戶、品號、數量、出貨日期與各階段預訂日,省去逐筆key單。轉出的製通單製單別固定為訂單

前置需求

  • 權限:F.生產 → 製令(PDTINF) 的瀏覽與新增權限。本視窗沒有獨立選單,是透過製通單的延伸功能進入,因此沿用製通單的權限。
  • 基礎資料:待轉資料與回填欄位的完整度,取決於下列來源——
資料 影響的結果
銷售訂單(含明細交期、未轉製令的明細) 本視窗清單的來源;沒有未轉製令的訂單就查不到資料
客戶主檔 帶出客戶代號/客戶簡稱
品號主檔、製程/前置天數(Leadtime) 費用品號(含 -)自動回推出貨日/備料完成日/預訂生產日/預訂完工日
工作日曆 回推日期時跳過非工作日
BOM 製令成立後才展開用料;本視窗本身不依賴 BOM 資料

操作步驟

開啟視窗

  1. 進入 製令/製通單 表單。
  2. 按工具列的 其他功能一(轉製令)。系統以模態視窗開啟「Sales Order To Production」。

步驟① 查詢待轉訂單

  1. 按視窗下方的 查詢。系統呼叫轉檔查詢,把目前尚未轉製令的銷售訂單明細載入上方格線(候選清單)。
  2. 同時下方第二個頁籤 Locked Source(鎖定中) 會列出正被其他使用者編輯中的來源,標籤旁顯示鎖定筆數。這些資料你無法同時操作,待對方存檔或取消後重查即可。

查不到資料時

若查詢結果為空,系統會提示「無資料」。代表查詢區間內沒有「未轉製令」的訂單明細,或全部被其他人鎖定。

步驟② 指定要轉的列(拆單/併單)

候選清單每一列最左邊有一個 Combine(合併)按鈕,左鍵右鍵行為不同:

  1. 左鍵點 Combine → 把這一列加入「轉出清單」並嘗試併單
    • 系統會找出同品號(SKU)且已被選取的列,若已有同品號的合併目標,就把本列數量累加進去(多張訂單併成一張製令)。
    • 若同品號還沒有合併目標,則以本列複製出一筆新的「合併單」。
    • 被選取的列會標上一個流水狀態碼(Status Code),代表它屬於哪一組合併。
  2. 右鍵點 Combine → 把這一列當作單獨一筆轉出(不與任何人合併),狀態碼標為 -1
  3. 再次點按已選的列可以取消:左鍵取消合併(數量從合併單扣回,合併組空了就移除),右鍵取消單獨轉出。

每按一次,下方第二格線「轉出清單(TmpUpload)」即時反映目前要轉出的製令內容,可隨時檢視合併後的數量。

怎麼判斷品號是否重複

同一品號的最後一筆的 SKU 欄會以紫色標示(提醒同品號還有多筆可一起併單),方便快速找出可併單的群組。

步驟③ 存檔轉出

  1. 確認轉出清單無誤後,按 儲存
  2. 存檔成功後,系統會依設定自動關閉本視窗,並讓製通單主檔跳到剛產生的那張製令(透過 PKID 導頁)。

存檔前的兩道檢查

  1. 不可有未指定的列:轉出清單中若還有狀態碼為 0 的資料(既沒併也沒單獨選),會擋下存檔。
  2. 單一訂單明細拆單上限 30 筆:同一張「訂單編號+訂單項次」被拆成超過 30 筆時會擋存,並提示該筆訂單編號與項次。

欄位說明

候選清單與轉出清單的欄位相同,皆由銷售訂單帶出、唯讀為主(數量與部分日期可改):

欄位 可編輯 說明/格式/預設
Status Code(狀態碼) 拆併分組代碼。0=未選取;>0=合併組序號;-1=單獨轉出
Split Or Combine Quantity(拆併數量) 拆單/併單後的數量
Customer Code/Name(客戶代號/簡稱) 由訂單帶出
Sales Order No(訂單編號) 來源訂單編號
Sales Order Line No(訂單項次) 來源訂單項次
SKU(品號) 同品號最後一列以紫色標示
SKUDescription(品名) 品號說明
Schedule Notes(計畫備註) 帶入製通單的計畫備註
Quantity(數量) 要生產的數量;併單時各列數量會累加成合併單數量
Shipping Date(出貨日期) 由訂單交期帶出;費用品號自動回推
Estimated Completion Date(預訂完工日) 預計完工日
Preparation Completed Date(備料完成日) 預計備料完成日
Estimated Manufacture Date(預訂生產日) 預計開工日
Production Lot(生產批) 生產批量參考
Production Ratio(生產比例) 生產比例參考
Weeks(週數) 交期週數參考

Locked Source(鎖定中) 頁籤多出 Editing User(編輯者)Actual Completion Date(實際完工日)Actual Manufacture Date(實際生產日),用來辨識是誰在編輯該筆來源。

日期格式

各日期欄位以 YYYYMMDD 字串儲存與比較,畫面上以該格式顯示。

欄位連動與附加功能

這一節把「按某按鈕/點某列會發生什麼」「某種品號存檔時系統怎麼算」完整列出,全部來自實際程式行為。

查詢與鎖定來源

  • 當你按 查詢,系統會:
    1. 重置合併計數器,呼叫轉檔查詢(後端 TWORK_TUR_PDTINF),把候選清單載入上方格線、鎖定中的來源載入第二頁籤。
    2. 對候選清單依品號建立索引(lookup),供後續併單時快速找到同品號的列。
    3. 把每個品號分組後的最後一筆設為 ColorSKU=1,畫面上以紫色標示,提醒同品號還有多筆可併單。
  • 第二頁籤 Locked Source 的標題會即時顯示鎖定筆數(LockedCount)。這些是被其他使用者「進入編輯」而鎖住的來源,你這次無法轉出。

費用品號(SKU 含 -)的日期自動回推

  • 當某列品號含有 -(代表是費用項目)時,查詢載入後系統會自動依預訂交期(ETA)與備料前置天數(Leadtimest)回推下列日期。各日期都是從 ETA 各自往前推算(不是逐階相接),設備料前置天數為 day
    • 出貨日期 = ETA 往前推 day 個工作日。
    • 備料完成日 = ETA 往前推 day + 4 個工作日。
    • 預訂生產日 = ETA 往前推 day + 3 個工作日。
    • 預訂完工日 = ETA 往前推 day + 2 個工作日。
  • 回推時使用工作日曆(會跳過非工作日)。其中備料完成日/預訂生產日/預訂完工日若回推結果早於今天會改成今天出貨日期不套用此「不早於今天」的保護。

一般品號(不含 -

一般品號的各階段日期沿用訂單原本帶出的值,不做上述自動回推。日期欄位仍可在格線中手動調整。

併單(左鍵 Combine)

當你左鍵點某列的 Combine

  • 若該列狀態碼為 0(尚未選)→ 計數器 +1 設為新狀態碼,接著找同品號中已選(狀態碼 > 0)的列:
    • 找到 → 沿用該組的合併單,把本列數量加進合併單數量,並把本列登記到該合併單底下的明細清單。
    • 沒找到 → 以本列複製出一筆新的合併單,加入轉出清單。
  • 若該列已被選(狀態碼 > 0)→ 視為取消併單:從合併單數量扣回本列數量、把本列從該組明細移除;若該組已無明細則移除整張合併單,狀態碼歸 0。

單獨轉出(右鍵 Combine)

當你右鍵點某列的 Combine

  • 狀態碼為 0 → 標為 -1,以本列複製出一筆單獨的轉出單加入清單。
  • 狀態碼為 -1(已單獨選)→ 取消:從轉出清單移除,狀態碼歸 0。
  • 狀態碼 > 0(原本在某合併組)→ 先把它從合併組移除,再改為單獨轉出。

右鍵以 code-behind 處理

RadGridView 儲存格內的 MouseBinding 不穩定,因此 Combine 的右鍵改由視窗的 code-behind 攔截後再呼叫單選邏輯。功能上等同上述「單獨轉出」。

欄位標色含義

  • 紫色(SKU 欄):同品號分組中的最後一列,提示該品號還有多筆可一併合併。對應 ColorSKU=1
  • 候選清單其餘儲存格維持一般底色;目前版本沒有依狀態碼(已選/未選)變更整列底色。

存檔(轉出製令)時的處理

儲存 時,系統依序執行:

  1. 拆單上限檢查:同一「訂單編號+訂單項次」被拆成超過 30 筆 → 擋存並提示該訂單編號與項次。
  2. 未指定檢查:轉出清單中仍有狀態碼 0 的列 → 擋存(提示 Status Code is zero)。
  3. 組製通單資料:對每一筆轉出單,組出製通單主檔(製單別=訂單、製單來源別=訂單、辨識號為新產生的轉檔批號),並依是合併單或單獨單,把對應的訂單明細逐筆寫成製通單明細(明細序號 001002…)。
  4. 寫回資料庫:透過轉檔機制寫入製通單主檔與明細檢視表(Twork_pdt_vw_pdtinfma / pdtinfde)。
  5. 產生工作底稿:存檔成功後自動觸發 Updt_wkpaper(依辨識號)產生對應的工作底稿。
  6. 失敗自動回收:若工作底稿產生失敗,系統會依辨識號刪除剛剛寫入的製通單資料並提示錯誤,避免留下半套資料。

存檔後導頁

  • 存檔成功會記下新製令的 PKID。視窗關閉後,呼叫端(製通單主檔)會自動以該 PKID 導頁,讓你直接看到剛轉出的製通單。

離開

  • 離開Exit 直接關閉視窗,不影響已存檔的資料。離開鈕在存檔流程進行中會被暫時停用,避免中途關閉。

常見問題

按了查詢卻顯示「無資料」?

本視窗只列出尚未轉製令的銷售訂單明細。若該區間的訂單都已轉過製令,或全部被其他使用者鎖定(會出現在「Locked Source」頁籤),就會查不到。請確認確實有未轉製令的訂單。

存檔時跳出 Status Code is zero(狀態碼為 0)?

代表轉出清單裡還有「既沒併單、也沒單獨選」的列。請把每一筆要轉的列都用左鍵(併單)或右鍵(單獨)指定後再存檔。不要轉的列不需處理。

存檔被擋,說某訂單拆超過 30 筆?

同一張「訂單編號+訂單項次」最多只能拆成 30 筆製令。請減少該筆訂單的拆單數量,或合併其中幾筆後再存檔。

費用品號的出貨日/完工日為什麼自動變了?

品號含 - 視為費用項目,系統會依預訂交期(ETA)與備料前置天數從 ETA 各自往前回推出貨日、備料完成日、預訂生產日、預訂完工日。其中備料完成日、預訂生產日、預訂完工日若回推結果早於今天會改成今天(出貨日不套用此保護)。這是刻意的設計,可在格線中再手動微調可編輯的日期欄。

為什麼有些列點不動、出現在「Locked Source」?

那些來源正被其他使用者編輯而鎖定,標籤旁會顯示鎖定筆數。待對方存檔或取消後重新查詢即可操作。

存檔成功了,但工作底稿好像沒出來?

存檔後系統會自動產生工作底稿;若這一步失敗,系統會刪掉剛存的製通單並提示錯誤,避免留下不完整資料。請依錯誤訊息排除後重做轉出。

相關功能


需補截圖清單

以下截圖待功能 runtime 驗收後補拍(放 docs/F-Production/images/):

  1. pdtinf_1-step1.png — 從製通單按「其他功能一」開啟本視窗、按查詢後的候選清單全貌
  2. pdtinf_1-step2.png — 併單/單獨轉出操作(含紫色同品號末列、Combine 按鈕)
  3. pdtinf_1-step3.png — 下方轉出清單(TmpUpload)合併後的結果
  4. pdtinf_1-locked.png — 「Locked Source(鎖定中)」頁籤