跳轉到

程式資訊

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

產銷表

功能簡介

「產銷表」(E-940)是一張以「年度+月份+版次」為週期、逐月人工維護的銷售與生產對照表單。每一張單據彙整一份明細清單,逐列記錄各客戶、各品號當期的庫存、計劃與實績——把銷售面(原銷售計劃、實際訂單、銷售實績、預售計劃)與生產面(計劃生產、生產實績)並列在同一列,方便業務與生管在同一張表上對照計畫達成度。

本表單由 VFP 舊版 PDTSAL(scx_ord.vcx)還原而來,採主檔+明細的標準交易單據結構:上方主檔記錄單號/年度/月份/版次/產銷備註,下方明細格線可逐列輸入客戶、品號與各項數量。資料純由使用者手動填寫,不自動由訂單或生產資料帶入,定位為「人工編製的產銷對照表」而非系統自動統計報表。

前置需求

  • 權限:E.銷貨訂單 → E-940 產銷表 的瀏覽與修改權限(permissions: [瀏覽, 修改])。
  • 基礎資料:明細列要正確顯示需先維護下列主檔——
資料 影響什麼
客戶基本資料(客戶資料 明細客戶代號欄的放大鏡查詢與帶值
品號基本資料(invent / SKU 主檔 明細品號輸入後帶出的品名;查無品號會跳「查無品號 !!!」

本表單不需審核

pdtsal_m 主檔沒有任何審核欄位,因此產銷表不掛集中式簽核/審核流程,存檔後即生效,沒有「待審核」狀態。

操作步驟

產銷表走 TsERP 標準的「新增/修改/刪除/儲存」單據作業流程。

新增一張產銷表

  1. 從主選單開啟 E.銷貨訂單 → 產銷表(E-940)
  2. 點工具列 新增
  3. 在主檔區填寫:
    • 單號(紅色重點欄,必填,由使用者自行輸入)。
    • 年度月份版次(三欄皆為必填,且只有新增時可編輯,詳見欄位連動與附加功能)。
    • 產銷備註(選填,最多 30 字)。
  4. 在下方明細格線逐列輸入資料:
    1. 客戶代號欄用放大鏡挑客戶,或直接輸入代號。
    2. 品號欄輸入或挑選品號,離開欄位後系統自動帶出品名
    3. 依當期實況填入各數量欄(上月庫存、原銷售計劃、實際訂單、銷售實績、計劃生產、生產實績、例出、預售計劃1~4、單價)。
    4. 視需要填備註
  5. 儲存

    小技巧

    可用 Ctrl+S 快速儲存。

  6. 系統檢核通過後寫入,顯示儲存成功。檢核失敗時會逐項提示(見常見問題)。

修改既有產銷表

  1. 用瀏覽/導覽(前一筆/後一筆)找到要修改的單據。
  2. 修改
  3. 年度/月份/版次 在修改模式下為唯讀(灰色不可改);其餘主檔欄位與明細皆可調整。
  4. 改完點 儲存

刪除明細列/整張單據

  1. 刪除單一明細列:在格線選取該列後刪除即可;存檔時系統也會把品號空白的明細列自動標記刪除(不會留下空列)。
  2. 刪除整張單據:在瀏覽模式下點工具列 刪除,確認後移除主檔與所有明細。

報表列印尚未提供

VFP 舊版的產銷表報表程式 PDTSAL_P(SCX_ORDP)目前尚未移植到 TsERP V2,因此本表單暫無對應的列印格式。此功能規劃中,未提供。

欄位說明

主檔欄位

欄位 必填 說明/格式/預設
單號 鍵值欄,由使用者自行輸入(無自動編碼),最長 20 字。空白不可存、且不可與既有單號重複
年度 4 碼。僅新增時可改,修改模式唯讀
月份 2 碼。僅新增時可改,修改模式唯讀
版次 1 碼。僅新增時可改,修改模式唯讀
產銷備註 自由文字,最長 30 字
輸入日期 系統自動產生(唯讀),格式 yyyy/MM/dd HH:mm

明細欄位

欄位 必填 說明/格式/預設
客戶代號 可用客戶放大鏡查詢挑選,最長 10 字
品號 輸入後離開欄位會驗證並帶出品名;查無會提示,最長 30 字
品名 唯讀,依品號自動帶出(不可手改)
客戶品號 自由輸入,最長 30 字
上月庫存 數量,小數 2 位
原銷售計劃 數量,小數 2 位
實際訂單 數量,小數 2 位
銷售實績 數量,小數 2 位
計劃生產 數量,小數 2 位
生產實績 數量,小數 2 位
例出 數量,小數 2 位
預售計劃1~4 四欄數量,各小數 2 位
單價 小數 6 位(格式 9,999,999,999.999999)
備註 自由文字,最長 30 字

數量欄無系統預設值

明細各數量欄不會由訂單或生產資料自動帶入,新增時皆為 0,需逐欄人工填寫。

欄位連動與附加功能

這一節整理「輸入某欄位/按某動作後系統會做什麼」,全部依實際程式碼行為描述。

主檔:年度/月份/版次「僅新增可改」

  • 當你在新增(或複製新增)模式時,年度、月份、版次三欄可以編輯。
  • 當你切到修改模式時,這三欄會自動變成唯讀(灰色),無法更動。這是還原 VFP 的 changeopmode——這三欄是單據的「週期識別」,建檔後不應再改,避免一張單據的歸屬期被改掉。
  • 對應實作:XAML 的 AddOnlyTextBox 樣式,依 AdeViewModel.Status 是否為 Add / Copy 切換唯讀。

主檔:單號的重複檢查

  • 當你存檔時,系統會把你輸入的單號拿去 pdtsal_m 資料表比對(排除目前這筆 pkid)。
  • 若已有相同單號的其他單據,擋下存檔並提示單號重複。
  • 由於單號是手動輸入而非自動編碼,這道重複檢查是避免兩張單據撞號的關鍵防線。

明細:品號輸入後自動帶品名

  • 當你在明細「品號」欄輸入完並離開欄位時,系統會以該品號到 invent(品號主檔)查詢:
    • 查得到 → 自動把品名填到同列的品名欄(唯讀)。
    • 查不到 → 彈出提示「查無品號 !!!」,並把品名清空。
  • 對應 VFP grid 的 sql_mno1(dovalid=1)+ U_SEEKNM 帶名邏輯。導覽既有單據時,品名是由 vw_pdtsal view(pdtsal LEFT JOIN vwseek_invent)直接帶出,載入即有;只有在你重新編輯品號時才會重新查一次。

明細:客戶代號放大鏡

  • 客戶代號欄是客戶查詢欄,可按放大鏡叫出客戶清單挑選,挑選後把客戶代號填入。

存檔:空白品號列自動刪除

  • 當你存檔時,系統會掃描所有明細列,把品號為空白的列自動標記為刪除(增刪修=D)。
  • 這還原 VFP 的 REPLACE 增刪修 WITH 'D' FOR EMPTY(品號):避免使用者新增後留下沒填品號的空列被寫進資料庫。所以你不需要手動清掉沒用到的空白列,存檔時會幫你濾掉。

存檔:必填檢核順序

存檔時系統依序檢查(任一項不過就擋下並提示):

  1. 單號不可空白 → 提示請輸入單號。
  2. 單號不可重複(見上)。
  3. 年度不可空白 → 提示請輸入年度。
  4. 月份不可空白 → 提示請輸入月份。
  5. 版次不可空白 → 提示請輸入版次。

VFP 有、新版未還原的兩項

  1. VFP Init 中「單價欄是否顯示」會依站台參數('單價'$IS_備註)決定;新版固定顯示單價欄,沒有這個站台開關。
  2. VFP 註解掉的格線動態色彩(刪除列紅字、單價≤0 綠底)為原本就停用的 dead code,新版未還原。

常見問題

存檔時被擋,提示「請輸入年度/月份/版次」?

年度、月份、版次是主檔必填欄位。請確認三欄都有填值再存。注意這三欄只有在新增模式才能輸入,若你是修改既有單據,它們應已有值;若發現是空的,代表這張單據當初建檔資料不完整。

存檔時提示「單號重複」?

產銷表的單號是手動輸入、不自動編號,且不允許與既有單據撞號。請改用一個尚未使用過的單號。建議用「年度+月份+版次」的固定規則命名,避免重複。

明細品號輸入後跳出「查無品號 !!!」?

代表該品號在品號主檔(invent)裡查不到。請確認品號正確、或該品號是否已建檔。查無時品名會被清空,該列等於沒有有效品號——若就此存檔,這列會被當成空白品號列自動刪除。

為什麼明細的數量欄一開始都是 0?

產銷表是人工編製的對照表,各數量欄(上月庫存、實際訂單、生產實績等)不會自動由訂單或生產系統帶入,需要使用者逐欄手動填寫。

年度/月份/版次在修改時為什麼改不了(灰色)?

這是設計行為。這三欄是單據的週期識別,建檔後鎖定為唯讀,避免一張單據的歸屬期被誤改。若真的填錯,請刪除整張單據後重新新增。

找不到列印/報表按鈕?

產銷表的報表(VFP PDTSAL_P)目前尚未移植到 TsERP V2,暫不提供列印格式。詳見操作步驟中的提醒。

相關功能


需補截圖清單

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

  1. images/pdtsal-step1.png — 新增模式主檔區(單號/年度/月份/版次/產銷備註,三欄可編輯)
  2. images/pdtsal-step2.png — 明細格線(含品號帶品名、客戶放大鏡)
  3. images/pdtsal-step3.png — 修改模式(年度/月份/版次 灰色唯讀的對照)