程式資訊
- 程式 ID:
ESTSAL - 所屬子系統:E.營業收款
- 狀態:stable
年度預估¶
功能簡介¶
「年度預估」是一張主檔+明細結構的單據,用來登錄某客戶(或廠/部)在某個年度、某個預估分類下的年度需求預估明細——也就是「我們預期這個客戶一整年大概會下哪些品號、各多少數量」。
這份預估資料屬於「需求面」的源頭之一:它與銷售訂單的實際接單、預示單的中短期排程互補,提供生管/業務在排產與備料時的長期參考。例如 生產計劃查詢 即把「訂單+預示+預估」三種來源彙整成生產計畫。
由業務人員建立與維護,一個客戶在同一年度可依年預估分類與版次建立多張預估單。
前置需求¶
- 權限:E.銷售訂單 →
E-950 年度預估的新增/修改/刪除/列印權限。 - 基礎資料:下列主檔需先維護,否則欄位帶不出值或存檔被擋——
| 資料 | 影響什麼 |
|---|---|
| 客戶/廠商/部門主檔(客廠部) | 客廠部代號 輸入後帶出的客廠部簡稱;存檔時客廠部代號必填 |
| 品號主檔(invent) | 明細品號輸入時的驗證與品名帶出;查無品號會被擋 |
| 幣別與匯率主檔 | 主檔幣別下拉清單;新增時預設帶本位幣、匯率 1 |
| 計量單位(UOM)設定 | 明細單位下拉清單(VFP c_type=104) |
操作步驟¶
新增一張預估單¶
- 從主選單開啟 E.銷售訂單 → 年度預估。
- 點工具列
新增。系統自動帶入主檔預設:幣別 = 本位幣、匯率 = 1(詳見欄位連動與附加功能)。 - 填寫主檔欄位:
- 單號:使用者自行輸入(系統不自動編碼),不可空白、不可與既有單號重複。
- 年度(4 碼)、年預估分類(數字)、版次(1 碼):三者皆必填。
- 客廠部代號:輸入後右側自動帶出簡稱;必填。
- 視需要調整幣別/匯率、填寫預估備註。
-
在下方明細格線逐列輸入預估品項:
- 品號:輸入後系統驗證並帶出品名(查無會跳「查無品號 !!!」)。
- 填數量、選單位、填單價、填預訂交期、視需要填備註、客廠品號。
-
換下一列繼續輸入。
空白品號的明細會被自動刪除
存檔時,凡是品號為空的明細列會被系統標記為刪除(不會存進資料庫)。因此最後一列空白列可以不用理會。
-
點工具列
儲存。系統依序檢查單號、年度、年預估分類、版次、客廠部代號是否齊全且單號未重複,通過後寫入。小技巧
可用 Ctrl+S 快速儲存。
修改/刪除¶
- 用工具列的查詢/瀏覽(
上一筆/下一筆/查詢)找到既有預估單。 - 點
修改進入編輯狀態,調整主檔或明細欄位後儲存。 - 要整張刪除時點
刪除;要刪某一列明細,將該列品號清空再存檔即可(該列會被標記刪除)。
審核欄位唯讀
審核人員/審核日期 兩欄為系統顯示用、唯讀,無法手動輸入。本單據在新版未掛集中式簽核流程(詳見欄位連動與附加功能)。
列印¶
報表規劃中/尚未提供
VFP 舊版的年度預估報表(ESTSAL_P)尚未移植到新版,目前列印功能規劃中。待移植後再於此補充操作說明。
欄位說明¶
主檔欄位¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 單號 | 是 | 使用者自行輸入(最長 20 碼)。系統不自動編碼;空白或與既有單號重複都無法存檔 |
| 年度 | 是 | 4 碼文字(例 2026) |
| 年預估分類 | 是 | 數字。值為 0 視同未填,存檔被擋 |
| 版次 | 是 | 1 碼文字。同客戶/同年度可用版次區分多張預估 |
| 客廠部代號 | 是 | 最長 10 碼。輸入後右側帶出客廠部簡稱 |
| 客廠部簡稱 | — | 唯讀,依客廠部代號自動帶出,不存檔 |
| 幣別 | — | 下拉選擇(幣別主檔)。新增時預設 = 本位幣 |
| 匯率 | — | 數字(小數 4 位)。新增時預設 = 1 |
| 預估備註 | — | 最長 60 碼自由文字 |
| 輸入日期 | — | 唯讀,系統記錄(yyyy/MM/dd HH:mm) |
| 審核人員 | — | 唯讀顯示,不可手動輸入 |
| 審核日期 | — | 唯讀顯示,不可手動輸入 |
明細欄位¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 序號 | — | 系統產生,唯讀 |
| 客廠品號 | — | 客戶端料號(最長 30 碼),自由輸入 |
| 品號 | 是* | 輸入後驗證並帶出品名;查無跳警示。*留空的明細列存檔時會被自動刪除 |
| 品名 | — | 唯讀,依品號自動帶出 |
| 數量 | — | 數字,小數 4 位 |
| 單位 | — | 下拉選擇(計量單位 UOM 清單) |
| 單價 | — | 數字,小數 6 位 |
| 預訂交期 | — | 日期(yyyy/MM/dd) |
| 備註 | — | 最長 30 碼自由文字 |
欄位連動與附加功能¶
這一節把「輸入某欄位後系統會做什麼」「按某動作會發生什麼」完整列出,全部來源為實際程式碼(C# 與 VFP 原版對照)。
新增時的預設值¶
- 當你按
新增,系統會自動把主檔的 幣別 設成本位幣、匯率 設成1。- 對應 VFP
addagain:REPLACE 幣別 WITH m.指定幣別, 匯率 WITH 1(VFP 的「指定幣別」即新版本位幣)。
- 對應 VFP
客廠部代號 → 帶出簡稱¶
- 當你在 客廠部代號 輸入完離開該欄,系統會依代號查客廠部主檔,把對應的簡稱顯示在右側唯讀欄。
- 對應 VFP
sqlnm_cuspdp1(代號+簡稱聯動控件)。簡稱只供顯示、不存檔。
- 對應 VFP
品號 → 驗證並帶出品名¶
- 當你在明細的 品號 欄輸入完離開,系統會到品號主檔(invent)查該品號:
- 查到:把品名帶到同列的品名欄。
- 查不到:跳出提示「查無品號 !!!」,並把品名清空。
- 對應 VFP grid
sql_mno1(dovalid=1)+Column9 = U_SEEKNM('SK_INVENT', 品號, '品名')。
- 載入既有單據時,品名直接來自
vw_estsaldview(estsald JOIN invent),不必逐列重查。
單位下拉清單¶
- 明細 單位 欄是下拉選單,內容來自系統的計量單位(UOM)清單。
- 對應 VFP grid
col單位的sqlcombo c_type=104。VFP 原版只有在「新增/修改」狀態(changeopmode:OPMODE=1 或 2)才讓單位欄可編輯;新版則由格線整體的編輯狀態控制。
- 對應 VFP grid
存檔檢查(按「儲存」時)¶
按 儲存 時,系統依序做下列檢查,任一不通過即擋下並提示:
- 單號 不可空白。
- 單號 不可與既有單號重複(會排除目前這筆自己)。
- 對應 VFP 單號
is_noduplicate="estsalm"。
- 對應 VFP 單號
- 年度 不可空白。
- 年預估分類 不可為 0(等同未填)。
- 版次 不可空白。
- 客廠部代號 不可空白。
- 通過後,系統把所有品號為空的明細列標記為刪除,再寫入資料庫。
- 對應 VFP
allowsave:SCAN ... IF EMPTY(品號) REPLACE 增刪修 WITH 'D'。
- 對應 VFP
審核(顯示用,未掛簽核流程)¶
- 審核人員/審核日期 兩欄唯讀,目前只用來顯示資料庫既有值。
- 年度預估主檔(estsalm)沒有「已審核」欄位,因此新版依「審核三欄才掛集中式審核」原則,未把本單據納入集中式簽核流程。若需要簽核控管,屬規劃外。
舊版自動組單號為 dead code
VFP 原版註解掉一段「以 年度+分類首碼+版次+客廠部代號 自動組單號」的程式,實際未啟用;新版維持單號由使用者自行輸入,未還原該自動組碼邏輯。
跨單據整合(規劃中)¶
預示補充數量機制尚未提供
VFP 舊版規劃中,預示單(preord)可參考年度預估補充數量。新版本次僅還原年度預估單據本體,與預示單的數量整合屬待辦、尚未提供。
常見問題¶
按儲存時跳「請輸入單號/年度/年預估分類/版次/客廠部代號」?
這五個主檔欄位都是必填。請確認都已填寫;其中年預估分類若填 0,系統會視同未填而擋下,請改填非 0 的分類值。
存檔時提示單號重複?
單號由使用者自行輸入、不可重複。請改用其他單號;同一客戶同一年度若要建立多張預估,建議用不同的年預估分類或版次來區分,並給不重複的單號。
明細輸入品號後跳「查無品號 !!!」、品名空白?
代表該品號在品號主檔(invent)查不到。請確認品號輸入正確、且該品號已在品號主檔建立。品名是系統依品號自動帶出的,無法手動輸入。
我留了一列沒填品號,存檔後它不見了?
這是正常行為。存檔時系統會把品號為空的明細列自動標記刪除,所以未填品號的空列不會被保存。要保留某列,請至少填上品號。
新增時幣別/匯率怎麼自動變成本位幣和 1?
這是設計的預設值——按 新增 後系統自動帶本位幣與匯率 1。如該客戶以外幣計價,可手動改幣別與匯率。詳見欄位連動與附加功能。
審核人員/審核日期為什麼不能填?要怎麼送審?
這兩欄為唯讀顯示欄。本單據的主檔沒有「已審核」欄位,新版未掛集中式簽核,因此沒有送審動作;兩欄僅顯示資料庫既有值。
相關功能¶
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/E-SalesOrder/images/):
estsal-step1.png— 新增空白單畫面(主檔已帶本位幣/匯率 1 的預設)estsal-step2.png— 主檔填寫完成(含客廠部代號帶出簡稱)estsal-step3.png— 明細格線(品號帶出品名、單位下拉)estsal-step4.png— 儲存成功訊息