跳轉到

程式資訊

  • 程式 IDWKRAMA
  • 所屬子系統:J.品質管理
  • 狀態:stable

成品暫收單

功能簡介

「成品暫收單」用來把自製品(成品/半成品)從生產現場轉入暫收倉並進行製程品檢(IPQC)的單據。生產日報完工後、正式入庫前,品保人員在此登錄每筆成品的檢驗結果(合格/特採/退貨)、NG 與抽檢數量,作為後續入庫與品質追溯的依據。

它與進貨暫收單(PURAMA,J-010,登錄外購進貨)是同一個資料表家族(共用 Twork_jqc_vw_purama / Twork_jqc_vw_purade 檢視表):差別在於進貨暫收處理向廠商買進的料、成品暫收處理自家生產線做出來的成品。明細中的 生產單號派工單號 等工單欄位即是成品暫收特有的生產追溯資訊。

資料層與 PURAMA 共用

本表單的 Master/Detail 與 PURAMA 使用同一組 Source 與資料表。新版程式的 WkramaViewModel 目前回傳的 ProgramClassPURAMA(與 PURAMA 共用權限與單號流水),與選單登錄的 WKRAMA(J-030)並不一致。實務操作不受影響,但設定權限時請留意這項共用關係。

前置需求

  • 權限:J.品保 → J-030 成品暫收單 的新增/修改/刪除/瀏覽/列印權限。
  • 基礎資料:下列主檔須先維護,否則對應欄位會帶不出值或無法存檔——
資料 影響什麼
倉庫主檔 倉儲代號 的下拉查詢與倉庫簡稱;預設倉庫取自參數 6008
部門/廠商主檔 生產部門 的查詢與 客廠部簡稱 帶值
品號主檔 明細 SKU 查詢、自動帶 品名單位
生產日報(WKPAPER)與派工單 成品暫收轉入 的來源資料(須完工且工單註記「轉成品」)
幣別/匯率主檔 新增時帶入的本位幣別

參數 6008(預設倉庫)

新增時系統會以使用者參數 6008 自動帶入預設倉儲代號。若新單的倉庫永遠空白,請先確認該參數已設定。

操作步驟

新增成品暫收單

  1. 開啟「成品暫收單」進入主畫面。
  2. 按工具列 新增。系統自動帶入:本位幣別、預設倉儲代號(參數 6008)、公司代碼、建檔日期=今日、暫收日期=今日。
  3. 生產部門 欄輸入或查詢代號,系統帶出 客廠部簡稱
  4. 視需要調整 倉儲代號(暫收入庫的倉庫)。
  5. 以下兩種方式建立明細:
    • 手動逐筆:在明細格線輸入 SKU(自動帶品名/單位)、QuantityNGQuantityAccept On Division Quantity(特採數量)、Sample Quantity(抽檢數量)、Unit PriceInspectionResult(檢驗結果)。
    • 由生產日報轉入:按 其他1 開啟成品暫收轉入視窗,依生產部門與日期把完工的生產日報批次帶進明細(詳見欄位連動與附加功能)。
  6. 全部檢驗完成後,把 檢驗完畢 設為
  7. 儲存。存檔前系統會檢核 暫收日期 不可空白,並自動為主檔補上序號前置碼 TW

金額自動算

明細的 Currency Amount Without Tax(金額)為唯讀,會在你改 QuantityUnit Price 時自動重算(金額=數量 × 單價,四捨五入至 2 位)。

修改與刪除

  1. 用工具列的查詢/前後筆(第一筆上一筆下一筆最後一筆)切換到要處理的單據。
  2. 修改後按 儲存
  3. 刪除整張單據按 刪除
    • 已由採購單帶入的明細列(採購單 Pkid 大於 0)不可編輯(該列 CanEdit 為 false),只有手動/日報轉入、未綁採購單的列才能改。

切換單據後倉庫簡稱

換筆顯示時系統會依 倉儲代號 重新帶出倉庫簡稱(AfterMoverRecord)。若簡稱欄空白,多半是該倉庫已從倉庫主檔停用或刪除。

列印

  1. 按工具列 列印。系統開啟暫收單列印視窗(PuramaPrint),並以目前單據的 生產部門暫收日期 預先帶入查詢起訖。
  2. 確認條件後輸出報表。

列印報表規劃中

列印視窗(PURAMAPRINT)目前僅帶入查詢條件,實際報表來源(Crystal/FastReport 取數)在新版程式中尚以註解保留、未啟用。完整暫收單明細報表為規劃中功能。

欄位說明

主檔(Master)

欄位 必填 說明/格式/預設
暫收單號 系統產生 唯讀;存檔時依前置碼 TW 自動編號
暫收日期 預設今日(YYYY/MM/DD);空白時擋存檔
生產部門 以廠商/部門查詢風格輸入代號,帶出 客廠部簡稱
倉儲代號 暫收入庫倉;新增預設參數 6008,帶出倉庫簡稱
檢驗完畢 是/否;全部明細檢驗完成後設為
CreatedDate(建檔日期) 新增/複製時自動帶今日
暫收備註 文字備註(上限 80 字)

明細(Detail)

欄位 必填 說明/格式/預設
Line No(序號) 系統 唯讀流水序號
SKU(品號) 輸入後自動帶 品名單位
SKUDescription(品名) 系統 由品號帶出,唯讀
Quantity(數量) 暫收數量;改值即重算金額
Inspection Date(檢驗日期) 唯讀,由系統/品檢流程帶入
NGQuantity(NG 數量) 不良數量
Accept On Division Quantity(特採數量) 特採(讓步接收)數量
Sample Quantity(抽檢數量) 抽檢數量
UOM(單位) 下拉,預設取自品號單位
Unit Price(單價) 改值即重算金額
Currency Amount Without Tax(金額) 系統 唯讀=數量 × 單價(四捨五入 2 位)
Remark(備註) 明細備註
ETA(預訂交期) 唯讀
InspectionResult(檢驗結果) 下拉:1.特採2.允收3.退貨4.其他
Warehouse In Quantity(入庫數量) 系統 唯讀,後續入庫帶入
Warehouse In Date(入庫日期) 系統 唯讀
Closed(是否結案) 勾選結案;亦會依數量自動判定
Work Daily Document No(生產單號) 系統 由日報轉入帶入,成品追溯用
Work Daily Report Pkid(生產單 Pkid) 系統 來源生產日報主鍵
Work Order No(派工單號) 系統 派工單追溯
Purchase Order No/Pkid(採購單號/Pkid) 系統 唯讀;有值代表該列由採購單帶入,不可編輯

欄位連動與附加功能

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

新增時的預設帶值(AfterAddNew)

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

  1. 把主檔 幣別 設為本位幣(Context.Env.LocalCurrency)。
  2. 倉儲代號 設為使用者參數 6008 的值,並依此帶出倉庫簡稱。
  3. 設定公司代碼為 1。
  4. 建檔日期 設為現在時間、暫收日期 設為今日。

SKU 連動(SKUBinding)

當你在明細輸入或查 SKU,系統會透過 DescriptionHelper.SetISKU 自動帶出該品號的 品名 與相關屬性。若品號空白,該列在存檔時會被視為待刪除列(NeedDeleteFunction)。

金額自動重算(QuantityBinding/UnitPriceBinding/SetAmount)

當你修改明細的 QuantityUnit Price,系統立即重算 金額=數量 × 單價(四捨五入至 2 位)。金額 欄唯讀,不能直接打。

結案自動判定(SetIsClosed)

明細提供結案判定:當「數量 − 入庫數量 − NG 數量 ≤ 0」時,是否結案 設為 Y,否則清空。格線上的 Closed 核取方塊也可手動勾選。

採購單來源列不可編輯(CanEdit)

明細列若 採購單 Pkid 大於 0(代表由採購/進貨流程帶入),整列 CanEdit 為 false,欄位鎖定唯讀;只有手動或由生產日報轉入、未綁採購單的列才能編輯。

其他1:由生產日報轉入成品(ExtendedFunction1)

按主畫面 其他1 會開啟暫收轉入視窗,把已完工的來源批次帶進明細:

  1. 設計上應由 成品暫收轉入(Wkrama_E 視窗,依下列條件抓生產日報(wkpapera
    • 生產部門 = 主檔的生產部門。
    • 生產日期 介於「暫收日期往前 100 天」到暫收日期之間。
    • 該日報的 生產數量 > 已暫收數量(還有未轉入的量)。
    • 對應派工單註記 轉成品 = YTransferToFinishedGoods)。
  2. 你在轉入視窗逐筆填要暫收的數量(不可超過剩餘量,否則擋存)。
  3. 帶回後系統自動建立明細列,填入 SKU/品名/單位/數量 與來源 生產單 Pkid(不帶單價,金額先為 0,待品檢時再補單價重算);主檔同時帶入生產部門、暫收日期、倉庫、本位幣與前置碼。

目前 其他1 路由到進貨暫收轉入

新版 WkramaViewModel.ExtendedFunction1 目前開的是 進貨暫收轉入(Purama_E 視窗,而非成品專用的 Wkrama_E。成品轉入的後端邏輯(Wkrama_EBll,掛 ProgramClass.WKRAMA)已存在,但主畫面按鈕尚未接到它。若你在此處看到的是「採購/進貨」的轉入清單而非生產日報清單,即為此已知差異;正式接線前,成品轉入請以實際出現的視窗為準。

存檔檢核與前置處理(WkramaSave)

儲存 時:

  1. 先跑共用存檔檢核(AllowSave)。
  2. 額外檢核主檔 暫收日期 不可空白,空白時提示輸入並擋存。
  3. 存檔前(HandleDataBeforeEndEdit)把主檔 序號前置碼 設為 TW;若為新增/複製狀態,補上 建檔日期 =現在時間。

列印帶值(GetPrintViewModel)

列印 會建立 PuramaPrintViewModel,並用目前單據的 生產部門(起=迄)與 暫收日期(起=迄)預填查詢條件。報表實際取數邏輯為規劃中(見操作步驟 → 列印)。

常見問題

新增後倉庫永遠空白?

新增的預設倉儲代號取自使用者參數 6008。若該參數未設定,新單倉庫就會空白。請先在系統參數維護好 6008,或新增後手動選倉庫。

明細金額一直是 0?

金額 是唯讀、由系統算的(數量 × 單價)。請確認你有填 QuantityUnit Price——只填數量、沒填單價時金額自然是 0。直接改金額欄是無效的。

某些明細列灰掉不能改?

該列的 採購單 Pkid 大於 0,代表是由採購/進貨流程帶進來的,整列鎖唯讀。只有手動輸入或由生產日報轉入、未綁採購單的列才能編輯。

其他1 跑出來的清單不是生產日報,而是進貨資料?

這是目前已知的接線差異:主畫面 其他1 暫時路由到進貨暫收轉入(Purama_E)。成品轉入邏輯(依生產部門、近 100 天、轉成品=Y 的生產日報)已實作於 Wkrama_E,但主按鈕尚未接上。詳見欄位連動與附加功能

存檔時被擋,提示要輸入暫收日期?

暫收日期 為必填,空白會擋存。新增時系統本會帶今日,若被清空請補回日期再存。

成品轉入清單抓不到某張生產日報?

轉入只抓符合全部條件的日報:生產部門相符、生產日期在暫收日期往前 100 天內、生產數量 > 已暫收數量、且派工單註記 轉成品=Y。任一條件不符就不會出現——常見是日期超過 100 天、已全部暫收完,或工單未勾「轉成品」。

相關功能


需補截圖清單

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

  1. wkrama-step1.png — 主畫面新增後的空白單(含預設倉庫/暫收日期)
  2. wkrama-step2.png — 明細格線(SKU、數量、NG/特採/抽檢、檢驗結果下拉)
  3. wkrama-step3.png其他1 開啟的暫收轉入視窗(標註目前路由到 Purama_E 的情形)
  4. wkrama-step4.png — 列印條件視窗