程式資訊
- 程式 ID:
PRODUCTIONFILLRATEPRINT - 所屬子系統:F.生產管理
- 狀態:stable
委外廠商達交率報表列印¶
功能簡介¶
「委外廠商達交率報表列印」規劃為委外廠商達交率(廠商延納統計)的列印伴隨頁。母表單以委外(外包)廠商的指交日 vs. 實際進貨日算出達交率/延納率並儲存成單據後,列印頁讓使用者指定要列印的單據編號區間,再產生委外達交率報表預覽/列印,供生管或委外管理主管月底檢討委外廠商交期表現時存查。
它與廠商達交率報表(採購端 VENDORFILLRATE 的列印頁)是同一套「達交率/延納統計」概念的兩個分支:採購端統計的是進料廠商,本頁統計的是委外(外包)廠商。
此功能尚在規劃、目前未提供
本列印頁的畫面(ProductionFillRatePrint.xaml)與檢視模型(FillRatePrintViewModel,ProgramClass.FILLRATEPRINT)已建立骨架,但尚未接上母表單與報表來源,目前無法實際列印:
- 母表單
OutSourcingFillRateViewModel尚未實作列印介面(沒有IPrintViewModel/GetPrintViewModel),因此在委外達交率查詢頁按列印不會開啟本頁。 - 本頁的檢視模型沒有覆寫
GetReportParameters(),即使被開啟也不會把起訖單號送進報表;程式中取資料的GetReportSource()仍是註解停用狀態。
下文「操作步驟」「欄位說明」描述的是規劃中的設計,待功能接線完成後才會生效。實際可用的達交率列印,請改用採購端的廠商達交率報表。
前置需求¶
- 權限:F.生產管理 → 委外廠商達交率的列印權限(
PRODUCTIONFILLRATEPRINT/對應母程式FILLRATE)。 - 前置作業:必須先在委外廠商達交率查詢完成查詢並儲存單據,本頁才有單據編號可列印。
| 資料 | 影響的結果 |
|---|---|
| 已儲存的委外達交率單據 | 報表抬頭(起訖區間、廠商別、查詢時間)與彙總/明細列 |
| 委外工單/暫收進貨(母表單運算來源) | 達交件數、延交件數與延交天數 |
| 委外廠商基本資料 | 報表上的廠商代號/簡稱 |
操作步驟¶
以下為規劃中的操作流程
待母表單接上列印、檢視模型補齊報表參數後,預期流程如下。
- 在委外廠商達交率查詢查詢並儲存好單據後,按工具列的列印鈕開啟本列印頁。
- 規劃上會比照採購端,自動把母表單目前這張單據的單據編號帶入起、訖欄位(起=訖=目前單號),預設只印當前這一張。
- 確認列印方式為
Document No(依單據編號,預設且唯一選項)。 - 視需要調整起始單據編號與結束單據編號,把區間拉大可一次列印多張委外達交率單據。
- 按預覽/列印,系統依單號區間撈出報表資料並顯示預覽,再送印表機或匯出。
起訖單號都要填
依現有檢視模型的資料檢查(HaveReportData),起始或結束單據編號任一為空即判定「無報表資料」而不出表(詳見欄位連動與附加功能)。
欄位說明¶
本頁畫面(ProductionFillRatePrint.xaml)目前只有一組依單號區間的列印條件:
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 列印方式 | ✔ | 固定為 Document No(依單據編號),對應 PrintConditionEnum.DocumentNo;預設且目前唯一選項 |
| 起始單據編號 | ✔ | 區間下界(BeginningDocumentNo);預設空字串,規劃上開頁時帶入母表單目前單號 |
| 結束單據編號 | ✔ | 區間上界(EndingDocumentNo);預設空字串,規劃上帶入母表單目前單號(與起始相同=只印一張) |
母表單的查詢條件不在本頁
達交率/延納率的查詢條件——起訖日期、廠商別(委外)、是否含急單——是在母表單上設定並執行的(母表單新增時預設區間為當月、廠商別=委外、含急單依設定)。本列印頁只負責挑單據、出報表,不重新運算達交率。
欄位連動與附加功能¶
這一節說明畫面與檢視模型背後的實際行為,全部依現有程式碼陳述;屬於「規劃中、尚未生效」者已標明。
- 列印方式為唯一選項:畫面上的
Document No是TsRadioButton,綁定Condition(PrintConditionEnum.DocumentNo),預設即為此值,目前沒有其他列印方式可切換。 - 出表前的資料檢查(
HaveReportData):按列印時檢視模型先檢查起、訖單號。只要其中一個是空白,就直接判定沒有報表資料、不產生預覽。因此區間兩端務必都要有值——這段檢查已經實作。 - (規劃中)開頁自動帶單號:採購端的母表單會在建立列印頁時把目前單據的 DocumentNo 同時填進起始與結束單號。本頁的母表單
OutSourcingFillRateViewModel尚未實作此機制(沒有GetPrintViewModel),所以目前不會自動帶值;接線完成後預期比照採購端,起訖都帶入目前單號。 - (規劃中)報表參數與資料來源:本頁檢視模型未覆寫
GetReportParameters(),目前送出的報表參數為空;取資料的GetReportSource()也仍是註解停用。對照採購端FillRatePrintViewModel才有覆寫GetReportParameters()、送出起始/結束單號兩個參數。本頁待補上相同覆寫後,才能依「單號 between 起始 and 結束」撈委外達交率資料出表。 - (規劃中)報表內容:預期比照達交率報表呈現——
- 單據層:單據編號、建立人員、起訖日期、廠商別(委外)、是否含急單、查詢時間。
- 廠商彙總:委外廠商代號/簡稱、交貨件數、準時件數、延交件數、達交率、延納率。
- 委外明細:工單/單號、品號/品名、指交日期、實際進貨日期、延交天數、備註(如「急單」)。 這些數字由母表單在查詢/儲存當下算好寫入資料庫,列印頁只負責排版,不重算。
與採購端列印頁的差異
採購模組的廠商達交率報表(同樣綁 FILLRATEPRINT/FILLRATE)已完整接線:母表單 VendorFillRateViewModel 實作 IPrintViewModel、檢視模型覆寫 GetReportParameters(),可正常列印進料廠商達交率。本頁是委外(外包)廠商分支,畫面相同但尚未接線。需要立即可用的達交率列印時,請先使用採購端那支。
常見問題¶
在委外達交率查詢頁按列印,沒有反應/沒開列印視窗?
這是目前的已知狀態。母表單 OutSourcingFillRateViewModel 尚未實作列印介面(無 GetPrintViewModel),所以還無法從母表單開啟本列印頁。委外達交率的列印功能仍在規劃中;如需達交率報表,請改用採購端的廠商達交率報表。
報表是空白的(有版面、沒有資料列),是哪裡的問題?
一是本頁的報表參數與資料來源尚未接上(GetReportParameters() 未覆寫、GetReportSource() 停用),目前撈不到任何列;二是即使接好,也需確認輸入的單號區間內確實有已儲存的委外達交率單據。比對的是單號字串區間,不是日期。
為什麼按列印卻提示沒有報表資料?
檢視模型在出表前會檢查起、訖單據編號,任一為空即視為無資料、不產生報表。請確認起始單據編號與結束單據編號兩端都有值。
我要看委外廠商的達交率,現在哪裡查得到?
查詢與彙總已可在委外廠商達交率(廠商延納統計)母表單操作(指交日 vs. 實際進貨日,含彙總與明細);只有「列印成報表」這一步尚未提供。
相關功能¶
需補截圖清單
本功能接線完成、runtime 驗收後再補拍(放 docs/F-Production/images/):
productionfillrateprint-step1.png— 從委外達交率母表單按列印後開啟的列印頁(含自動帶入的起訖單號)productionfillrateprint-step2.png— 調整起訖單據編號區間productionfillrateprint-step3.png— 委外廠商達交率報表預覽(含廠商彙總與委外明細)