跳轉到

程式資訊

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

廠商評估列印

功能簡介

「廠商評估列印」是 廠商評估 的列印伴隨頁,把已建立的廠商評估單透過報表呈現出來——包含每家廠商的協辦、交期、品質、抄錄、包裝各項分數、總分與等級,以及評估期間的填單率/延遲率等指標。採購主管在完成廠商評估、需要存檔或呈核時,從評估單按列印進入本頁,設定列印範圍後預覽或列印報表。

本頁不會自行查詢資料,它是一張「列印條件面板」:你給定範圍,系統依條件向報表 SP(DARB_RPT_VENDOREVALUATION)取資料,再套到 FastReport 報表版型輸出。

本頁與廠商評估是同一組功能

本列印頁有自己的程式代碼(ProgramClass.VENDOREVALUATIONPRINT),但它是由 廠商評估 主表單呼叫開啟的。一般情況下,你會先在廠商評估單上完成評估、再按列印進入本頁,而不是單獨開啟它。

前置需求

  • 權限:G.採購 → G-090 廠商評估 的列印權限。
  • 必須先有的資料:本頁只負責輸出,資料完整度取決於評估單與其來源是否已建立——
資料 影響的結果
廠商評估 報表的資料來源;沒有對應評估單號就印不出內容
廠商交期填單率 評估單上的填單率/延遲率、訂單筆數等指標
廠商來料不良 評估單上的不良扣分/成績表扣分
廠商基本資料(Spdata) 廠商代號、廠商簡稱等列印欄位

操作步驟

  1. 廠商評估 單上完成評估、按工具列的 列印,系統開啟本列印條件面板。進入時會自動帶入預設範圍(見欄位連動與附加功能)。
  2. 選擇列印條件(兩者擇一,以畫面上的圓鈕切換):
    1. 單號(Document No):依評估單號區間列印,輸入起訖單號
    2. 廠商代號(Vendor Code):依廠商與日期列印,輸入起訖廠商代號與起訖日期
  3. 確認或調整起訖範圍。日期欄使用日期遮罩(ShortDate)輸入。
  4. 按工具列的 預覽 先在畫面上檢視報表,確認無誤後再按 列印 送印(或由預覽視窗直接輸出 / 匯出)。

小技巧

從評估單按列印進來時,系統已把單號起訖都填成目前那張評估單的單號,多數情況直接預覽即可,不必再改條件。

欄位說明

欄位 必填 說明/格式/預設
列印條件 圓鈕二選一:單號廠商代號。預設為 單號PrintConditionEnum.DocumentNo
起始單號 / 結束單號 列印條件為「單號」時使用;由評估單帶入時兩者皆為目前評估單號
起始廠商代號 / 結束廠商代號 列印條件為「廠商代號」時使用;支援廠商查詢(放大鏡)。由評估單帶入時起=空字串、迄=zzz(涵蓋全部廠商)
起始日期 / 結束日期 列印條件為「廠商代號」時使用,ShortDate 格式。由評估單帶入時起=評估截止日往前推 3 個月(設為當月 1 號)、迄=評估單的截止日

兩種條件的欄位互斥使用

「單號」與「廠商代號」是兩種列印模式,由同一個 列印條件 圓鈕切換。系統依目前選定的模式決定要套用哪一組起訖欄位。程式內部這兩個選項對應的列印條件列舉值分別是 PrintConditionEnum.DocumentNoPrintConditionEnum.Date(後者畫面標籤為「廠商代號」)。

欄位連動與附加功能

這一節說明「從評估單開啟本頁時系統帶了什麼」「按各按鈕會發生什麼」「報表實際抓哪些資料」。

由評估單帶入預設範圍

當你在 廠商評估 單上按列印,主表單的 GetPrintViewModel() 會建立本頁並先填好範圍:

  • 起始單號/結束單號:都帶成目前這張評估單的單號(亦即預設只印當前這一張)。
  • 起始廠商代號:帶空字串;結束廠商代號:帶 zzz——這組值代表「不限廠商、全部涵蓋」。
  • 起始日期:取評估單的截止日往前推 3 個月,並對齊到該月的 1 號(yyyy/MM/01)。
  • 結束日期:帶評估單的截止日

預設列印條件仍是「單號」

雖然廠商代號與日期也會被預設帶值,但進入本頁時選定的列印條件預設是「單號」。若要改用廠商+日期列印,需自行切換到「廠商代號」圓鈕。

報表資料怎麼來

  • 預覽列印 時,系統收集面板上的條件(列印條件、起訖單號、起訖廠商代號、起訖日期)打包成報表參數。
  • 報表外掛 VendorEvaluation 接到參數後,會以「單號介於起始單號與結束單號之間」為查詢條件,呼叫報表 SP DARB_RPT_VENDOREVALUATION 取得評估資料,再寫入報表用的 SQLite 暫存表供 FastReport 版型套印。
  • 取回的每一列包含:廠商代號、廠商簡稱、年月、協辦/交期/品質/抄錄/包裝各項得分、總分(Score)等級(Rank),以及訂單筆數、準時/延遲/緊急筆數、填單率延遲率、評估結果、罰則條款、展延付款、備註等欄位。

目前報表以單號為主篩選條件

報表外掛實際組查詢時,只使用「單號區間」作為篩選;廠商代號與日期雖會一併傳入,但目前的 SQLite 取數邏輯並未用它們再過濾。因此即使切到「廠商代號」模式,輸出範圍仍以帶入的單號區間為準。若要縮小到特定廠商,建議在評估單階段就先建立對應範圍的評估資料。

列印與預覽

  • 本頁繼承列印頁基底(PrintPageViewModel),具備標準的預覽/列印能力;報表輸出後可於預覽視窗進行列印或匯出。
  • 本頁屬於「有報表資料」型列印頁(HaveReportData() 恆為真),因此送印前不會因「查無資料」而被擋下;實際是否印出內容仍取決於 SP 是否依條件取到資料列。

常見問題

預覽出來是空白、印不到任何廠商?

報表以單號區間取資料。請確認:(1) 帶入的起訖單號之間確實存在已建立的廠商評估單;(2) 從評估單按列印進入時,該評估單已存檔。若你手動清掉了起訖單號,會變成空範圍而查無資料。

切到「廠商代號」並輸入了廠商,為什麼還是印出其他廠商?

目前報表取數只依「單號區間」過濾,廠商代號與日期條件尚未實際參與篩選(見欄位連動與附加功能的提醒)。要限定廠商,請在 廠商評估 階段先建立對應範圍的評估資料。

報表上的填單率/延遲率/不良扣分是空白或 0?

這些指標不是本列印頁計算的,而是評估單建立時,從 廠商交期填單率廠商來料不良 帶入的。若來源單號沒有對應資料,評估單上的這些欄位本身就會是空或 0,報表自然印不出值。請回到評估單確認其填單率單號/來料不良單號是否正確。

日期欄位帶的起始日不是我想要的月份?

從評估單開啟時,起始日是用「評估截止日往前推 3 個月、對齊當月 1 號」自動算出的預設值,方便涵蓋一段評估期間。你可以直接在日期欄手動改成需要的區間。

可以單獨開「廠商評估列印」而不經過評估單嗎?

本頁設計上是由評估單呼叫開啟並帶入預設範圍。若不經評估單而直接進入,所有條件會是空白,需自行輸入起訖單號才印得出資料。

相關功能


需補截圖清單

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

  1. vendorevaluationprint-step1.png — 列印條件面板全貌(兩組圓鈕:單號 / 廠商代號+日期)
  2. vendorevaluationprint-step2.png — 由評估單按列印進入、條件已自動帶入的狀態
  3. vendorevaluationprint-step3.png — 報表預覽畫面(顯示各項評分、總分、等級)