跳轉到

程式資訊

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

廠商收料不良統計列印

功能簡介

「廠商收料不良統計列印」是 廠商收料不良統計 的列印伴隨頁,負責把已建立的不良統計單據(含收料/不良筆數、不良率、廠商評等、扣分與不良明細)輸出成報表。採購/品管人員在母表單查詢並儲存統計結果後,由此頁指定單據號碼區間列印或預覽。本頁不重新計算統計值,只負責把母表單算好、存進資料庫的統計單據以報表呈現。

本頁與母表單的關係

本頁是獨立的列印程式(ProgramClass.VENDORDEFECTPRINT),最常見的開啟方式是在 廠商收料不良統計 工具列按列印——系統會自動帶出目前這張統計單的單據號碼當作列印區間(起訖都填同一張單號)。

前置需求

  • 權限:G.採購 → 廠商收料不良統計列印 的列印權限(與母表單 廠商收料不良統計 同模組)。
  • 基礎資料:報表內容完全取自母表單已儲存的統計單據,因此列印前需先完成下列動作——
資料 影響的結果
廠商收料不良統計 已查詢並儲存的單據 報表的全部內容(收料/不良筆數、不良率、評等、扣分、不良明細)
該單據的單據號碼 本頁列印區間的起訖值
報表範本(FastReport .frx 列印版面;於列印預覽時依範本清單選擇

注意

本頁不會即時重跑「收料不良統計」的計算邏輯。若母表單條件改了卻沒重新查詢並儲存,列印出來仍是資料庫裡的舊統計值。請先回母表單重新 查詢 並儲存後再列印。

操作步驟

  1. 開啟列印頁:
    • 廠商收料不良統計 工具列按列印(自動帶入目前單據號碼,最省事)。
    • 或從本程式直接進入後,手動輸入列印區間。
  2. 確認列印條件為 Document No(單據號碼,預設且為唯一條件)。
  3. 起始單據號碼結束單據號碼兩欄輸入要列印的單號區間。若只印一張單,兩欄填同一個單號即可。
  4. 按工具列的列印/預覽:
    • 系統先檢查起訖單號是否都有填,任一為空則不會產生報表。
    • 通過檢查後,依單據號碼區間(起始 ~ 結束)撈出對應的統計單據,套用報表範本輸出。
  5. 在列印預覽視窗選擇報表範本與輸出方式(列印機、PDF、匯出等),由標準列印框架提供。

小技巧

起訖單號可以跨多張統計單,例如想一次把同一批採購/外包的多張不良統計單列印出來,把起訖設成涵蓋這些單號的範圍即可。

欄位說明

欄位 必填 說明/格式/預設
列印條件 固定為 Document No(單據號碼),預設且唯一(PrintConditionEnum.DocumentNo
起始單據號碼 列印區間起點;由母表單帶入時等於目前單據號碼,預設空字串
結束單據號碼 列印區間終點;由母表單帶入時等於目前單據號碼,預設空字串

欄位連動與附加功能

  • 由母表單帶入起訖單號:從 廠商收料不良統計 開啟列印時,若母表單目前有一張單據,系統會把該單據的單據號碼同時填進起始與結束單號(GetPrintViewModel),等於預設只印「目前這張單」。你仍可手動把區間放大或縮小。
  • 列印前的資料檢查:按列印時系統會先檢查起始與結束單號是否都有值(HaveReportData)。只要任一欄為空就不會產生報表,也不會跳到預覽——這是避免印出無區間(撈到全部或撈不到資料)的保護。
  • 依單號區間撈統計資料:產生報表時,系統以「單據號碼介於起始與結束之間」(DocumentNo between 起始 and 結束)為條件,向資料庫取出對應的統計單據。三類報表內容分別由三支 SP 提供:
    • 不良統計總表TWORK_RPT_VENDORDEFECT):每張單的收料筆數、不良筆數、降級筆數、不良率與備註。不良率=不良筆數 ÷ 收料筆數 ×100(取兩位四捨五入)。
    • 廠商評等表TWORK_RPT_VENDORDEFECT1):在總表基礎上加上等級、廠商代號/名稱、不良扣分、降級率、降級扣分、總分等評等欄位。
    • 不良明細表TWORK_RPT_VENDORDEFECT2):逐筆列出暫收單號、暫收日期、廠商、品號(SKU)、數量、檢驗日期、NG 數量、問題說明、是否確認、是否降級、訂單號碼等明細。
  • 列印範本於預覽時選擇:實際使用哪一張報表版面(總表/評等/明細)在列印預覽視窗依範本清單選取,由標準列印框架(IPrintSource / SQLite 暫存)處理;本頁 ViewModel 只負責把起始/結束單據號碼兩個參數傳給報表(GetReportParameters)。

規劃中/尚未提供

程式碼中另有以 Crystal 報表直接帶資料來源的列印路徑(VendorDefectByDate_TW_ZH_A4 等),目前在新版中已停用(保留為註解)。現行版本一律走 FastReport 範本+SP 撈數的列印框架。

常見問題

按了列印卻沒有任何反應、也沒跳預覽?

多半是起始或結束單據號碼其中一欄是空的。系統規定起訖單號都要有值才會產生報表(HaveReportData)。從母表單帶入時通常已自動填好;若是直接進本程式列印,請手動補齊起訖單號。

報表是空白的、印不出資料?

請確認該單號區間內確實有已儲存的統計單據。本頁只撈資料庫裡既有的單據,若母表單查詢後沒有儲存,或單號區間設錯(起始大於結束),就會撈不到資料。先回 廠商收料不良統計 確認單據存在與單號。

報表上的數字跟母表單畫面不一樣?

本頁列印的是資料庫裡儲存的統計值,不會即時重算。若母表單改了查詢條件卻沒有重新 查詢 並儲存,列印結果仍是舊值。請先回母表單重新查詢並儲存後再列印。

想一次列印多張不良統計單可以嗎?

可以。把起始單據號碼結束單據號碼設成涵蓋多張單的區間即可,系統會以「單號介於起訖之間」一次撈出區間內所有統計單列印。

相關功能


需補截圖清單

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

  1. vendordefectprint-step1.png — 列印條件面板(Document No 起訖單號輸入)
  2. vendordefectprint-step2.png — 由母表單帶入單號後的列印預覽
  3. vendordefectprint-step3.png — 三類報表範本(總表/評等/明細)其中一張的預覽畫面