程式資訊
- 程式 ID:
Wkrama_E - 所屬子系統:J.品質管理
- 狀態:stable
日報轉暫收:來源挑選視窗¶
功能簡介¶
「日報轉暫收:來源挑選視窗」(程式代號 WKRAMA_E)是一個來源挑選彈窗,給品檢人員在做日報轉暫收驗收時,從生產日報(工單日報)裡批次挑出「已完工、已轉成品」的入庫數量,一鍵帶進暫收單明細。它本身不是一張可獨立開立的單據,而是暫收單的「抓料來源」工具:
- 依生產部門+暫收日期抓出該部門最近 100 天內的生產日報。
- 只列出生產數量大於已暫收數量、且工單明細已勾「轉成品」的列。
- 使用者勾選要轉入的數量後按轉入,系統把這些成品數量寫成一張暫收單(PURAMA)。
目前未掛在主畫面(規劃中的入口)
經程式碼確認,本視窗的 ViewModel/BLL/來源類別都已實作,但目前沒有任何主畫面開啟它。日報轉暫收驗收主畫面的 其他1 功能實際開的是採購暫收來源挑選視窗(Purama_E),而非本視窗;WKRAMA_E 也尚未登錄到視窗管理(WindowName)。因此下列操作步驟描述的是程式碼已具備的行為,待入口接妥後即可使用。在此之前,請改由 日報轉暫收驗收 既有流程作業。
前置需求¶
- 權限:J.品保 →
J-031 日報轉暫收:來源挑選視窗(隨日報轉暫收驗收一併使用)的瀏覽權限。 - 基礎資料/參數:挑選結果是否抓得到資料,取決於下列維護狀況——
| 資料 | 影響什麼 |
|---|---|
| 生產日報(工單日報,WKPAPER) | 視窗清單的全部來源;無日報即查無資料 |
工單明細「轉成品」註記(TransferToFinishedGoods='Y') |
只有已轉成品的日報才會被列出 |
| 生產部門主檔 | VendorCode(生產部門) 搜尋帶值 |
| 倉儲主檔 | Warehouse(暫收倉庫) 搜尋帶值;預設取使用者參數 30172 |
使用者參數 30172(U_Prgpar) |
預設暫收倉庫代號 |
操作步驟¶
備註
本視窗為彈窗(無新增/修改/刪除按鈕),核心動作只有「查詢」與「轉入存檔」。它沿用 SqlEditTurn(轉單工具列)機制,因此存檔即是把挑選結果轉成暫收單。
步驟一:設定篩選條件¶
- 輸入 VendorCode(生產部門):以廠商/部門搜尋風格挑選,必填。
- 確認 TempReceivingDate(暫收日期):預設今天,必填;同時作為日報查詢的截止日(系統自動往前推 100 天為起始日)。
- 確認 ETA(預計到貨日):預設今天 +30 天,必填。
- 視需要調整 Warehouse(暫收倉庫):預設帶系統參數
30172的倉庫,可改。
步驟二:查詢日報來源¶
- 按
Query(查詢)。系統依條件呼叫來源挑選預存程序,把符合的生產日報列入主格線。 - 若有資料被別的使用者鎖定(正在編輯),會改列在
Locked Source(鎖定來源)頁籤,頁籤標題會顯示鎖定筆數,這些列不可轉入。
步驟三:挑選要轉入的數量¶
- 逐列在 Temp Receiving Quantity(暫收數量) 欄輸入要轉入的數量;或直接按該列
Select鈕,系統自動帶入「生產數量 − 已暫收數量」的全部剩餘量(再按一次則歸 0,等於取消挑選)。 - 畫面下方的 Subtotal(合計) 會即時加總所有列的暫收數量。
- 必要時於 Remark(備註) 欄填入該列備註。
步驟四:轉入存檔¶
- 確認挑選無誤後,按轉單工具列的存檔,系統把所有暫收數量大於 0 的列寫成一張暫收單(PURAMA)。
- 存檔成功後,視窗會回傳新單據的
Pkid,供呼叫端導頁到剛產生的暫收單。 - 按
Exit(離開)關閉視窗。
欄位說明¶
篩選條件區¶
| 欄位 | 必填 | 說明 / 格式 / 預設 |
|---|---|---|
| VendorCode(生產部門) | ✔ | 以廠商搜尋風格挑選的生產部門代號;空白時擋查詢並提示 |
| TempReceivingDate(暫收日期) | ✔ | 短日期;預設今天;亦為日報查詢截止日(起始日=截止日−100 天) |
| ETA(預計到貨日) | ✔ | 短日期;預設今天 +30 天 |
| Warehouse(暫收倉庫) | — | 倉儲搜尋;預設取使用者參數 30172;可空白(檢核已停用) |
| Subtotal(合計) | 唯讀 | 系統自動加總所有列的暫收數量,採購數量格式 |
主格線(來源日報)欄位¶
| 欄位 | 可編輯 | 說明 |
|---|---|---|
| DailyWorkDocumentNo(日報單號) | — | 來源生產日報單號 |
| WorkOrderNo(工單號) | — | 對應工單 |
| VendorCode(生產部門) | — | 該日報的生產部門 |
| ETA | — | 預計到貨日 |
| SKU(品號)/SKUDescription(品名)/UOM(單位) | — | 成品品號相關資訊 |
| Quantity(生產數量) | — | 日報的生產(入庫)數量 |
| Received Quantity(已暫收數量) | — | 已轉暫收的累計數量 |
| Select(挑選) | 鈕 | 一鍵帶入剩餘量 / 再按歸零 |
| Temp Receiving Quantity(暫收數量) | ✔ | 本次要轉入的數量;改值即時重算合計並做檢核 |
| Remark(備註) | ✔ | 該列備註 |
Locked Source(鎖定來源)頁籤¶
| 欄位 | 說明 |
|---|---|
| Editing User(編輯者) | 正鎖定該筆來源的使用者帳號 |
| 其餘欄位 | 同主格線(唯讀,不可轉入) |
欄位連動與附加功能¶
這一節把「輸入某欄位後會發生什麼」「按某按鈕會做什麼」逐條列出,全部來源為實際程式碼。
- 開窗自動帶預設值:視窗開啟(建構
Wkrama_EViewModel)時自動帶入——- TempReceivingDate(暫收日期) = 今天。
- ETA = 今天 +30 天。
- Warehouse(暫收倉庫) = 使用者參數
30172對應的倉庫。
- 按
Query(查詢)前的檢核:依序檢查 VendorCode、TempReceivingDate、ETA 是否有填;任一空白即跳出提示並中止查詢(Warehouse 的必填檢核在程式中已被註解停用,可空白)。 - 查詢的抓料規則:通過檢核後,系統以「截止日=暫收日期、起始日=暫收日期 − 100 天」的區間,抓出該生產部門在這 100 天內的生產日報,且只取符合下列條件的列:
- 生產日期落在區間內;
- 生產數量 > 已暫收數量(還有可暫收的餘量);
- 對應工單明細的「轉成品」註記為
Y(已轉成品)。
- 鎖定來源分流:查詢時若偵測到資料被他人鎖定,這些列會分流到
Locked Source頁籤、頁籤標題顯示鎖定筆數,且這些列不可轉入;可正常挑選的列才進主格線。查回的主格線列暫收數量一律先歸 0,由使用者自行挑選。 - 按列
Select(挑選)鈕:呼叫該列的「設定暫收數量」邏輯——- 若目前暫收數量 不等於「生產數量 − 已暫收數量」,就一鍵帶入全部剩餘量;
- 若已等於剩餘量(代表已全選),再按一次則歸 0(取消挑選)。等於「全選 / 取消」切換鈕。
- 改 Temp Receiving Quantity(暫收數量)的連動:任一列暫收數量變動時——
- 透過弱事件即時重算畫面下方 Subtotal(合計)=所有列暫收數量加總;
- 該列的「是否挑選」狀態同步更新(數量 > 0 視為已挑選);
- 觸發「需刪除 / 超量」旗標重算(見下一條檢核)。
- 轉入存檔前的檢核(
AllowSave):按存檔時,系統會擋下不合規的轉入——- 若沒有任何一列的暫收數量大於 0 → 提示「請至少選擇一筆資料」並中止;
- 若任一列暫收數量 > 生產數量 − 已暫收數量(超出剩餘可暫收量)→ 提示「暫收數量超過剩餘數量」並中止。
- 轉入時寫出的單據(
SetUpdateSource):檢核通過後,系統把挑選結果組成一張暫收單寫入暫收主檔/明細視圖——- 主檔:公司代碼=1、倉儲=挑選的暫收倉庫、暫收日期=畫面暫收日期、生產部門=VendorCode、採購別=採購、幣別=本位幣、建檔日期=現在、單號前置碼依
WKRAMA取得; - 明細:只取暫收數量 > 0 的列,逐列帶入序號、單位、品號、品名、數量(=該列暫收數量)、來源生產單
pkid、本位幣,並自動計算金額。
- 主檔:公司代碼=1、倉儲=挑選的暫收倉庫、暫收日期=畫面暫收日期、生產部門=VendorCode、採購別=採購、幣別=本位幣、建檔日期=現在、單號前置碼依
- 存檔後回傳單號:存檔成功會把新暫收單的
Pkid暫存於 ViewModel 靜態屬性,供呼叫端(規劃中的主畫面入口)導頁到剛產生的暫收單。 Exit(離開)按鈕:直接關閉視窗,不做存檔。
與採購暫收來源挑選的差異
本視窗(WKRAMA_E)抓的是自製成品的生產日報,來源是工單日報,挑的是「已轉成品的入庫量」。外觀幾乎相同的採購暫收來源挑選視窗(PURAMA_E)抓的則是未交的採購單,並會多帶採購單號、廠商品號、單價、金額、預訂交期等採購欄位。兩者寫出的都是暫收單(PURAMA),但來源完全不同,請勿混用。
常見問題¶
按查詢後一直跳「請輸入…」的提示?
生產部門(VendorCode)、暫收日期(TempReceivingDate)、ETA 為必填,任一空白就會擋查詢。先把這三個欄位填妥再按查詢。倉庫(Warehouse)不是必填,可留空。
查詢結果是空的,但部門明明有生產日報?
視窗只列出同時符合三項條件的日報:生產日期落在「暫收日期往前推 100 天」的區間內、生產數量大於已暫收數量、且工單明細已勾「轉成品」。若日報已全部暫收、未轉成品,或生產日期超過 100 天,都不會出現。
有些列出現在「Locked Source」頁籤、不能挑選?
那些來源正被其他使用者鎖定編輯中(頁籤標題會顯示鎖定筆數),系統刻意把它們分流出來避免重複轉入。等對方存檔/離開後重新查詢即可。
存檔時被擋,說「請至少選擇一筆資料」或「暫收數量超過剩餘數量」?
前者表示沒有任何一列填了大於 0 的暫收數量——請至少挑一列(可按 Select 一鍵帶入剩餘量)。後者表示某列的暫收數量超過「生產數量 − 已暫收數量」的可暫收上限——把該列數量改回不超過剩餘量即可。
為什麼從日報轉暫收驗收主畫面開到的不是這個視窗?
經程式碼確認,目前日報轉暫收驗收的 其他1 開的是採購暫收來源挑選視窗(Purama_E),本視窗(WKRAMA_E)尚未接上主畫面入口。詳見頁首的「目前未掛在主畫面」提示;此入口接妥前請沿用既有流程。
相關功能¶
- 日報轉暫收驗收(本視窗的母單據)
- 採購暫收來源挑選視窗(外觀相同但抓採購單的姊妹視窗)
- 採購暫收單
- J-品保模組首頁
- 生產日報(F-生產模組)
- 採購模組
需補截圖清單
以下截圖待入口接妥、功能 runtime 驗收後補拍(放 docs/J-Quality/images/):
wkrama_e-step1.png— 篩選條件區(生產部門/暫收日期/ETA/倉庫)wkrama_e-step2.png— 查詢後主格線(含 Select 鈕與暫收數量欄)wkrama_e-step3.png—Locked Source鎖定來源頁籤