跳轉到

程式資訊

  • 程式 IDPREORD
  • 所屬子系統:E.營業收款
  • 狀態:stable

預示單

功能簡介

「預示單」是客戶提前告知未來各月份預估需求量的單據。它不是正式訂單,不會扣庫存、不算應收,純粹把客戶的「預估出貨計畫」登錄進系統,供生產計劃查詢請購建議(PPUR_SUG)等下游機制把預估量納入需求來源,及早備料、排產。

使用者通常是業務助理或業務窗口:收到客戶的月需求預估(常以 Excel 提供)後,以「年度+月份+版次+客戶代號」開立一張預示單,逐列填入品號、預訂交期與數量。一個客戶在同一年月可有多個版次,用來保留每次更新的歷史。

預示 vs 訂單

預示單只記錄「客戶說會買多少」,沒有出貨、沖帳概念。明細的扣減數量欄位是讓使用者手動向下調整預估的工具(例如客戶已先下了部分正式訂單),系統不會自動互抵。

前置需求

  • 權限:E.銷售 → E-110 預示單 的新增/修改/刪除權限(瀏覽僅供查閱)。
  • 基礎資料:下列主檔會直接影響本單能不能正確帶值——
資料 影響的結果
客戶主檔(客戶基本資料 主檔客戶代號搜尋與客戶簡稱帶出;客戶代號是組單號與明細連動的基準
品號主檔 明細輸入 SKU 後帶出品名/單位;查不到的品號明細會以「品名」空白提示
客戶品號對應 明細客戶 SKUSKU 互相反查(輸入其一帶出另一個)
客戶報價(銷售最新單價) 明細輸入 SKU/客戶 SKU 後自動帶最新銷售單價
工作日曆 樞紐輸入帶出的預訂交期取「該月第一個工作日」;批數拆解的交期逐批往後推工作日
幣別/匯率 主檔幣別預設本位幣、匯率 1,可改外幣

操作步驟

新增一張預示單

  1. 從主選單開啟 E.銷售 → 預示單
  2. 點選工具列 新增。系統自動帶入預設值(見欄位連動與附加功能):月份=當月、版次=1、幣別=本位幣、匯率=1。
  3. 填寫主檔抬頭:

    1. Year(年度)Month(月份)Version(版次):三者加上客戶代號決定這張單的唯一單號。
    2. Customer Code(客戶代號):輸入或用放大鏡查詢客戶;離開欄位後自動帶出客戶簡稱
    3. 視需要調整 Currency(幣別)/匯率、填寫 Notes(預示備註)Notice(注意事項)
  4. 逐列輸入明細(見下方明細輸入),或改用樞紐輸入Excel 匯入快速帶入。

  5. 點選 儲存。系統會在存檔前組出單號年度+月份(補零)+版次+客戶代號,並對年度、月份、客戶與明細做檢核(見存檔檢核)。

    小技巧

    可用 Ctrl+S 快速儲存。

輸入明細

  1. 在明細格線輸入 SKUCustomer SKU(兩者互相反查),系統帶出品名/單位/單價
  2. Original Quantity(原始數量);若要往下調整,填 Minus Quantity(扣減數量),系統即時算出 Adjusted Quantity(修正後數量=原始-扣減)
  3. ETA(預訂交期)。按 新增 時,系統會把當下已存在的明細列預訂交期一律設為今天 +10 天(之後手動新增的列不會自動帶,需自行填寫)。若存檔時仍空白,系統會以該列的原預訂交期回填。
  4. Quantity(數量) 是實際送往下游的需求量;可手動填,或用控制面板的 Replace Quantity with Revised Quantity 一次把所有列的數量蓋成修正後數量。

明細空白列會自動刪除

存檔時品號空白的明細列會被自動標記刪除,不必手動清空。

修改與刪除

  1. 用工具列瀏覽鈕或查詢找到要修改的預示單。
  2. 修改,調整主檔或明細後 儲存

    注意

    年度、月份在修改模式不再重新驗證,且「不得有更新版本」的擋存檢查只在新增時生效——修改舊單不會被擋。

  3. 要整張刪除時按 刪除,確認後該單主檔與明細一併移除。

列印

工具列 列印 走系統共用的報表機制,依登錄的報表樣板輸出這張預示單。

報表樣板

預示單未在程式內寫死專屬報表,列印內容取決於系統實際掛載的 FastReport 樣板;若清單為空表示尚未掛載樣板。

欄位說明

主檔(抬頭)

欄位 必填 說明/格式/預設
Year(年度) 4 碼西元年。新增模式驗證須為數字且 ≥ 2010
Month(月份) 1~12。預設當月;存檔時補零成 2 碼(303
Version(版次) 1 碼。預設 1,同一客戶同年月可多版
Customer Code(客戶代號) 最長 10 碼;用放大鏡查客戶,離開欄位帶出客戶簡稱
Customer(客戶簡稱) 自動 唯讀,依客戶代號帶出
Currency(幣別) 預設本位幣;改幣別會連動匯率
匯率(FX Rate) 預設 1;幣別為本位幣時固定 1
Forecast Document No(單號) 自動 唯讀,存檔時組成=年度+月份+版次+客戶代號
Created Date(建檔日期) 自動 唯讀,系統帶入
Notes(預示備註) 最長 60 字
Notice(注意事項) 多行文字,最長 999 字

明細

欄位 必填 說明/格式/預設
Line No(序號) 自動 系統依輸入順序編號
Original ETA(原預訂交期) 原始交期;存檔時若預訂交期空白會回填為原預訂交期。非空白列必填
ETA(預訂交期) 實際預訂交期;按 新增 時已存在的明細列會帶今天 +10 天;存檔時空白會回填原預訂交期
DateType 自動 唯讀的日期類別說明
Customer SKU(客戶品號) 與 SKU 互相反查
SKU(品號) 輸入後帶品名/單位/單價;空白列存檔時自動刪除
SKUDescription(品名) 自動 唯讀,依 SKU 帶出
Is Disabled/Disable Description 自動 唯讀,品號停用狀態與說明
Original Quantity(原始數量) 客戶原始預估量
Minus Quantity(扣減數量) 手動向下調整量
Adjusted Quantity(修正後數量) 自動 唯讀=原始數量 − 扣減數量
Quantity(數量) 實際下游需求量;可按 Replace Quantity… 一鍵蓋成修正後數量
Unit Of Measurement(單位) 下拉選單,依 SKU 帶預設
Unit Price(單價) 自動 依客戶最新銷售報價帶入,可改
Notes(備註) 最長 30 字
Delivery Address(交貨地點) 最長 10 碼

控制面板(右側 Control Panel)

欄位/按鈕 說明/預設
Import + EDI 路徑 從指定 Excel 匯入明細,預設路徑 C:\temps\edi\forecast.xlsx
Export + 匯出路徑 把明細匯出成 Excel,預設 C:\temps\edi\forecast_export.xlsx
Replace Quantity with Revised Quantity 把每列數量蓋成(原始−扣減)
Split Lot No / Interval Of Days 批數拆解的批數(預設 1)與每批間隔工作日(預設 1)
Split 依設定把每列拆成多批
Sales Quantity Query 查詢選取明細品號的庫存/需求分析
Auto Query After Input SKU 預設勾選;輸入 SKU 後自動觸發上述查詢

欄位連動與附加功能

這一節說明「輸入某欄位/按某按鈕後系統會做什麼」,全部來自實際程式行為。

新增時的預設值

當你按 新增,系統(AfterAddNew)會自動:

  • 把主檔 月份 設為當月、版次 設為 1幣別 設為本位幣、匯率 設為 1
  • 把目前明細所有列的預訂交期設為今天 +10 天。

主檔客戶代號 → 連動明細

  • 當你在主檔輸入/變更客戶代號,系統會把這個客戶代號同步寫進所有明細列的內部 CustomerCode(明細的 SKU/客戶 SKU 反查、帶單價都依賴它)。
  • 之後新增的明細列也會自動繼承主檔目前的客戶代號。

先填客戶代號再填明細

SKU 與客戶 SKU 的互相反查、帶單價都以「客戶代號」為基準。若先填明細才填客戶代號,已填的明細可能反查不到客戶品號或帶不到單價,建議先選好客戶再輸入明細。

明細 SKU ⇄ 客戶 SKU 互相反查、自動帶單價

明細的 SKUCustomer SKU 是雙向連動:

  • 輸入 SKU:系統帶出品名/單位,並依「客戶代號+SKU」反查出對應的客戶 SKU;同時抓該客戶+品號的最新銷售單價填入單價。
  • 輸入 Customer SKU:系統反查出對應的 SKU,再帶品名、單位與最新單價。

數量三欄的即時連動

  • 修正後數量(Adjusted Quantity) 永遠等於「原始數量 − 扣減數量」,改動原始或扣減任一欄,修正後數量即時重算。
  • 控制面板的 Replace Quantity with Revised Quantity 會把每一列的「數量」一次蓋成各自的「修正後數量」(原始−扣減),方便先調好扣減後一鍵套用。

輸入 SKU 自動跑「銷售數量查詢」

  • 明細輸入 SKU 後,若控制面板的 Auto Query After Input SKU 為勾選(預設),系統會自動對目前選取的明細品號執行 Sales Quantity Query
  • 查詢結果顯示在畫面下半部兩個唯讀格線:
    • Combine(基本資料):該品號的安全庫存、現有量、未交訂單量、可用量、在途量、預估可用量、近期進貨/出貨、主要供應廠商與報價、建議採購量等。
    • Demand(需求 C1~C12):以該明細預訂交期的前一個月為基準回推 12 期(C1=需求月、C12=前 11 月,由新到舊)的歷史需求量與合計,欄標題會隨之顯示對應年月。

手動重查

若關掉自動查詢,或想換一筆明細看,選取該明細列再按 Sales Quantity Query 即可。

樞紐輸入(一次帶整年)

主畫面工具列的匯入鈕會開啟 Pivot Input 視窗(PreordPivotInputViewModel),讓你用「一品號一列、12 個月各一欄」的橫式格子一次輸入整年預估:

  1. 視窗預先給 100 個空白列;上方可直接輸入,或按 From Excel 從 Excel(預設 C:\Temps\EDI\Forecast.xlsx,讀 Sheet1)讀入。
  2. 從 Excel 讀入時系統會:依客戶品號反查 SKU、帶品名、帶該客戶+品號的最新銷售單價;找不到的品號會在該列 Notes 標「<品號> not exist」
  3. 按確定(Return)回主畫面前會再檢查一次,任何一列 Notes 非空白就會跳訊息擋下,請先修正該品號。
  4. 回到主畫面後,系統把每個品號的 12 個月數量展開成明細列——某月數量 > 0 才產生一列,預訂交期取該月的第一個工作日,數量同時填入原始數量與數量,序號自動接續編號。

從 Excel 匯入明細(控制面板 Import)

  • 控制面板的 Import 只在新增模式可按。它讀 EDI 路徑指定的 Excel:第 1 欄=客戶品號、第 2 欄=交期、第 3 欄=數量(第 1 列為標題)。
  • 匯入會先清空現有明細再逐列建立;交期解析失敗時以今天代入;序號依系統設定的長度補零。

匯出明細到 Excel(控制面板 Export)

  • Export 把目前明細中數量 > 0 的列匯出成 Excel(工作表名 Forecast),輸出到系統 EDI 目錄。欄位含序號、預訂交期、客戶品號、SKU、原始數量、扣減數量、數量。

批數拆解(控制面板 Split)

把一筆大數量拆成多批、交期錯開,常用於分批出貨的預估:

  1. 設定 Split Lot No(要拆成幾批)與 Interval Of Days(每批間隔幾個工作日),兩者都必須 > 0,否則跳提示。
  2. Split(僅編輯中可按)。系統對每一筆序號尾碼不是英文字母(代表還沒拆過)的列:
    • 把原列數量改成「總量 − (批數−1)×每批量」(餘數留在原列)。
    • 另外複製出(批數−1)筆獨立明細,序號=原序號 + A/B/C…,每批交期依間隔工作日往後推,原始數量/扣減數量歸零,數量=每批量。

拆過的列不會再被拆

序號尾碼已是英文字母的列視為「已拆解」,再按 Split 不會重複拆。

存檔檢核與擋存

儲存 時(PreordSave.AllowSave / HandleDataBeforeEndEdit)系統會:

  • 必填檢查:年度、月份、版次、客戶代號任一空白即擋存並提示該欄。
  • 新增模式額外檢查
    • 年度須為數字且 ≥ 2010;月份須為 1~12。
    • 不得已有更新版本:若系統內同客戶已存在「年度月份大於本單」的預示,會以「系統內已有最新單據」訊息擋下(避免覆寫較新的預估)。此檢查只在新增時做。
  • 明細檢查:非刪除、且品號非空白的列,原預訂交期不可空白
  • 存檔前自動處理:幣別空白時補本位幣+匯率 1;新增時月份補零並組單號;品號空白列標記刪除;預訂交期空白時回填原預訂交期。

常見問題

明細輸入 SKU 後,品名/單價是空白?

請確認:(1) 主檔的客戶代號已先填好——SKU 反查與帶單價都依賴它;(2) 該品號存在於品號主檔;(3) 該客戶+品號有銷售報價,否則單價帶不出來(仍可手動輸入)。

存檔時跳「系統內已有最新單據」,無法儲存?

這是新增模式的版本保護:系統發現同客戶已有「年月大於本單」的預示,為避免覆寫較新的預估而擋下。若你是要更新舊月份,請改用較新的年月/版次;若確定要修,改用 修改 既有單據而非新增。

用樞紐輸入按確定卻被擋住,跳出某個品號訊息?

樞紐輸入視窗有些列的 Notes 是「<品號> not exist」——表示那個客戶品號反查不到 SKU。請先把該列品號修正或清空,再按確定。

為什麼修正後數量改不了?

修正後數量是唯讀計算欄(原始數量 − 扣減數量),不能直接編輯。要調整就改原始數量扣減數量;若要把它套進實際送出的「數量」,按控制面板 Replace Quantity with Revised Quantity

按 Split 沒有反應或沒拆出新列?

請確認:(1) 目前在編輯中(新增或修改),瀏覽狀態下 Split 不可按;(2) Split Lot NoInterval Of Days 都 > 0;(3) 要拆的列序號尾碼不是英文字母(尾碼是字母代表已拆過,不會再拆)。

存檔說某列「原預訂交期」必填,但我看不到該列?

凡是有品號、非刪除的明細列都要求原預訂交期。品號空白的列存檔時會自動刪除、不檢查;但若某列有品號卻漏了原預訂交期就會被擋。請補上該列的 Original ETA。

相關功能


需補截圖清單

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

  1. preord-step1.png — 預示單主畫面(抬頭+明細格線+下方查詢結果)
  2. preord-step2.png — 樞紐輸入(Pivot Input)視窗:12 月橫式輸入
  3. preord-step3.png — 右側控制面板(Import/Export/Replace/Split/Sales Quantity Query)
  4. preord-step4.png — 批數拆解前後的明細序號對照(001 → 001、001A、001B…)