跳轉到

程式資訊

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

領料/倉庫異動單

功能簡介

「領料/倉庫異動單」是總務(C 模組)的實體倉庫異動單據:登錄一張單,把指定品號在倉庫的儲位之間搬動,或從倉庫領出。每筆明細以交易別碼標示異動性質(如 IT 品名調撥、BT 儲位調撥、OS 領料出庫…),並指定轉出倉儲(來源儲位)與轉入倉儲(目的儲位),系統據此更新各儲位的現有量。

它在總務流程中的位置:物料主檔(Gsppdt)建檔、入庫(Gstkbas_1)之後,當部門提出領料申請、或需要在倉庫內做儲位/品名調撥時,就用本單據做實際的庫存異動。最常見的兩種來源:

  1. 手動新增:直接開單填品號、數量、來源/目的儲位。
  2. 由領料申請轉入:透過工具列的其他功能開啟領料申請轉領料(Picking)視窗,挑選未領的申請單、指派撿料儲位後回寫成一張領料單。

本頁程式定位

程式代號 GTRLIMA(領料),對應 ViewModel GtrlimaViewModel,主檔 Source 為 Twork_gen_vw_gtrlima、明細 Source 為 Twork_gen_vw_gtrlist。列印頁見 領料單列印

前置需求

  • 權限:C.總務管理 → C-080 領料/倉庫異動單 的瀏覽、新增、修改、刪除、列印權限。
  • 基礎資料:下列主檔/參數會影響開單時的帶值與檢核——
資料 影響什麼
倉庫主檔(Warehouse 隸屬倉庫 決定本單異動的倉庫;序號前置碼為「品名調撥」時自動帶為交易部門
單據前置碼設定(GTRLIMA 規則) Prefix 下拉值與配號規則;新增後依前置碼配出倉單號
物料/品號主檔(Gsppdt 明細輸入品號後自動帶品名單位
儲位主檔(Gsplace 轉出倉儲/轉入倉儲的可選儲位;同時用來判斷該儲位的隸屬倉庫
客/廠/部門主檔 交易部門(CuspSearch)與其簡稱
幣別/匯率資料 幣別/匯率預設值;幣別預設帶本位幣、匯率帶 1
運送方式代碼(C201) Shipping Method 下拉值

操作步驟

新增一張領料/異動單

  1. 按工具列新增,系統建立一張空白單並切換到庫存查詢頁籤(方便邊開單邊查現有量)。此時帶入下列預設值:
    • 公司代碼 = 1
    • 交易日期 = 今天
    • 匯率 = 1幣別 = 本位幣
  2. Warehouse(隸屬倉庫) 欄選擇本單要異動的倉庫。
    • Prefix 選的是「品名調撥(IT)」前置碼,選完倉庫後系統會把 交易部門 自動帶成同一個倉庫(倉庫代號)。
  3. 選擇 Prefix(序號前置碼):決定單據種類與配號規則(新增時可改,進入修改後鎖定不可改)。
  4. 視需要調整 Transaction Date(交易日期)Company Code(公司代碼)
  5. Transaction Department(交易部門):用放大鏡(CuspSearch)挑客戶/廠商/部門,右側自動顯示簡稱。
  6. 視需要填 Shipping Method(運送方式)Remark(交易備註,上限 100 字)
  7. 在明細格線逐列輸入異動內容(見下方明細輸入)。
  8. 存檔。儲存成功後 WHTransaction No(倉單號) 由系統依前置碼配號,TransactionNo(單號) 一併產生,兩者皆唯讀。

明細輸入

  1. 在格線新增一列,於 品號 欄輸入或用放大鏡查品號;系統自動帶出 品名 與可選 單位
  2. 數量
  3. 指定 轉出倉儲(來源儲位)與 轉入倉儲(目的儲位)——用放大鏡選儲位。
    • 只填轉出倉儲=把貨從該儲位領出;同時填轉出與轉入=在兩個儲位間調撥
  4. 視需要填 單價/其他金額,系統即時算出 原幣未稅/本幣未稅(見欄位連動與附加功能)。
  5. 交易別碼途程序號工程代號 等欄位多由轉單來源帶入或唯讀。

邊開單邊查庫存

新增時畫面會自動切到右側庫存查詢頁籤;點選某一明細列,該頁籤會依該列的品號/儲位顯示現有量,方便確認可領數量。

修改與刪除

  1. 用工具列查詢或上一筆/下一筆切換到要處理的單據。
  2. 修改調整內容。
    • Prefix 在修改狀態為鎖定,不能變更前置碼。
    • 已產生後續異動的明細不可再改(見常見問題)。
  3. 清空某明細列的品號即代表刪除該列;存檔時系統把該列標記為刪除。
  4. 整張單刪除請按工具列刪除

由領料申請轉入(Picking)

  1. 在本單按工具列的其他功能,開啟領料申請轉領料視窗。
  2. 輸入查詢起訖日期(預設近兩個月),按查詢列出申請量≠核發量的未領申請單。
  3. 在某列按Pick,系統依該申請單的品號到倉庫查現有量並自動撿料、指派儲位。
  4. 確認撿料後存檔,視窗回寫一張領料單;關閉視窗後本表單會自動定位到剛產生的那張單。

列印

  1. 按工具列列印開啟領料單列印條件頁。
  2. 系統預設帶入目前單據的倉單號為列印起訖;可改範圍後輸出。

列印資料來源規劃中

列印頁目前的取數邏輯(報表 SP DARB_RPT_GTRLIMA)在程式中仍為保留狀態,實際報表內容待後續啟用。條件面板與帶值已可操作。

欄位說明

主檔欄位

欄位 必填 說明/格式/預設
WHTransaction No(倉單號) 系統配號,唯讀;存檔後依前置碼產生
TransactionNo(單號) 系統產生,唯讀
Warehouse(隸屬倉庫) 本單異動倉庫;前置碼為品名調撥時帶為交易部門
Prefix(序號前置碼) 單據前置碼,決定配號規則;修改狀態鎖定
Transaction Date(交易日期) 短日期格式,預設今天
Company Code(公司代碼) 預設 1
Transaction Department(交易部門) CuspSearch 選客/廠/部門,右側顯示簡稱
Shipping Method(運送方式) 代碼表 C201 下拉
Remark(交易備註) 上限 100 字
幣別 預設本位幣(Context.Env.LocalCurrency
匯率 預設 1;改幣別時由 TsCurrency 控件帶當日買入(Buy)匯率
Turn In Notes(轉入備註) 唯讀,系統產生;轉單時帶 TRAPPLY:<申請單號>
Turn Out Notes(轉出備註) 唯讀,系統產生

明細欄位

欄位 必填 說明/格式/預設
序號 4 位數流水號,系統維護
交易別碼 異動性質(IT 品名調撥、BT 儲位調撥、WT 倉庫調撥、OS 領料出庫等),多由轉單帶入
品號 輸入後自動帶品名、單位
品名 唯讀,依品號帶出
單位 下拉(VM 提供 UOM 清單)
數量 數量格式;改值即時重算金額
轉出倉儲 來源儲位,放大鏡選;領出時必填
轉入倉儲 目的儲位,放大鏡選;調撥時必填
途程序號/工程代號 唯讀,轉單帶入
批號別/批號 批號管制品填寫
客廠品號 客戶/廠商端品號
單價 改值即時重算金額
其他金額 計入未稅金額;改值即時重算
原幣未稅 系統算出
本幣未稅 系統算出(原幣未稅 × 匯率)
備註 明細備註

欄位連動與附加功能

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

新增時的預設帶值(AfterAddNew)

  • 當你按新增,系統會對主檔帶入:公司代碼=1交易日期=今天匯率=1幣別=本位幣,並把 WarehouseBinding 同步成隸屬倉庫。
  • 新增當下 序號前置碼 已是「儲位調撥(BT)」前置碼,交易部門 會自動帶成 隸屬倉庫
  • 明細會清空,畫面切到庫存查詢頁籤。

倉庫欄連動(WarehouseBinding)

  • 當你在 Warehouse 選倉庫,若目前 序號前置碼 是「品名調撥(IT)」前置碼,系統會把 交易部門 自動設成你選的倉庫——因為品名調撥屬倉庫內部異動,部門即倉庫。
  • 其他前置碼時只更新隸屬倉庫,不動交易部門。

幣別/匯率連動到明細(主檔 → 明細)

  • 當你在主檔改 幣別,系統會把每一筆明細的計價幣別同步成主檔幣別,並重算金額。
  • 當你在主檔改 匯率,系統會把每一筆明細的匯率同步成主檔匯率,並重算本幣金額。
  • 新增一筆明細時,系統自動把該明細的計價幣別、匯率帶成主檔目前值,並掛上主檔做為含稅母體。
  • TsCurrency 控件:改幣別時依交易日期自動帶當日「買入(Buy)」匯率到匯率欄。

明細金額即時重算(CalculateAmount / 數量·單價·其他金額)

  • 當你改明細的 數量單價其他金額,系統立即重算:
    • 原幣未稅 ≈ 四捨五入(數量 × 單價 + 其他金額)
    • 本幣未稅 = 原幣未稅 × 匯率
  • 重算同時套用稅務計算(TaxCalculator)依主檔稅別處理含稅/未稅。

品號欄連動(品號Binding)

  • 當你在明細輸入或選 品號,系統會依品號主檔自動帶出 品名,並補齊品號相關屬性(單位等)。

切換明細列 → 庫存查詢

  • 當你點選某一明細列,畫面右側的庫存查詢會依該列的品號/儲位即時顯示現有量(本表單實作 IStockQuery,以選取明細為查詢鍵)。

其他功能:領料申請轉領料(ExtendedFunction1 / IOther1)

  • 按工具列其他功能會開啟領料申請轉領料視窗。視窗關閉且有存檔成功時,本表單會自動以新單的 Pkid 重新定位顯示剛產生的領料單。
  • 轉單時依申請單的用途(ApplyType)走三種不同的回寫邏輯:

    用途 前置碼 回寫方式
    倉庫調撥(WarehouseTransfer,2) GD 以撿料儲位產生「轉出」明細,交易別碼 BT,待轉入倉=預設倉、待轉出倉=對象代號
    預留(Reserve,3) GD 每筆撿料產生一進一出兩列(序號+A),途程序號標 RS 做預留
    其他(領料/樣品,1) OS 以撿料儲位產生領出明細,交易別碼 OS
  • 撿料時系統呼叫 VFP 原版 SP DARB_TUR_GSPLACE(依申請單品號查現有數量≠0 的儲位)並依「可用量=現有量−已用量」自動分配撿料數量;存檔前會檢查撿料量是否超過現有量、是否有可出貨記錄。

撿料 SP 已改接原版

挑單庫存來源、轉單合併皆改接 VFP 原版 SP(DARB_TUR_GSPLACEDARB_TUR_GTRINOUTE),舊名 TWORK_QRY_GTRAPPLYPICK / TWORK_TUR_GTRAPPLYTOGTRLIMA 在資料庫不存在,屬刻意的設計決策。

列印(IPrintViewModel / GetPrintViewModel)

  • 列印開啟列印頁,系統把目前單據的倉單號帶為列印起訖。報表取數 SP(DARB_RPT_GTRLIMA)目前保留,詳見上方步驟備註。

換單時重掛主檔(AfterMoverRecord)

  • 切換到另一張單時,系統會把每筆明細重新掛上新主檔,確保倉庫/幣別等連動正確。

常見問題

存檔後倉單號是空的?

倉單號(WHTransaction No) 是系統配號欄,存檔成功後才會依序號前置碼規則產生。若一直空白,請確認:已正確存檔、且該前置碼在單據前置碼設定中有對應的配號規則。

為什麼某筆明細不能修改?

明細若已產生後續異動(已交數量>0轉帳款數量>0)就會被鎖定(CanEdit 為 false),避免改動已影響庫存的紀錄。需更正請以反向異動單處理。

明細的本幣未稅一直是 0?

本幣未稅 = 原幣未稅 × 匯率。請確認:明細有填數量單價、主檔匯率不為 0。改完幣別後若金額沒更新,回明細任一金額欄重新輸入即可觸發重算。

選了品名調撥,交易部門被自動改掉?

這是設計行為。序號前置碼為品名調撥時,本單屬倉庫內部異動,系統會把 交易部門 自動帶成 隸屬倉庫。如需改成其他部門,請改用其他前置碼。

領料申請轉領料按 Pick 後沒有任何撿料明細?

撿料是依申請單品號到倉庫查現有量>0的儲位。若該品號在預設倉沒有可用庫存(或工程代號/客戶綁定不符),就撿不到料。請先確認倉庫有該品號現貨,或調整申請單的預設倉庫。

Prefix 為什麼進入修改後不能改?

前置碼決定配號與單據種類,配號後不可變更,因此只在新增狀態可選;進入修改狀態即鎖定(PrefixIsEnabled 連動單據狀態)。

相關功能


需補截圖清單

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

  1. gtrlima-step1.png — 主檔表頭(倉庫/前置碼/交易日期/交易部門)全貌
  2. gtrlima-step2.png — 明細格線(品號/數量/轉出倉儲/轉入倉儲/金額欄)
  3. gtrlima-step3.png — 領料申請轉領料(Picking)視窗的查詢與撿料畫面
  4. gtrlima-step4.png — 列印條件頁(依倉單號範圍)