程式資訊
- 程式 ID:
FILLRATEPRINT - 所屬子系統:G.採購付款
- 狀態:stable
廠商達交率報表¶
功能簡介¶
「廠商達交率報表」是廠商達交率查詢的列印伴隨頁。當你在母表單把某一張達交率單據查詢、儲存完成後,按列印(印表機圖示)會開啟本頁,讓你指定要列印的單據編號區間,再產生《廠商達交率報表》預覽/列印。
報表內容是該單據已彙整好的結果:依廠商列出交貨件數、準時件數、延交件數、急單件數、達交率、延納率,並可展開到每一筆採購單明細(品號、預訂交期、完納日期、延交天數等)。適合採購主管在月底檢討廠商交期表現時列印存查。
本頁沒有查詢條件面板
達交率的查詢條件(起訖日期、類別、是否含急單)是在母表單上設定並執行的。本列印頁只負責挑單據、出報表,不會重新運算達交率/延納率。
前置需求¶
- 權限:G.採購 →
G-070 廠商達交率查詢的列印權限。 - 前置作業:必須先在廠商達交率查詢完成查詢並儲存單據,本頁才有單據編號可列印。
| 資料 | 影響的結果 |
|---|---|
| 已儲存的達交率單據 | 報表抬頭(起訖區間、類別、查詢時間)與彙總列 |
| 採購單/暫收單(母表單運算時的來源) | 報表明細的交貨件數、延交件數與延交天數 |
| 廠商基本資料 | 報表上的廠商代號/簡稱 |
操作步驟¶
- 在廠商達交率查詢查詢並儲存好單據後,按工具列的列印鈕,系統開啟本列印頁。
- 系統會自動把母表單目前這張單據的單據編號帶入下方的起、訖欄位(起=訖=目前單號),預設就是只印這一張。
- 確認列印方式為
Document No(依單據編號,預設且唯一選項)。 - 視需要調整起始單據編號與結束單據編號,把區間拉大可一次列印多張達交率單據。
- 按預覽/列印,系統依單號區間撈出報表資料並顯示預覽,再送印表機或匯出。
起訖單號都要填
起始或結束單據編號任一為空,系統會判定「無報表資料」而不出表(詳見欄位連動與附加功能)。
欄位說明¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 列印方式 | ✔ | 固定為 Document No(依單據編號),對應 PrintConditionEnum.DocumentNo,目前只有這一種 |
| 起始單據編號 | ✔ | 區間下界;開頁時自動帶入母表單目前單號 |
| 結束單據編號 | ✔ | 區間上界;開頁時自動帶入母表單目前單號(與起始相同=只印一張) |
欄位連動與附加功能¶
這一節說明「本頁背後實際會做什麼」,全部來自程式碼行為:
- 開頁自動帶單號:母表單透過
GetPrintViewModel()建立本頁時,會把母表單目前這張達交率單據的 DocumentNo 同時填進起始與結束單據編號。所以你一開頁看到的預設區間就是「目前這一張」,直接按列印即可只印當前單據。 - 出表前的資料檢查(
HaveReportData):按列印時系統先檢查起、訖單號。只要其中一個是空白,就直接判定沒有報表資料、不產生預覽。所以區間兩端務必都要有值。 - 報表資料的撈取範圍:列印參數只送出起始單號與結束單號兩個值(
BeginningDocumentNo/EndingDocumentNo)。報表外掛VendorFillRate會以DocumentNo between '起始' and '結束'為條件,呼叫DARB_RPT_VENDORFILLRATE取資料。換句話說,列印是依單號字串區間比對,不是依日期或廠商。 - 報表內容(《廠商達交率報表》欄位):來源 POCO 為
Rpt_G070_VendorFillRateReportPoco,報表會呈現——- 單據層:單據編號、建立人員、起訖日期、是否含急單、類別、查詢時間。
- 廠商彙總:廠商代號/簡稱、交貨件數(OrderRecordCount)、準時件數(OnTimeRecordCount)、延交件數(DelayedRecordCount)、急單件數(UrgentRecordCount)、達交率(FillRate)、延納率(DelayRate)。
- 採購明細:採購單號、項次、品號/品名、預訂交期、訂購日期、訂購量、完納日期、交貨量、不良量、驗收量、延交量、延交天數(DelayDays)、備註(如「急單」)。
- 不重算延納率:本頁不執行任何延納率計算。達交率、延交件數、急單判定等都是母表單在查詢/儲存當下算好寫入資料庫的,列印只是把存好的結果撈出來排版。若數字有疑問,要回母表單重查、重存。
尚未啟用的列印設定
程式中另有一段以 Crystal 報表(VendorFillRate_TW_ZH_A4)直接帶資料來源的列印設定,目前在程式碼中是註解停用狀態,實際走的是上述 SQLite 匯出 + 報表外掛 的流程。文件以現行流程為準。
常見問題¶
按了列印卻沒有出現預覽/報表?
最常見原因是起始或結束單據編號為空。系統在出表前會檢查兩端單號,任一空白即視為無資料、不產生報表。請確認兩個欄位都有單號。從母表單按列印進來時通常已自動帶好,若你手動清空了欄位請補回。
報表是空白的(有版面、沒有資料列)?
報表是以 單號 between 起始 and 結束 撈資料。若你輸入的區間內沒有已儲存的達交率單據(例如單號打錯、或那張單還沒存檔),就會撈不到任何列。請先回廠商達交率查詢確認該單號確實已儲存。
可以一次列印好幾張達交率單嗎?
可以。把起始單據編號設小、結束單據編號設大,凡單號落在這個字串區間內的達交率單據都會一起出在報表中。注意比對的是單號字串本身,不是日期區間。
報表上的達交率/延納率跟我預期的不一樣?
這些數字是母表單在查詢當下依「是否含急單」等條件算好存檔的,列印頁不會重算。若要改變口徑(例如延納率要不要排除急單),請回母表單調整條件後重新查詢並儲存,再來列印。
相關功能¶
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/G-Purchasing/images/):
fillrateprint-step1.png— 從母表單按列印後開啟的列印頁(含自動帶入的起訖單號)fillrateprint-step2.png— 調整起訖單據編號區間fillrateprint-step3.png— 《廠商達交率報表》預覽(含廠商彙總與明細)