跳轉到

程式資訊

  • 程式 IDSPLACE
  • 所屬子系統:H.庫存管理
  • 狀態:stable

倉庫倉儲資料維護

功能簡介

「倉庫倉儲資料維護」用來建立與維護倉庫(隸屬倉庫)及其底下的倉儲(Bin,儲位)主檔,是庫存模組的基礎主檔之一。倉管/資材人員在這裡設定每一個倉庫的基本屬性(成本計算順序、是否管制負庫存、倉同儲與否等),並在右側維護該倉庫下的多個倉儲(儲位)明細。

一筆完整的資料分成兩層:

  1. 倉庫(master):以隸屬倉庫為主鍵,記錄倉庫說明、成本順序、管制負數、倉同儲、開帳月份/關帳日期等。
  2. 倉儲(detail):同一倉庫下可建立多個倉儲(Bin),每個倉儲有自己的倉儲代號、說明與備註,是 入庫領料庫存查詢 等單據選取儲位的來源。

此外本頁還提供兩個查詢/作業入口:右側可即時帶出該倉庫的現有數量/現有金額(依品號、途程、批號彙總),工具列的延伸功能可開啟倉庫關帳視窗,對選定倉庫執行月結關帳。

前置需求

  • 權限:H.庫存 → H-090 倉庫倉儲資料維護 的瀏覽與修改權限。
  • 基礎資料
資料 影響的結果
倉庫主檔(隸屬倉庫不可重複) 新增時隸屬倉庫做唯一性檢核,重複會擋存
庫存交易(入庫/領料/調撥…) 右側 Quantity Query(現有數查詢)才會有現有數量/金額
成本計算相關設定(K 成本模組) 倉庫關帳前的稽核條件(K-020 系列)會檢查成本是否可結算

倉同儲的意義

倉同儲Y 表示「倉庫即儲位」——此倉庫不再細分多個 Bin,系統會自動建立一個與隸屬倉庫同代號的倉儲。詳見欄位連動與附加功能

操作步驟

新增倉庫與倉儲

  1. 從主選單開啟 H.庫存 → 倉庫倉儲資料維護
  2. 點選工具列 新增。系統會帶入下列預設值(見欄位說明):可用=1、管制負數Y倉庫分類碼=0、倉同儲N
  3. 在上方輸入隸屬倉庫(主鍵,必填)、倉庫說明等欄位。
  4. 設定倉同儲
    • Y(倉同儲):系統自動在右側倉儲明細建立一筆與隸屬倉庫同代號的倉儲(見欄位連動),不需再手動建 Bin。
    • N:請在右側倉儲(Bin)格線逐筆輸入該倉庫下的儲位,至少要有一筆倉儲代號才能存檔。
  5. 點選 儲存

    小技巧

    可用 Ctrl+S 快速儲存。

修改與刪除

  1. 用工具列的瀏覽/Seek 找到要維護的倉庫,按 修改
  2. 調整欄位或在右側增刪倉儲明細。

    刪除倉儲的規則

    倉儲明細列若把倉儲代號清空,存檔時該列會被標記刪除;倉庫本身的刪除受系統一致性限制,已有庫存或交易的倉庫無法直接刪除。

  3. 儲存 寫回。

現有數查詢(Quantity Query)

  1. 先在上方選定(或定位到)某個倉庫。
  2. 按右側的 Quantity Query(現有數)按鈕。
  3. 系統依該倉庫查出右下角格線:倉儲代號、品號、途程序號、工程代號、批號別、批號、現有數量現有金額、設立說明。
  4. 此查詢為唯讀,僅供現場核對,不影響存檔。

倉庫關帳(延伸功能)

倉庫關帳由工具列的延伸功能按鈕開啟獨立的 Warehouse Closing Book(倉庫關帳) 視窗:

  1. 在主畫面按工具列的延伸功能鈕開啟關帳視窗(需具「分批盤存(關帳)」授權)。
  2. 輸入關帳日期(Closing Date),按 查詢。系統先跑成本稽核(K-020 系列檢查項目),把結果列在左側 Check Item 清單。
  3. 右側 Master 列出可關帳的倉庫,逐列勾選 Select(或用 全選全不選)。
  4. 若有其他使用者正在編輯,會列在 Locked Source 頁籤並顯示鎖定筆數。
  5. 確認後執行關帳(轉檔)。關帳完成後回到主畫面,倉庫的開帳月份關帳日期會被更新。

    稽核未過無法關帳

    成本稽核(K-020-003/004/005)若未通過,系統會顯示資料不正確並中止查詢,無法進行關帳。請先到 成本管理 確認該月成本可結算。

欄位說明

倉庫(上方主檔)

欄位 必填 說明/格式/預設
隸屬倉庫 倉庫主鍵,最長 10 碼。新增時做唯一性檢核,不可重複、不可空白
倉庫說明 倉庫名稱,最長 40 字
倉同儲 YN;預設 NY=倉庫即儲位,存檔前不可空白
倉庫分類碼 數字,預設 0
成本順序 成本計算順序,最長 2 碼
顯示順序 倉庫在清單的排序,最長 2 碼
可用 1=可用、0=停用;新增預設 1
管制負數 YN;新增預設 YY=不允許庫存變負數
送貨地點 最長 80 字
備註 最長 80 字
開帳月份 系統產生,唯讀,格式 yyyy/MM
關帳日期 系統產生,唯讀,由倉庫關帳更新

倉儲明細(左下格線)

欄位 必填 說明
倉儲代號 是* 該倉庫下的 Bin 代號,最長 10 碼。*倉同儲=N 時至少要有一筆;清空表示刪除該列
倉儲說明 Bin 名稱,最長 40 字
備註 最長 80 字

現有數明細(右下格線,唯讀)

欄位 說明
倉儲代號/品號 庫存所在的 Bin 與品號
途程序號/工程代號 製程途程相關欄位
批號別/批號 批號管制欄位
現有數量/現有金額 該品號在此倉儲的結存量與金額
設立說明 來源說明

欄位連動與附加功能

這一節把「輸入某欄位/按某按鈕後,系統會做什麼」逐條列出,全部依實際程式碼整理。

新增時的預設值

當你按 新增,系統會自動帶入:

  • 可用=1
  • 管制負數Y
  • 倉庫分類碼=0
  • 倉同儲N

(對應 SplaceViewModel.AfterAddNew/VFP 新增預設。)

倉同儲=Y → 自動建立同代號倉儲

當你把倉同儲設成 Y(欄位失焦時):

  • 若右側倉儲明細還沒有與此倉庫同代號的倉儲,系統會:
    • 明細是空的:新增一筆倉儲,倉儲代號=隸屬倉庫、倉儲說明=倉庫說明、備註=倉庫的備註。
    • 明細已有一筆:把該筆的倉儲代號改成隸屬倉庫;若倉儲說明原本空白,補上倉庫說明;並依該列是否已有 pkid,標記為修改(E)或新增(A)。

這對應 VFP 倉同儲.LostFocus 的行為:倉同儲為 Y 的倉庫不需要人工建 Bin,系統替你補一筆。

只在編輯狀態才會觸發

此連動只在新增/修改狀態下生效;瀏覽(唯讀)狀態調整倉同儲不會動到明細。

Quantity Query(現有數查詢)按鈕

按右側 Quantity Query 時(對應 QuantityQueryCommandSplaceBll.GetQuantity):

  • 以目前倉庫的隸屬倉庫為條件,呼叫 SP DARB_TUR_SPLACE(查詢別=2)取回該倉庫所有品號/途程/批號的現有數量與金額。
  • 結果塞進右下角的虛擬化格線顯示,純查詢、不寫回任何資料。
  • 切換/移動到別筆倉庫時(AfterMoverRecord),現有數結果會清空,避免顯示到上一個倉庫的資料。

舊資料表已不適用

早期版本走 TWORK_QRY_SPLACE,中文 schema 遷移後該物件已不存在;現行版本一律走 DARB_TUR_SPLACE。若查不到資料,多半是該倉庫本來就沒有庫存,而非 SP 問題。

倉庫關帳(延伸功能)按鈕

工具列的延伸功能(ExtendedFunction1)會開啟 Warehouse Closing Book(倉庫關帳) 視窗(WindowName.Stkbas_1):

  • 視窗關閉後(OpenWindow 回傳成功),主畫面會自動 Renew 重新整理,讓開帳月份/關帳日期反映最新關帳結果。
  • 關帳視窗本身先跑成本稽核(Stkbas_1ViewModel 僅取 K-020-003/004/005 三項檢查),未過的列會以紅底標示並擋下關帳。
  • 提供 全選全不選BtnSelectAllBtnUnselectAll)快速勾選欲關帳的倉庫,並在 Locked Source 頁籤顯示被他人編輯鎖定中的倉庫與鎖定筆數。

此功能對應 VFP else1click(先檢查「分批盤存(關帳)」授權,再開 STKBAS_1 表單並重整);新版的授權檢查由開窗框架處理,ExtendedFunction1 只負責開窗與重整。

存檔前檢核與整理(SplaceSave)

儲存 時系統會做下列驗證(對應 SplaceSave.AllowSave,涵蓋 VFP allowsave 全部條件):

  • 隸屬倉庫不可空白。
  • 倉同儲不可空白(必須是 YN)。
  • 倉同儲=N:倉儲明細至少要有一筆未被刪除的倉儲代號,否則擋存並提示輸入倉儲代號。
  • 倉同儲=Y:倉儲明細中至少要有一筆倉儲代號=隸屬倉庫(即同代號倉儲),否則一樣擋存。

驗證通過後,存檔前還會自動整理明細(對應 SplaceSave.HandleDataBeforeEndEdit):

  • 倉儲明細逐列回填隸屬倉庫,確保 Bin 掛在正確倉庫下;倉儲代號為空的列會被標記為刪除(與 Source 的 NeedDeleteFunction 一致)。
  • 倉同儲≠Y時,系統會自動補上兩筆虛擬倉儲(若尚不存在):

    • 收貨虛擬倉:代號=<收貨虛擬倉參數>-<隸屬倉庫>、備註=Virtual
    • 出貨虛擬倉:代號=<出貨虛擬倉參數>-<隸屬倉庫>、備註=Virtual

    兩個虛擬倉的前綴取自系統參數(_prgpar 的 3023/3026),供入庫/出貨流程暫存使用,新增倉庫時會自動產生、不需人工建立。

常見問題

存檔時提示「請至少輸入一個倉儲代號」?

倉同儲=N 時,倉庫底下必須至少有一個倉儲(Bin)。請在右側倉儲格線輸入一筆倉儲代號,或把倉同儲改成 Y 讓系統自動建立同代號倉儲。

把倉同儲改成 Y,右邊倉儲沒有自動帶出來?

自動帶倉儲只在新增/修改狀態且失焦時觸發;若停在瀏覽(唯讀)狀態不會動作。請先按 修改,再重新選一次倉同儲=Y。另外若該倉庫已存在同代號的倉儲,系統判斷已有就不會重複建立。

按 Quantity Query 查不到任何現有數?

現有數來自 SP DARB_TUR_SPLACE(查詢別 2),只會列出該倉庫實際有庫存的品號。若倉庫剛建立、尚無任何入庫/交易,查詢自然為空。請先確認該倉庫有 入庫 或其他庫存異動。

倉庫關帳查詢按下去就跳「資料不正確」?

這是成本稽核(K-020-003/004/005)未通過所致——表示該關帳月份的成本還不能結算。請先到 成本管理 完成成本計算與檢查,稽核全部通過後再回來關帳。

為什麼某些倉庫不能刪除?

已有庫存或交易歷史的倉庫不可刪除,以免破壞庫存與成本資料的一致性。若只是要停用,請把可用改成 0。

存檔後倉儲明細多了兩筆備註為 Virtual 的列?

倉同儲≠Y 時,系統會在存檔時自動補上兩筆虛擬倉儲(收貨/出貨),代號為 <虛擬倉參數>-<隸屬倉庫>、備註標為 Virtual,供入庫與出貨流程暫存使用。這是正常設計,請勿手動刪除。

相關功能


需補截圖清單

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

  1. splace-step1.png — 倉庫主檔上半部欄位與工具列
  2. splace-step2.png — 左下倉儲(Bin)明細格線
  3. splace-step3.png — 按 Quantity Query 後的現有數結果格線
  4. splace-step4.png — 倉庫關帳(Warehouse Closing Book)視窗