跳轉到

程式資訊

  • 程式 IDGINVENT
  • 所屬子系統:C.總務管理
  • 狀態:stable

雜項庫存品號主檔(SKU 主檔)

功能簡介

「雜項庫存品號主檔」維護雜項庫存(General Affairs / 一般庶務性庫存)的品號 SKU 基本資料——品號、品名、品別、單位、群組、庫存管制、圖檔等,並提供多個查詢頁籤,讓你在同一張表單上一邊看品號設定、一邊查該品號的統計、客戶出貨、廠商報價、採購、進貨歷史。

它對應 VFP 舊版的 ginvent(程式別名「G庫存主檔」),由總務人員或物料管理人員維護。建立好品號後,雜項庫存的暫收、入庫、調撥、盤點等單據才能引用這支品號。

與 D.BOM 品號主檔的關係

本頁是 General Affairs 模組的品號主檔(雜項庫存)。它與 D.BOM 模組的品號主檔共用同一批查詢子頁籤(出貨/報價/採購/進貨),但本頁的這些子頁籤是以 IsGeneralAffair() 模式建立,查的是雜項庫存相關資料。兩支是不同 ProgramClass,請勿混用。

前置需求

  • 權限:C.總務 → C-010 雜項庫存品號主檔。瀏覽/新增/修改/刪除依使用者權限而定;報價、採購、進貨等含金額的查詢頁籤另受檢視價格權限控制(見下)。
  • 基礎資料:下列主檔/參數會影響本表單欄位的下拉內容與自動帶值——
資料 影響什麼
群組主檔(SK_GRPM1 群組代號搜尋、群組說明自動帶入、Setting 鈕展開的 Self-Defined 分類清單
品別代碼(C204)、來源別代碼(C205) 品別/來源別下拉選項
單位代碼(C104) 單位下拉選項
科目代號(會計科目) 科目代號搜尋帶入
業務員主檔 業務員編號搜尋(隱藏區塊)
檢視價格權限(GetViewPricePermission 是否顯示含金額的報價/採購/進貨頁籤

操作步驟

本表單是標準的主檔維護模式(新增/修改/刪除/瀏覽),左上工具列提供移動筆數、新增、修改、刪除、列印等按鈕。

新增品號

  1. 按工具列 新增。系統自動帶入兩個預設值:庫存管制 = Y新增日期 = 當天(見欄位連動與附加功能)。
  2. Basic 頁切到「品號」欄,輸入品號(主鍵,必填,最長 30 字)。
  3. 依序填寫品名(必填)、品別(必填,下拉)、單位(必填,下拉)。這四欄是存檔必填欄。
  4. 視需要填寫英文描述/來源別/群組代號/品階/abc 分類/模具型別/模具尺寸/庫存管制/科目代號/規格/中文描述/備註等欄位。
  5. 設定 Self-Defined(自訂分類):按 Setting 鈕,系統依群組代號展開分類清單,逐列在分類內容選填;也可按 產生品名 鈕由群組與分類內容自動組出品名(見下節)。
  6. (選填)在圖檔名稱欄選擇品號圖檔,下方會即時預覽圖片。
  7. 按工具列 存檔。存檔前系統會檢核必填欄、補停用日期、清掉空白的分類列,並把圖檔複製進系統目錄。

修改/刪除品號

  1. 用工具列的移動鈕或 快速查詢 找到品號。
  2. 修改,調整欄位後 存檔;或按 刪除 移除整筆品號。
  3. 進入修改狀態時,系統會依群組代號重新載入各分類列可選的分類內容清單。

查詢該品號的歷史

切到下列頁籤即可查目前品號的相關歷史,切換頁籤時會自動帶入目前品號為查詢條件並執行查詢:

  • Statistics:品號統計(庫存/數量等彙總指標),可點列內按鈕導覽或顯示明細。
  • Shipping:客戶出貨查詢。
  • Vendor Quote:廠商報價查詢(含金額,受檢視價格權限控制)。
  • Purchasing:採購查詢。
  • Receiving:進貨查詢。

小技巧

主鍵(品號)定位列只在 Basic 頁顯示;切到任一查詢頁籤時會自動隱藏(由 PkidVisibility 控制)。各查詢頁籤的格線支援匯出 Excel(格線右鍵)。

欄位說明

Basic 頁主要欄位

欄位 必填 說明/格式/預設
品號 主鍵,最長 30 字;不可為空或 +++
新增日期 唯讀;新增時自動帶當天(VFP addagain
停用 YN,控制品號是否停用
停用日期 唯讀;存檔時依「停用」自動補上或清空(見下節)
品名 最長 200 字;可由 產生品名 鈕自動產生
品別 下拉(C204);存檔時須 > 0
英文描述 最長 999 字
來源別 下拉(C205)
群組代號 搜尋(SK_GRPM1);帶出群組說明,並決定 Self-Defined 分類
品階 數字輸入(最長 2 位)
abc 分類 下拉,可選空白/ABC
單位 下拉(C104)
模具型別/模具尺寸 文字
庫存管制 YN新增時預設 Y
科目代號 會計科目搜尋
規格/中文描述/備註 文字(規格最長 120,描述/備註最長 999)
圖檔名稱 圖檔路徑;填了會即時預覽,存檔時複製進系統影像目錄

Self-Defined(自訂分類)明細

欄位 可編輯 說明
分類 由群組代號展開的分類項目名稱
分類內容 ✔(修改狀態) 由該分類的可選清單(ContentList)挑選

隱藏欄位

XAML 中尚有一整區 Visibility="Collapsed" 的隱藏欄位:UPC、I 2 OF 5、HTS、UnitPackage(P002)、ShipPackage(P003)、BudgetCategory(P004)、業務員編號。這些目前在畫面上不顯示,屬保留欄位,本頁不列入操作流程。

欄位連動與附加功能

這一節整理「輸入某欄位/按某按鈕後系統會做什麼」,全部來自實際程式碼(GinventViewModelTwork_gen_vw_ginventSourceGinventSave)。

新增時的預設值(SetNewData)

當你按 新增 建立空白品號時,系統自動帶:

  • 庫存管制 = Y
  • 新增日期 = 當天(DateTimeWrapper.TodayYYYYMMDD(),對應 VFP ginvent.addagain)。

其餘欄位皆為空白,待你手動填寫。

群組代號 → 群組說明 + Self-Defined 分類

  • 群組代號欄選定群組後,群組說明會自動帶入該群組名稱(SK_GRPM1)。
  • 群組說明還是 產生品名 鈕的來源之一(見下)。
  • 進入修改狀態時(AdeViewModel.Status == Edit),系統會依目前群組代號呼叫 GrpmBll.GetSelfDefined,逐列重新載入 Self-Defined 明細各列可選的分類內容清單,確保下拉內容與群組設定一致。

Setting 鈕(Self-Defined)

當你在非瀏覽狀態下按 Setting

  1. 系統先把現有的分類明細全部標記為刪除(增刪修 = D)。
  2. 依目前群組代號呼叫 GrpmBll.GetSelfDefined,把該群組定義的每一個分類重建成一列(分類 = 選項名稱)。
  3. 每列的分類內容預設帶入該分類可選清單的第一個值。

換句話說,Setting 是「依群組重建自訂分類列」的動作;改了群組代號要重按一次才會反映新群組的分類。

產生品名 鈕(GenerateSKUDescription)

對應 VFP ginvent 的「產生品名」鈕。當你在非瀏覽狀態下按它:

  1. 群組說明,去掉第一個空格之前的代號段(只保留族群名稱本體)。
  2. 把所有未刪除、分類內容非空白的 Self-Defined 列的分類內容用空白串接。
  3. 組成「族群名稱 + 各分類內容」寫入品名;超過 120 字會截斷。

所以正確流程是:先選好群組代號 → 按 Setting 展開分類並填好各分類內容 → 再按 產生品名,品名就會自動拼好。

圖檔名稱 → 即時預覽+存檔複製

  • 圖檔名稱欄選定圖檔後,下方 Image 會用完整路徑(圖檔完整路徑Binding)即時顯示預覽。
  • 存檔時若圖檔尚未在系統影像目錄中,GinventSave.AllowSave 會把它複製進處理目錄(ProcessingDirectory)並改寫圖檔名稱為新路徑;複製失敗會擋存檔並提示影像儲存錯誤。

停用 → 停用日期(存檔時補算)

對應 VFP「停用」鈕。存檔(HandleDataBeforeEndEdit)時呼叫 SetDisabledDate

  • 停用Y → 清空停用日期
  • 停用 = Y 且停用日期為空 → 補上今天為停用日期。

與 VFP 的差異

VFP 是在按「停用」鈕當下就改停用日期;新版改成存檔時統一補算(與 D.BOM 品號主檔的 SetDisabledDate 一致)。畫面上的停用日期欄為唯讀,由系統維護。

存檔檢核(AllowSave)

存檔 時,GinventSave.AllowSave 依序檢查(對應 VFP ginvent.allowsave):

  1. 品號不可為空、不可為 +++
  2. 品別須 > 0。
  3. 品名不可為空。
  4. 單位不可為空。
  5. 任一未通過會跳出「請輸入○○」提示並擋下存檔。

同時 HandleDataBeforeEndEdit 會把分類與分類內容皆為空白的 Self-Defined 列標記為刪除,避免存進空白分類列。

查詢頁籤的連動(AfterMoverRecord / 切換頁籤)

  • 每次移動筆數(換到另一個品號)後,系統把目前品號(MasterData.FirstItem.品號)同時塞進所有查詢子 VM 的「起/訖 SKU」條件;若目前在 Statistics 頁,會立即重查統計。
  • 切換頁籤時,若該頁籤的 VM 實作 ITabQuery,會自動執行 Query()(例如 Statistics 第一次切入即查詢一次)。
  • 進入維護狀態(非 Normal)時,所有查詢頁籤會被停用(IsEnabledByAdeStatus = false),離開維護狀態恢復;報價/採購/進貨等含金額頁籤另受檢視價格權限控制是否顯示。

規劃中/尚未提供

XAML 工具列在 VFP 版另有「工作流程」「快速查詢」「設變修改」等延伸鈕。新版 GinventViewModel 目前實作的延伸動作為 Setting(Self-Defined)與 產生品名 兩鈕;其餘 VFP 延伸鈕在新版尚未對應,請勿當成已可用功能。

常見問題

按了存檔卻一直跳「請輸入○○」?

品號主檔有四個必填欄:品號、品別、品名、單位。任一空白(或品號是 +++、品別未選=0)都會被擋下。請補齊這四欄再存。

Self-Defined(自訂分類)清單是空的?

分類清單來自群組主檔。請先在群組代號欄選定群組,再按 Setting 鈕展開;若該群組沒有定義任何 Self-Defined 分類,清單就會是空的——這要回群組主檔(SK_GRPM1)維護。

按了「產生品名」卻沒反應或品名怪怪的?

產生品名 是把群組說明(去掉開頭代號段)加上各列分類內容串接而成。若群組說明為空、或 Self-Defined 各列分類內容沒填,組出來的品名就會殘缺。請先選好群組、按 Setting 展開並填妥分類內容,再按 產生品名。另外此鈕在瀏覽狀態下不作用,需先進入新增/修改狀態。

停用日期不能手動改?

停用日期是唯讀欄,由系統在存檔時依「停用」自動維護:停用設 Y 補今天、設為非 Y 清空。要調整請改「停用」欄,存檔後日期會跟著更新。

報價/採購/進貨頁籤看不到金額或整個頁籤不見?

含金額的查詢頁籤受檢視價格權限GetViewPricePermission)控制。沒有該權限時相關頁籤不顯示,請洽系統管理員調整權限。

圖檔預覽是空白或存檔報影像錯誤?

預覽用圖檔名稱的完整路徑載入,路徑錯誤或檔案不存在就不會顯示。存檔時系統會把圖檔複製進系統影像目錄,若來源檔案無法讀取/複製會擋存檔並提示影像儲存錯誤——請確認圖檔路徑正確且檔案存在。

相關功能


需補截圖清單

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

  1. ginvent-step1.png — Basic 頁全貌(品號/品名/群組等欄位 + 圖檔預覽)
  2. ginvent-step2.png — Self-Defined 明細(按 Setting 展開的分類列)
  3. ginvent-step3.png — 查詢頁籤(建議以 Statistics 或 Shipping 為主畫面)