程式資訊
- 程式 ID:
INVREC - 所屬子系統:H.庫存管理
- 狀態:stable
盤點單¶
功能簡介¶
「盤點單」用來對某一倉庫做實體盤點:系統依條件把該倉庫的庫存資料抓出來、編成一張張盤點卡(盤點卡號 + 倉儲代號 + 品號 + 帳列數),倉管人員把實際盤到的數量填進初盤/複盤/抽盤欄,系統即時算出與帳面(帳列數)的差異量與差異額。盤點完成後可一鍵轉盤點調整單,把盤差結轉到 盤點調整單 沖平庫存。
適用對象為倉儲人員與物流主管,位於庫存管理流程的「期末/不定期盤點」環節:先在此單建立盤點卡並輸入實盤數,確認後轉成調整單調整庫存帳。
前置需求¶
- 權限:H.庫存管理 →
H-080 盤點單的瀏覽/修改權限。差異金額欄(初盤/複盤/抽盤差異額、單位成本)另需「檢視單價」權限,沒有此權限時這些欄位會隱藏。 - 基礎資料:盤點卡的產生與差異計算依賴下列主檔——
| 資料 | 影響的結果 |
|---|---|
| 倉庫/儲位(splace) | 盤點對象倉庫、Bin(倉儲代號)的搜尋與檢核 |
| 庫存量(invstk) | 帳列數(盤點日的帳面庫存)來源 |
| 品號主檔(品名/單位/單位成本) | 盤點卡帶出的品名/單位、差異額計算用的單位成本 |
| 製通單 / 途程 / 工程 | 在製品盤點卡的製通單號/途程序號/工程代號 |
操作步驟¶
新增盤點單¶
- 從主選單開啟 庫存管理 → 盤點單。
- 按工具列
新增。系統自動帶入:- 製單日期=今天。
- 盤點別=
1(預設第一種盤點別)。
-
按主檔右側的
Add New(產生盤點卡)按鈕,開啟查詢條件視窗(見產生盤點卡)。設定條件後按查詢,系統把符合條件的庫存編成盤點卡填入下方明細,並額外補 100 張空白卡供手動加入漏盤品項。備註
Add New只有在新增狀態下才可按(編輯既有單據時停用)。產生盤點卡前請先確認上方的製單日期與倉庫正確,這兩個值會被帶進查詢視窗。 -
倉管人員依盤點卡上的品號實地盤點,把數量填入 初盤數(必要時再填 複盤數/抽盤數)。每填一格,系統即時算出對應的差異量與差異額(見欄位連動與附加功能)。
- 視需要在空白卡上輸入漏盤的品號(自動帶出品名),補成新的盤點卡。
-
按
儲存。小技巧
可用 Ctrl+S 快速儲存。
產生盤點卡(查詢條件視窗)¶
按 Add New 後出現查詢視窗,依序設定:
- DocumentDate(盤點日期)/Warehouse(倉庫):必填,預設沿用主檔的製單日期與倉庫;帳列數取此日期、此倉庫的庫存。
- Filter(篩選方式):單選一種範圍——
All:整個倉庫。SKU:品號區間(起~訖)。Group Code:群組代號區間。SKU Category:品別。Default Bin:儲位區間。Modified Days:以盤點日往回推 N 天內有異動的品項。Random Pick:隨機抽盤張數(預設 100)。SKU Starts with:以逗號分隔多個品號前置碼(如A,B,C)。SKU Description Contains:品名包含某字串。
- Quantity On Document Date(盤點日數量條件):
All全部 /<> 0數量不為零(預設)/< 0數量小於零。 - Order by(排序):
Bin, DefaultBin, SKU(預設)/Bin, SKU, DefaultBin/Production Order No, Processing Code/Processing Code, Production Order No。 - 按
查詢產生盤點卡並關閉視窗;按離開放棄。
修改/刪除¶
- 在列表選取盤點單後按
修改,可調整實盤數量與備註;改完按儲存。 - 對空白或不需盤點的盤點卡列,清空品號即視為刪除列(存檔時不寫入)。
-
整張盤點單可用工具列
刪除移除。注意
已經轉過盤點調整單的盤點單,三個延伸功能都會被擋下(系統檢查盤點備註已被回寫)。若要重做,需先處理對應的盤點調整單。
盤點後處理(延伸功能)¶
盤點數量輸入完成、存檔後,依序使用工具列的三個延伸功能(詳見欄位連動與附加功能):
重算帳列數(延伸功能一):重新抓最新庫存帳,更新各卡的帳列數。執行確認(延伸功能二):把實盤結果確認為確認盤點數。轉盤點調整單(延伸功能三):依差異產生 盤點調整單 調整庫存。
欄位說明¶
主檔欄位¶
| 欄位 | 必填 | 說明 / 格式 / 預設 |
|---|---|---|
| 盤點單號 | 是 | 系統自動產生(唯讀) |
| 製單日期 | 是 | yyyy/MM/dd,新增時預設今天;決定帳列數取數的基準日 |
| 隸屬倉庫 | 是 | 盤點對象倉庫;搜尋帶出,會連動明細的 Bin 搜尋範圍 |
| 盤點別 | 是 | 下拉選擇,新增時預設 1 |
| 盤點備註 | 否 | 文字(上限 40 字);轉盤點調整單後由系統回寫,有值即代表已轉出 |
| 盤調單pkid | — | 轉出後的盤點調整單 pkid,超連結可直接開啟對應 盤點調整單 |
明細欄位(盤點卡)¶
| 欄位 | 可編輯 | 說明 / 格式 / 預設 |
|---|---|---|
| 盤點卡號 | — | 產生時依序編號(含 100 張空白卡) |
| 倉儲代號(Bin) | ✔ | 搜尋帶出,搜尋範圍受主檔倉庫限制 |
| 儲位(DefaultBin) | — | 由產生條件帶入 |
| 品號(SKU) | ✔ | 搜尋帶出;輸入後自動帶出品名 |
| 品名 | — | 由品號帶出(唯讀) |
| 製通單號/途程序號/工程代號/工程簡稱 | ✔ | 在製品盤點時帶出 |
| 批號別/批號 | ✔ | 批號管理品項使用 |
| 單位 | — | 由品號帶出 |
| 廠別(Site) | — | 該卡所屬廠別 |
| 帳列數 | — | 盤點日的帳面庫存(唯讀),差異計算基準 |
| 初盤數 / 複盤數 / 抽盤數 | ✔ | 實地盤點數;輸入後即時重算對應差異量/差異額(失焦更新) |
| 初盤差異量 / 複盤差異量 / 抽盤差異量 | — | =(該次盤數 − 帳列數),唯讀 |
| 初盤差異額 / 複盤差異額 / 抽盤差異額 | — | = ROUND(差異量 × 單位成本, 0),唯讀,需檢視單價權限才顯示 |
| 確認盤點數 | — | 由 執行確認 回寫(唯讀) |
| 單位成本 | — | 差異額計算用,需檢視單價權限才顯示 |
| 備註 | ✔ | 該卡自由備註 |
欄位連動與附加功能¶
這一節列出「輸入某欄位/按某按鈕後系統會做什麼」,全部來自實際程式碼。
主檔連動¶
- 新增單據時:系統把製單日期設為今天、盤點別設為
1。 - 修改隸屬倉庫:在編輯狀態下改主檔倉庫,系統會把新倉庫同步寫進每一列明細的內部「主檔倉庫」值,使明細的倉儲代號(Bin)搜尋只列出該倉庫的 Bin(搜尋條件
隸屬倉庫 = 該倉庫)。 - 盤調單pkid:此欄為超連結,點擊以 pkid 開啟對應的 盤點調整單(TRLIMA)。
明細欄位連動¶
- 輸入初盤數:系統立即計算
- 初盤差異量 = 初盤數 − 帳列數
- 初盤差異額 = ROUND(初盤差異量 × 單位成本, 0)
- 輸入複盤數:同上算出複盤差異量與複盤差異額。
-
輸入抽盤數:同上算出抽盤差異量與抽盤差異額。
差異額四捨五入到整數
三組差異額都依 VFP 原規則
ROUND((盤數−帳列數)×單位成本, 0),四捨五入到整數位;單價權限不足時整欄隱藏,計算仍照常進行。 -
輸入品號(SKU):系統把值寫入品號並自動帶出品名(透過 ISKU 說明帶入)。空白盤點卡也可手動輸入品號補成新卡;反之,把品號清空的列在存檔時視為刪除(不寫入)。
產生盤點卡(Add New / 查詢視窗)¶
- 按
Add New開啟查詢視窗,須先填盤點日期與倉庫(任一空白會擋下並提示)。 - 按
查詢時,系統用所選 Filter 組出查詢條件,呼叫盤點取數預存程序(TWORK_INVREC)取得品項清單,依所選 Order by 排序後:- 逐筆建立盤點卡,帶入倉儲代號、品號、品名、儲位、單位、帳列數、製通單號、途程序號、工程代號、批號等。
- 再額外補 100 張空白盤點卡,供現場補盤漏列品項。
SKU Starts with支援逗號分隔多前置碼(例:A1,B2→ 列出以 A1 或 B2 開頭的品號)。
延伸功能(盤點後處理)¶
三個延伸功能執行前,系統都會做相同的前置檢查(任一不過即中止並提示):資料須已存在、盤點單號不可空白、盤點備註須為空(有值代表已轉出,不能再執行)、且取得作業授權碼成功。
- 重算帳列數(
重算帳列數):呼叫TWORK_LOG_INVREC_RECOUNT,依盤點單 pkid 重新計算各卡的帳列數,使其反映最新庫存帳;成功顯示「重算帳列數,執行成功」,並重新整理畫面。 - 執行確認(
執行確認):呼叫TWORK_LOG_INVREC_CONFIRM,把實盤結果確認為確認盤點數;成功顯示「執行確認,執行成功」。 -
轉盤點調整單(
轉盤點調整單):- 先檢查是否有「帳列數 ≠ 確認盤點數」的卡。若全部相等,提示「數量與確認盤點數相等,無須盤點調整」並中止。
- 跳出確認對話框,按
是後呼叫TWORK_LOG_INVREC_TO_AA產生 盤點調整單;成功顯示「轉盤點單,執行成功」並重新整理,盤調單pkid 與盤點備註會被回寫。
轉出後不可重複
轉盤點調整單成功後,盤點備註被回寫成有值,之後再按任何一個延伸功能都會被「已轉至其他單據,不可執行」擋下。
常見問題¶
按 Add New(產生盤點卡)沒有反應?
Add New 只有在新增狀態下可用。請先按工具列 新增 進入新增狀態,再按 Add New。
查詢視窗按 查詢 卻提示要填欄位?
產生盤點卡前盤點日期與倉庫為必填,任一空白都會擋下。請先回主檔填好製單日期與隸屬倉庫,這兩個值會自動帶進查詢視窗。
填了初盤數,但差異額一直是 0 / 看不到差異額欄?
兩個可能:① 差異額 = ROUND(差異量 × 單位成本, 0),該品號單位成本為 0 時差異額自然是 0;② 差異額、單位成本欄需要「檢視單價」權限,沒有此權限時整欄隱藏(不是計算錯誤)。
盤點卡的帳列數看起來不是最新的?
帳列數是以製單日期+倉庫取的庫存帳。若庫存後續有異動,可按 重算帳列數 重新取數;或重新產生盤點卡。
按 轉盤點調整單 提示「無須盤點調整」?
代表所有盤點卡的帳列數都等於確認盤點數(沒有盤差)。請先確認已輸入實盤數並執行過 執行確認,使確認盤點數反映實盤結果。
延伸功能全部按不動,提示已轉至其他單據?
這張盤點單已經轉過盤點調整單(盤點備註已被回寫)。同一張盤點單不能重複轉出;需從對應的 盤點調整單 端處理。
相關功能¶
- 盤點調整單 — 盤點差異轉出後沖平庫存的去向單據
- 庫存量查詢(invstk) — 帳列數來源
- 倉庫儲位設定(splace) — 倉庫 / Bin 主檔
- 庫存帳冊(invbk1) — 庫存異動帳查詢
- 庫存管理模組首頁
- BOM 管理 — 在製品盤點的途程 / 工程來源
- 生產管理 — 製通單來源
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/H-Inventory/images/):
invrec-step1.png— 盤點單主畫面(主檔欄位 + 盤點卡明細格線)invrec-step2.png— 產生盤點卡的查詢條件視窗(Filter / Quantity / Order by)invrec-step3.png— 輸入初盤數後即時帶出差異量/差異額invrec-step4.png— 工具列三個延伸功能(重算帳列數 / 執行確認 / 轉盤點調整單)