程式資訊
- 程式 ID:
QRY_RA - 所屬子系統:M.主管資訊
- 狀態:stable
進貨查詢¶
功能簡介¶
「進貨查詢」把一段期間內的進貨/退貨(含雜項進貨、雜項退貨)交易抓出來,並從同一批明細自動彙整出品號別、廠商別、日期別、單據別四種統計,以及一份採購對照表。適合採購/成本主管回答「這段時間向哪些廠商進了什麼、進了多少、花了多少成本、有沒有退貨、進貨數量跟採購單對不對得起來」這類問題。
資料來源是倉庫進退貨交易(TWORK_QRY_STD 經由倉單交易檢視 Twork_stk_vw_trrama / Twork_stk_vw_trrade 取得),以交易別碼區分性質:
RA/RC:進貨類(一般進貨、雜項進貨),數量與金額為正。RB/RD:退貨類(一般退貨、雜項退貨),系統在載入時把數量與金額轉為負值。
所有統計頁籤都是從「進貨資料」這一份明細就地彙總出來的,因此改條件重查後六個頁籤會一起更新。
前置需求¶
- 權限:M.主管資訊 →
進貨查詢(QRY_RA)的瀏覽權限。 - 查看單價權限:單價、相關金額是否顯示,另外受「查看單價」權限控管(見欄位連動與附加功能)。
- 基礎資料:查詢結果的完整度取決於下列資料——
| 資料 | 影響的結果 |
|---|---|
| 進貨單/退貨單(倉庫進退貨交易) | 整份查詢的明細來源;沒有交易就查不到資料 |
| 廠商主檔 | 廠商代號/廠商簡稱、廠商別統計 |
| 品號主檔(含群組、分類 1~6、單位、單重) | 品名/單位/群組代號/分類、品號別統計、總重量計算 |
| 採購單 | 採購單號/序號/預訂交期、採購對照頁的對照基準 |
| 倉庫主檔 | 隸屬倉庫篩選(條件面板的 Warehouse) |
| 幣別/匯率 | 幣別/匯率欄位顯示 |
操作步驟¶
本程式是標準的「條件查詢」型報表,沒有新增/修改/刪除,操作集中在條件面板與結果頁籤。
步驟一 設定查詢條件¶
- 選擇上方的查詢類別單選鈕:
All(全部)/In AP(已轉應付)/Not In AP(未轉應付)。預設為All。 - 輸入 Warehouse(隸屬倉庫):留空表示只查預設條件;輸入倉庫代號則只查該倉;輸入
all(不分大小寫)表示不限倉庫。 - 輸入 Vendor Code(廠商代號)起訖:預設起為空、訖為
zzzz(涵蓋全部廠商)。可用放大鏡挑廠商。 - 輸入 Transaction Date(交易日期)起訖:預設起日為今天往前 15 天、訖日為今天。
- 輸入 SKU(品號)起訖:預設起為空、訖為
zzzz(涵蓋全部品號)。 - 視需要勾選右側四個交易類型核取方塊:Receiving(進貨)/Return(退貨)/General Receiving(雜項進貨)/General Return(雜項退貨)。預設勾選「進貨」「退貨」兩項。
- 四項至少要勾一項,否則查詢會擋下並提示「請選擇一種查詢類型」。
步驟二 執行查詢¶
按工具列的 查詢。系統以上述條件呼叫進貨查詢 SP,取回明細後就地彙總出全部頁籤。
步驟三 檢視結果(六個頁籤)¶
| 頁籤 | 內容 |
|---|---|
| Receiving Data(進貨資料) | 最細的進退貨明細,一列一筆交易明細 |
| Group by SKU(品號別) | 依品號彙總進退貨數量、金額、成本、平均單價/成本 |
| Group by Vendor(廠商別) | 依廠商彙總進貨金額、退貨金額、進貨淨額 |
| Group by Date(日期別) | 依交易日期彙總進貨/退貨金額與淨額 |
| Group by Document(單據別) | 依倉單號彙總,含稅額、分攤費用、成本合計、稅別、發票號碼 |
| Purchasing Compare(採購對照) | 把每筆進貨明細對應回採購單號/序號/預訂交期,供採購與實際進貨比對 |
小技巧
改了任何條件後再按一次 查詢 即可,六個頁籤會一起重算。各頁籤的格線都可在欄位標題列右鍵匯出 Excel。
欄位說明¶
查詢條件¶
| 欄位 | 必填 | 說明/預設 |
|---|---|---|
| 查詢類別 | ✔ | All/In AP/Not In AP,預設 All |
| Warehouse(隸屬倉庫) | — | 倉庫代號;輸入 all 表示不限倉庫,預設空字串 |
| Vendor Code(廠商代號)起/訖 | — | 預設起=空、訖=zzzz |
| Transaction Date(交易日期)起/訖 | ✔ | 預設起=今天−15 天、訖=今天 |
| SKU(品號)起/訖 | — | 預設起=空、訖=zzzz |
| Receiving / Return / General Receiving / General Return | ✔ | 交易類型核取方塊,預設勾選 Receiving 與 Return;四項至少擇一 |
Receiving Data(進貨資料)主要欄位¶
| 欄位 | 說明 |
|---|---|
| Vendor Code/Name(廠商代號/簡稱) | 進貨廠商 |
| Transaction Date(交易日期) | 進退貨交易日 |
| Currency/Foreign Exchange Rate(幣別/匯率) | 進貨單幣別與匯率 |
| Warehouse(隸屬倉庫) | 入庫倉 |
| Invoice No(發票號碼) | 進貨發票號 |
| SKU/SKUDescription(品號/品名) | 進貨品項 |
| Vendor SKU(廠商料號) | 廠商端品號 |
| Quantity(數量) | 進貨為正、退貨為負(載入時轉負,見欄位連動) |
| Unit Weight/Total Weight(單重/總重量) | 總重量=單重 × 數量 ÷ 1000,四捨五入到 1 位 |
| Unit Price(單價) | 無「查看單價」權限時顯示 0 |
| Amount Without Tax(未稅金額) | 進貨為正、退貨為負 |
| Tax Amount(稅額) | 進貨單稅額 |
| Allocation Subtotal/Other Amount(分攤小計/其他金額) | 成本分攤相關 |
| Unit Cost(單位成本) | 進貨單位成本 |
| Promised Delivery Date(預訂交期) | 對應採購單預交日 |
| Purchase Order No/Line No/Date(採購單號/序號/日期) | 對應採購單 |
| WHTransaction No(倉單號)/Transaction No(單號) | 倉庫交易單號與單據編號 |
| Sales Order No/Line No(銷售單號/序號) | 若為訂單帶採購,回填來源訂單 |
| Temp Receiving Document No/Date/Line No(暫收單號/日期/序號) | 來源暫收單 |
備註
進貨資料頁有兩個由程式即時算出的隱含欄位:IsAllReceived(是否全收)=採購數量是否大於已交數量(大於則「No」)、Cost(成本)=未稅金額+分攤小計。兩者目前都未顯示在格線上(XAML 對應欄位已註解);其中 Cost 會被「品號別」頁拿去加總(即品號別的「成本」欄),IsAllReceived 則僅保留供(目前停用的)明細報表使用,未參與任何彙總計算。
Group by SKU(品號別)¶
| 欄位 | 說明 |
|---|---|
| SKU/品名/單位 | 品號分組鍵 |
| 進貨數量/退貨數量 | 進貨類(正)與退貨類(負)分開加總 |
| 進貨金額/退貨金額 | 同上分開加總 |
| 進貨淨額 | 進貨金額 − 退貨金額(唯讀,自動算) |
| 數量 | 該品號淨數量(進+退) |
| 平均單價 | 進貨淨額 ÷ 數量,4 位小數(數量為 0 時顯示 0) |
| 關稅分攤/其他分攤/分攤小計 | 成本分攤加總 |
| 成本/平均成本 | 成本=未稅金額+分攤;平均成本=成本 ÷ 數量,4 位(數量 0 時 0) |
| 群組代號/說明/分類 1~6 | 來自品號主檔 |
Group by Vendor(廠商別)¶
| 欄位 | 說明 |
|---|---|
| 廠商代號/簡稱 | 分組鍵 |
| 進貨金額/退貨金額 | 各自加總 |
| 進貨淨額 | 進貨金額 − 退貨金額(唯讀,自動算) |
Group by Date(日期別)¶
| 欄位 | 說明 |
|---|---|
| 交易日期 | 分組鍵 |
| 進貨金額/退貨金額/進貨淨額 | 依日期彙總(淨額自動算) |
Group by Document(單據別)¶
| 欄位 | 說明 |
|---|---|
| 交易日期/倉單號/單號 | 單據識別 |
| 廠商代號/簡稱 | 該單廠商 |
| 進貨金額/進貨稅額/退貨金額/退貨稅額 | 依單據首列的交易別碼判定歸進貨或退貨 |
| 貨款小計 | 進貨金額+退貨金額(退貨為負,故為淨額,自動算) |
| 分攤費用 | 該單分攤小計加總 |
| 成本合計 | 貨款小計+分攤費用(唯讀,自動算) |
| 稅別/發票號碼 | 進貨單稅別與發票號 |
Purchasing Compare(採購對照)¶
| 欄位 | 說明 |
|---|---|
| 廠商代號/簡稱 | 進貨廠商 |
| 預訂交期 | 採購單預交日 |
| 採購單號/序號 | 對應採購單 |
| 單號/倉單號 | 進貨單據 |
| 進貨日期 | 實際進貨交易日 |
| 品號/品名/數量/單位 | 進貨品項與數量 |
| 單價 | 無「查看單價」權限時顯示 0 |
| 已交數量 | 取進貨數量,供與採購單比對 |
欄位連動與附加功能¶
這支查詢的「連動」主要發生在 BLL 載入與彙總階段,使用者不需手動觸發,但理解它有助於看懂數字:
-
進貨/退貨自動正負化:明細從 SP 取回後,系統逐列呼叫
SetMinus()—— 交易別碼為RA/RC(進貨類)時,數量與未稅金額維持正值;為RB/RD(退貨類)時,數量與未稅金額一律改為負值。因此退貨在各頁籤都以負數參與加總,「進貨淨額」自然等於進減退。 -
「查看單價」權限會把單價清成 0:每次查詢結束時,若你沒有該程式的「查看單價」權限(
GetViewPricePermission),系統會把「進貨資料」頁與「採購對照」頁所有列的單價(Unit Price)設為 0。看到單價全 0 通常是權限問題,不是沒資料。 -
總重量即時換算:進貨資料頁的總重量不是存檔欄位,而是由單重 × 數量 ÷ 1000 即時算出、四捨五入到小數 1 位(公斤)。改不了它,只能改來源的單重或數量。
-
是否全收(IsAllReceived)即時判定:以採購數量 > 已交數量為準,成立顯示「No」(尚未收齊),否則「Yes」。
-
品號別的進/退分流加總:品號別頁不是單純把數量相加,而是分別取「數量 > 0 的列」加成進貨數量、「數量 < 0 的列」加成退貨數量,再算進貨淨額=進貨金額−退貨金額、平均單價=進貨淨額 ÷ 數量、平均成本=成本 ÷ 數量(數量為 0 時兩者皆 0,避免除零)。
-
單據別依首列交易別碼歸類:單據別頁以倉單號分組,整張單視為進貨或退貨——取該倉單號的第一筆明細,若交易別碼是
RA/RC就把金額計入進貨金額、稅額計入進貨稅額;否則計入退貨金額/退貨稅額(稅額取負)。成本合計=貨款小計+分攤費用。 -
採購對照表的「已交數量」取自進貨數量:採購對照頁把每筆進貨明細的進貨數量同時放進已交數量欄,方便和採購單原始訂購量並排比對。
-
倉庫條件的特例字
all:Warehouse 欄位輸入all(不分大小寫)時,查詢不加倉庫篩選;輸入其他值才會限定隸屬倉庫 = 該值。
查詢類別與交易類型核取方塊(規劃中)
條件面板上的 查詢類別(All/In AP/Not In AP) 與四個 交易類型核取方塊目前在新版程式的 SQL 組裝中尚未實際套用為篩選條件(對應分支為空)。它們會被保留並隨查詢送出,但實際過濾以廠商、交易日期、品號、倉庫四個區間為準;「In AP/Not In AP」的應付狀態過濾與分交易類型過濾屬規劃中、尚未提供。核取方塊的唯一現行作用是「四項全不勾會擋查詢」。
列印(規劃中)
程式內保留有四張進貨明細報表(Ra_de1~Ra_de4,含含金額與不含金額版本)的列印設定,但目前整段已註解、尚未啟用。需要紙本報表時請改用模組內其他已上線的查詢,或等列印功能正式開放。
常見問題¶
查不到任何資料?
先確認三件事:(1) 交易日期區間有交易——預設只查今天往前 15 天,要查更早請自行把起日往前拉;(2) 右側四個交易類型核取方塊至少勾一項,全不勾會被擋下並提示;(3) 廠商、品號區間沒有把資料排除在外(預設訖值是 zzzz,通常不需改)。
單價欄位全部是 0?
這通常不是沒資料,而是沒有「查看單價」權限。查詢結束時系統會把進貨資料頁與採購對照頁的單價清成 0。請洽系統管理員開通該程式的查看單價權限。
退貨的數量和金額為什麼是負的?
這是設計。退貨類(交易別碼 RB/RD)在載入時會被轉成負值,好讓各統計頁的「進貨淨額」直接用加總得到進減退的結果,不必另外相減。
選了「Not In AP」卻好像沒過濾掉已轉應付的單?
目前新版程式的「查詢類別(In AP/Not In AP)」與分交易類型篩選尚未實作為實際過濾條件(屬規劃中)。實際過濾以廠商、交易日期、品號、倉庫四個區間為準,詳見欄位連動與附加功能。
想限定某一個倉庫,或反過來看全部倉庫?
在 Warehouse 欄輸入倉庫代號可限定該倉;輸入 all(不分大小寫)則不限倉庫、查全部。
品號別的平均單價/平均成本是 0?
當該品號的淨數量為 0(進貨與退貨數量剛好抵銷)時,為避免除以 0,平均單價與平均成本會直接顯示 0。
相關功能¶
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/M-EIS/images/):
qry_ra-step1.png— 條件面板(查詢類別、廠商/日期/品號區間、四個交易類型核取方塊)qry_ra-step2.png— Receiving Data(進貨資料)明細頁qry_ra-step3.png— 六個彙總頁籤(建議以 Group by SKU 或 Group by Document 為示意)