跳轉到

程式資訊

  • 程式 IDPURCHQUERY
  • 所屬子系統:G.採購付款
  • 狀態:stable

採購查詢

功能簡介

「採購查詢」是一張採購單明細的多條件查詢報表,把符合條件的採購單逐筆(採購單號+項次)攤平成一張清單,讓採購人員或主管快速回答「某廠商/某品號/某段期間訂了哪些料、交了多少、還有多少沒進」。它只查不改,資料來源是採購單主檔與明細的 DB View(vw_purchm / vw_purch),透過共用查詢 SP TWORK_QRY_STD 帶條件取回。

常見用途:

  1. 看某廠商在一段期間內所有採購單的進度。
  2. 追某品號的採購數量與已交數量,掌握進貨進度。
  3. 勾「只含未交貨」過濾掉已交清或已結案的列,盯催料。

與其他「查詢」的差異

本頁查的是採購單(PURCH)。請勿與採購單作業裡的「進貨查詢」(VFP PURCH_S,查進貨/暫收單)混淆——後者是另一支尚未移植的程式。採購單的建立與維護請見採購單

前置需求

  • 權限:G.採購 → 採購查詢(PURCHQUERY) 的瀏覽權限;列印需另有列印權限。
  • 基礎資料:查詢結果的完整與正確度取決於下列資料——
資料 影響的結果
採購單(採購單作業 整份清單的來源;沒有採購單就查不到任何列
廠商主檔(廠商資料 廠商代號/廠商名稱 的帶出,以及廠商代號搜尋框
品號主檔 品號/品名 的帶出,以及品號搜尋框
採購單的已交數量(進貨沖回) 已交數量/是否結案 是否正確,連帶影響「只含未交貨」的篩選結果
本機報表設定(GetLclReport 是否能列印;未設定可顯示報表時只能在畫面瀏覽與匯出 Excel

操作步驟

採購查詢只有一個條件面板+一張結果格線,流程很單純:

  1. 在上方條件面板輸入查詢範圍(各欄預設值見欄位說明):
    • 廠商起訖:左格輸入廠商代號(可用放大鏡搜尋),右側唯讀格自動帶出廠商名稱。
    • 品號(SKU)起訖:以放大鏡搜尋或直接輸入品號。
    • 採購日期(PurchaseOrderDate)起訖:比對採購單的採購日期
    • ETA(預訂交期)起訖:比對明細的預訂交期
  2. 視需要勾選兩個選項:
    • 只含未交貨(Only Undelivered):只留下「數量 > 已交數量」且「未結案」的列。
    • 含金額(Amount Included):結果才顯示單價未稅金額;不勾時這兩欄一律歸 0(見欄位連動與附加功能)。
  3. 按工具列的 查詢,結果顯示在下方格線,每列代表一筆採購單明細。
  4. 需要紙本時按 列印;需要進一步分析時,在格線上按右鍵選 匯出 Excel

採購查詢條件面板與結果

小技巧

改了條件或勾選後,直接再按一次 查詢 即可重新取數。每次查詢都會把當下的條件文字(廠商/品號/交期/採購日區間)記在每一列的查詢條件欄,列印時可帶出當作報表抬頭副標。

欄位說明

查詢條件

欄位 必填 說明/格式/預設
廠商(起) 廠商代號,預設空字串(即從最小往後撈)
廠商(迄) 廠商代號,預設 zzzz(撈到最大值,等於不設上限)
品號 SKU(起) 預設空字串
品號 SKU(迄) 預設 zzzz(不設上限)
採購日期(起) 預設當月 1 日
採購日期(迄) 預設今天
ETA/預訂交期(起) 預設當月 1 日
ETA/預訂交期(迄) 預設今天
只含未交貨 預設不勾;勾選時加上「數量>已交數量 且 是否結案≠Y」
含金額 預設不勾;不勾時單價與未稅金額顯示 0

起訖預設是「本月~今天」

程式初始化時把採購日期與 ETA 都設成「當月 1 日 ~ 今天」。若要查整年或更早的資料,記得把起日往前調,否則會以為「沒資料」。

結果格線欄位

欄位 說明
採購別(Purchasing Type) 採購單的型別代碼,已透過語系服務翻成可讀文字(見欄位連動與附加功能
採購單號(Purchase Order No) 採購單單號
項次(Line No) 該採購單內的明細序號
採購日期(Purchase Order Date) 採購單頭的採購日期
廠商代號 / 廠商名稱 來自採購單頭並 JOIN 廠商主檔
品號(SKU)/ 品名(SKUDescription) 來自明細並 JOIN 品號主檔
數量(Quantity) 採購數量
單位(Unit Of Measurement) 採購單位
已交數量(Received Quantity) 已進貨沖回的數量
單價(Unit Price) 採購單價;未勾「含金額」時固定為 0
未稅金額(Amount Without Tax) 本幣未稅金額;未勾「含金額」時固定為 0
幣別(Currency) 採購單幣別
ETA 明細的預訂交期
匯率(Foreign Exchange Rate) 採購單匯率
備註(Remark) 明細備註
請購單號(Request No)/ 請購項次(Request Line No) 來源請購單追溯
噸數(Tonnage) 明細噸數欄

金額未稅、不含稅額

本查詢的金額欄是本幣未稅金額,不另算稅額與含稅金額。需要含稅與稅額分析請改用採購相關的對帳/統計功能。

欄位連動與附加功能

這一節把「輸入某欄/按某鈕後系統實際會做什麼」逐條列出,全部對應現行 C# 程式行為。

條件面板的連動

  • 輸入廠商代號(起/迄)→ 自動帶廠商名稱:兩個廠商欄都是廠商搜尋框,離開欄位(LostFocus)後系統依代號帶出廠商名稱填進右側唯讀欄;用放大鏡選取也會一併帶名稱。CheckDataExist=False,所以輸入不存在的代號不會擋你,只是帶不出名稱而已。
  • 品號搜尋框(起/迄):可用放大鏡挑品號,或直接打字。同樣不強制檢查存在性。
  • 日期欄輸入格式:採購日期與 ETA 四個欄都是日期遮罩輸入(ShortDate),請輸入合法日期;查詢時系統以字串區間(between 起 and 迄)比對採購日期與預訂交期。

「含金額」勾選的連動(重要)

  • 不勾「含金額」→ 單價與未稅金額一律顯示 0:查詢取回資料後,若未勾「含金額」,系統會把每一列的單價未稅金額強制歸 0 再呈現。這是刻意的權限/隱碼設計——讓沒有需要看價的人也能查交期與數量。
  • 勾「含金額」→ 顯示真實單價與本幣未稅金額:勾選後再按 查詢,價格欄才會帶出實際值。

改了勾選要重新查詢

「含金額」的歸零是在取數當下處理的,不是即時切換顯示。勾或取消勾之後,必須再按一次 查詢 才會生效。

「只含未交貨」勾選的連動

  • 勾選後查詢條件追加兩段過濾:系統在 SQL 條件後面加上「數量 > 已交數量是否結案 ≠ Y」,等於只留下還沒交清、也還沒結案的明細,方便催料。
  • 不勾時則不論交清與否、結案與否,全部符合日期/廠商/品號範圍的明細都會列出。

採購別欄位的翻譯

  • 結果裡的採購別(PurchasingType)取自採購單的型別代碼,呈現前會送進語系服務,依目前語言翻成可讀文字後才填回該欄。所以畫面看到的是中文(或當前語系)說明,而非原始代碼。

查詢條件回填

  • 每次查詢,系統會把當下的條件組成一段文字(廠商代號:起 ~ 迄 品號:起 ~ 迄 交期:起 ~ 迄 採購日:起 ~ 迄)寫進每一列的查詢條件欄,列印報表時可當抬頭副標使用。

列印與報表

  • 工具列的 列印 走標準查詢報表機制:查詢時若本機有設定「可顯示」的報表(GetLclReport),系統會把結果以屬性名匯出到對應的 SQLite 報表暫存表(ReportSqliteCreator.ExportToSqlite),列印時由 FastReport 取用。
  • 只有「畫面上有資料」時(HaveReportData)才允許列印。

Crystal 版報表已停用

程式中保留了三張 Crystal 報表(依廠商/依品號/依交期)的設定,但目前整段已註解、不啟用。實際列印走的是上述 FastReport(本機報表設定)路徑;若你的環境沒設定可顯示報表,列印 會印不出東西,請改用 Excel 匯出。

匯出 Excel

  • 結果格線是標準 TsRadGridView,在格線上按右鍵即可選擇匯出 Excel,把當前查詢結果(含目前的欄位順序)輸出成檔案做後續分析。

沒有的功能(避免誤會)

  • 本程式沒有新增/修改/刪除/沖帳/轉傳票/簽核等動作——它是純查詢報表。要改採購單請到採購單作業
  • 條件面板原本規劃過「採購類別(全部/一般/總務/製令)」的單選切換(QueryType),但該區塊在 XAML 中已整段註解、未啟用,目前查詢一律不分類別。

常見問題

查不到任何資料?

最常見是日期範圍太窄。採購日期與 ETA 預設都是「當月 1 日 ~ 今天」,若要查更早或整年的單,請先把起日往前調。其次確認廠商/品號區間沒打反(起 > 迄 會撈不到),廠商迄、品號迄保留預設 zzzz 即代表不設上限。

單價和未稅金額都是 0?

因為沒有勾「含金額」。本程式預設不顯示價格,未勾時會把單價與未稅金額強制歸 0。請勾選「含金額」後再按一次 查詢,價格才會帶出(切換勾選不會即時生效,一定要重查)。

勾了「只含未交貨」卻還是看到已交的單?

請確認有重新按 查詢。此選項是在查詢時把「數量>已交數量 且 是否結案≠Y」加進條件,必須重查才會套用。另外,若採購單的已交數量沒有隨進貨正確回沖,判斷也會失準。

廠商名稱/品名空白?

名稱是用代號去廠商主檔/品號主檔帶出來的。若該廠商或品號在主檔中不存在或已被刪,就帶不出名稱(搜尋框設定為不檢查存在性,所以不會擋你輸入,只是帶不到描述)。請到廠商資料確認主檔。

按了「列印」沒反應或印不出來?

列印需要本機設定「可顯示」的報表,且畫面上要先有查詢結果。若環境未設定報表,請改用格線右鍵的 匯出 Excel。(程式內的 Crystal 報表設定目前是停用狀態,不影響此判斷。)

相關功能


需補截圖清單

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

  1. purchquery-step1.png — 條件面板(廠商/品號/採購日期/ETA 起訖+兩個勾選)與下方查詢結果格線全貌