跳轉到

程式資訊

  • 程式 IDPURAMAPRINT
  • 所屬子系統:J.品質管理
  • 狀態:stable

進貨暫收驗收列印

功能簡介

「進貨暫收驗收列印」是進貨暫收驗收單列印伴隨頁:你不會從主選單單獨開它,而是在暫收/驗收的主表單上按工具列的 列印 時,由系統彈出這張條件設定頁。它的工作是讓你先圈定要印的廠商區間與日期區間、選定要比對的日期欄位,再交由列印框架(SqlPrint)預覽或輸出報表。

同一張列印頁被四支品保單據共用——進貨暫收驗收單 PURAMA委外暫收驗收單 TWRAMA加工暫收驗收單 WKRAMA重工單 REPAIR——它們都呼叫同一個 PuramaPrintViewModel,差別只在主表單帶進來的預設條件不同。

為什麼 ProgramClass 與母表單不同名

本頁自己的程式代號是 PURAMAPRINT,但它在權限與選單上仍歸屬母表單 PURAMA(建構式以 ProgramClass.PURAMA 當主程式)。也就是說,能不能列印,看的是你對母表單的權限,本頁不是獨立掛在主選單的功能。

前置需求

  • 權限:母表單(J-010 進貨暫收驗收單,或對應的委外/加工/重工單)的 列印 權限。本列印頁不另外掛主選單。
  • 資料來源:列印頁本身不查資料,條件比對與報表內容取決於母表單已建立的單據——
資料 影響的結果
暫收/驗收單(母表單已過帳) 列印區間內可被撈出的單據範圍
廠商主檔(生產部門/廠商代號) 廠商起訖條件、報表上的廠商名稱
單據的日期欄位(暫收日期、ETD、ETA In Warehouse) 由你選定的日期欄位決定比對哪一個日期

操作步驟

  1. 進貨暫收驗收單(或委外/加工/重工單)畫面,先停在一張單據上,按工具列的 列印
  2. 確認或修改 Vendor(廠商)起訖代號——可用搜尋鈕(VendorSearch)挑選。
  3. 確認或修改 Date(日期)起訖,格式為短日期(ShortDate,如 2026/06/14)。
  4. 選擇要比對的日期欄位(三選一單選鈕):
    • On Board Date(裝船日,預設)
    • ETD(預計開船日)
    • ETA In Warehouse(預計到庫日)
  5. 按列印框架內建的 預覽 / 列印 鈕輸出報表。

報表輸出尚在規劃中

本頁的條件面板(廠商/日期區間、日期欄位單選)已可操作,但實際的報表資料來源與套版目前在程式碼中被停用GetDataGetCrystalPrintSettings 等整段為註解狀態,對應的 PuramatlPuramatlDate 報表尚未掛上)。目前按 列印 只會通過「至少要有一個廠商代號」的檢核,還不會產生實際報表內容。此功能完成前,請以母表單的其他列印管道為準。

欄位說明

欄位 必填 說明/格式/預設
Vendor 起(BeginningVendorCode) 起始廠商代號;母表單帶入時預設為該單的生產部門/廠商代號
Vendor 迄(EndingVendorCode) 截止廠商代號;母表單帶入時與起始同值(即只印當前廠商)
Date 起(BeginningDate) 起始日期,短日期格式;母表單帶入時預設為該單的暫收日期
Date 迄(EndingDate) 截止日期,短日期格式;母表單帶入時與起始同值
日期欄位(Condition) On Board Date / ETD / ETA In Warehouse 三選一,預設 On Board Date

必填判定

程式的列印前檢核(HaveReportData)只要求起、迄廠商代號不可同時為空;兩者皆空白會擋下列印。日期區間留白不會被擋,但建議一併指定以免撈出範圍過大。

欄位連動與附加功能

這一節說明「按了什麼、輸入了什麼,系統會做什麼」,全部來自實際程式碼。

  • 由母表單帶入預設值:當你在母表單按 列印,母表單的 GetPrintViewModel() 會 new 出本列印頁並預先填好條件:
    • 進貨暫收驗收單 PURAMA:把該單的生產部門填入廠商起訖、暫收日期填入日期起訖(起迄同值)。
    • 委外暫收驗收單 TWRAMA加工暫收驗收單 WKRAMA:行為與 PURAMA 相同,皆帶生產部門與暫收日期。
    • 重工單 REPAIR:同樣共用本列印頁,但不帶任何預設廠商/日期(母表單的帶值程式碼為註解狀態),開啟時條件為空白,需自行輸入。
  • 日期欄位單選鈕(Condition):三個單選鈕透過 RadioConverter 綁同一個 Condition 列舉,互斥切換。選定後只是決定報表將以哪一個日期欄位做區間比對(裝船日/ETD/到庫日),切換本身不會立即重查資料。
  • 廠商搜尋鈕:Vendor 兩個輸入框套用 VendorSearch 樣式,可叫出廠商查詢視窗挑選代號回填,不必手key。
  • 列印前檢核(HaveReportData):按列印時系統先檢查廠商起迄是否同時空白,空白即回傳「無資料」擋下,避免無條件全撈。
  • 列印框架(SqlPrint):本頁外層是共用的 SqlPrint 控件,預覽列印/報表選單等按鈕由框架提供,本頁只負責填條件。

規劃中:依日期欄位排序與雙報表

程式中保留了兩種報表版型的設計——Puramatl(先依廠商、再依所選日期欄位、再依暫收單號排序)與 PuramatlDate(先依日期欄位排序),並會把所選的 Condition(OnBoardDate/ETD/ETAInWarehouse)轉成對應的資料欄位再撈 TWORK_RPT_PURAMA。但這段目前整段註解、尚未啟用,屬規劃中功能。

常見問題

從主選單找不到「進貨暫收驗收列印」?

它不是獨立的主選單功能,而是進貨暫收驗收單等母表單上 列印 鈕的伴隨條件頁。請先開母表單再按列印。

按了列印卻沒有出現任何報表內容?

目前本頁的報表資料來源在程式碼中被停用(套版與撈數整段為註解,對應報表尚未掛上)。條件面板可填、檢核可過,但實際報表輸出尚在規劃中——詳見操作步驟的提醒框。完成前請改用母表單的其他列印途徑。

為什麼一打開廠商與日期就已經填好了?

那是母表單帶入的預設值:PURAMA/TWRAMA/WKRAMA 會把當前單據的生產部門(廠商)暫收日期填進起迄。你可以直接覆蓋成想要的區間。重工單 REPAIR 則不帶預設,需自行輸入。

按列印被擋住、說沒有資料?

列印前檢核要求廠商起、迄不可同時空白。請至少輸入一個廠商代號(或用搜尋鈕挑選)再列印。

三個日期單選鈕(On Board Date/ETD/ETA In Warehouse)差在哪?

它們決定日期區間要拿哪一個日期欄位來比對:裝船日、預計開船日、或預計到庫日。預設是 On Board Date。切換只改變比對基準,不會立刻重查。

相關功能


需補截圖清單

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

  1. puramaprint-step1.png — 從母表單按 列印 後彈出的條件頁全貌(含廠商/日期區間與三個日期單選鈕)
  2. puramaprint-step2.png — 廠商搜尋鈕叫出的廠商查詢視窗
  3. puramaprint-step3.png — 列印框架(SqlPrint)的預覽畫面(待報表來源啟用後補拍)