程式資訊
- 程式 ID:
VENDORDEFECTPRINT - 所屬子系統:G.採購付款
- 狀態:stable
廠商收料不良統計列印¶
功能簡介¶
「廠商收料不良統計列印」是 廠商收料不良統計 的列印伴隨頁,負責把已建立的不良統計單據(含收料/不良筆數、不良率、廠商評等、扣分與不良明細)輸出成報表。採購/品管人員在母表單查詢並儲存統計結果後,由此頁指定單據號碼區間列印或預覽。本頁不重新計算統計值,只負責把母表單算好、存進資料庫的統計單據以報表呈現。
本頁與母表單的關係
本頁是獨立的列印程式(ProgramClass.VENDORDEFECTPRINT),最常見的開啟方式是在 廠商收料不良統計 工具列按列印——系統會自動帶出目前這張統計單的單據號碼當作列印區間(起訖都填同一張單號)。
前置需求¶
- 權限:G.採購 →
廠商收料不良統計列印的列印權限(與母表單 廠商收料不良統計 同模組)。 - 基礎資料:報表內容完全取自母表單已儲存的統計單據,因此列印前需先完成下列動作——
| 資料 | 影響的結果 |
|---|---|
| 廠商收料不良統計 已查詢並儲存的單據 | 報表的全部內容(收料/不良筆數、不良率、評等、扣分、不良明細) |
| 該單據的單據號碼 | 本頁列印區間的起訖值 |
報表範本(FastReport .frx) |
列印版面;於列印預覽時依範本清單選擇 |
注意
本頁不會即時重跑「收料不良統計」的計算邏輯。若母表單條件改了卻沒重新查詢並儲存,列印出來仍是資料庫裡的舊統計值。請先回母表單重新 查詢 並儲存後再列印。
操作步驟¶
- 開啟列印頁:
- 從 廠商收料不良統計 工具列按列印(自動帶入目前單據號碼,最省事)。
- 或從本程式直接進入後,手動輸入列印區間。
- 確認列印條件為
Document No(單據號碼,預設且為唯一條件)。 - 在起始單據號碼與結束單據號碼兩欄輸入要列印的單號區間。若只印一張單,兩欄填同一個單號即可。
- 按工具列的列印/預覽:
- 系統先檢查起訖單號是否都有填,任一為空則不會產生報表。
- 通過檢查後,依單據號碼區間(
起始 ~ 結束)撈出對應的統計單據,套用報表範本輸出。
- 在列印預覽視窗選擇報表範本與輸出方式(列印機、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/):
vendordefectprint-step1.png— 列印條件面板(Document No 起訖單號輸入)vendordefectprint-step2.png— 由母表單帶入單號後的列印預覽vendordefectprint-step3.png— 三類報表範本(總表/評等/明細)其中一張的預覽畫面