程式資訊
- 程式 ID:
SPPDTPRINT - 所屬子系統:G.採購付款
- 狀態:stable
廠商報價單列印¶
功能簡介¶
「廠商報價單列印」是廠商報價單(SPPDT)的列印伴隨頁,用來把已建立的廠商報價資料輸出成報表預覽/列印。它本身不維護資料,只負責挑選列印區間、套用報表格式、預覽與輸出。採購人員在報價單維護完成後,從母表單按列印即可開啟本頁,列出指定的報價單或指定廠商在某段報價日期內的所有報價明細。
與廠商報價單的關係
本頁雖然有自己的程式代號 SPPDTPRINT,但報表清單與母程式 SPPDT 共用——也就是說,這裡列出的報表就是廠商報價單可用的報表。一般情況下你會從廠商報價單畫面直接呼叫列印(系統會自動把目前這張報價單的條件帶進來),而不會單獨開啟本頁。
前置需求¶
- 權限:G.採購 → 廠商報價單(
SPPDT)的瀏覽/列印權限。本頁的報表權限掛在母程式SPPDT之下。 - 基礎資料:列印的內容完全來自已維護的報價資料,請先確認下列項目已建立——
| 資料 | 影響的結果 |
|---|---|
| 廠商報價單(SPPDT) | 報表的主要內容;沒有報價資料就印不出明細 |
| 廠商基本資料 | 以「廠商代號」條件篩選時的查詢依據與報表上的廠商資訊 |
| 品號基本資料 | 以「SKU」條件篩選時的查詢依據 |
| 報表格式(.frx) | 預覽/列印所套用的版面;母程式 SPPDT 須已掛載對應報表 |
操作步驟¶
- 在廠商報價單畫面停在要列印的那張報價單,按工具列的列印鈕開啟本頁。系統會自動帶入目前報價單的條件(詳見欄位連動與附加功能)。
- 在左側條件面板選擇查詢方式(兩者擇一,以最上方的圓鈕為準):
Quotation No(報價單號):依報價單號起訖區間列印。這是預設方式。Vendor Code(廠商代號):依廠商代號、SKU、報價日期三組起訖區間列印。
- 依所選方式填寫對應的起訖欄位(見欄位說明)。
- 從報表清單挑選要輸出的報表格式。
- 按預覽/列印,系統會帶著你設定的條件產生報表並顯示預覽,確認後即可送印或匯出。
條件面板文字仍為英文
目前條件面板的標籤(Quotation No、Vendor Code、QuotationNo、VendorCode、SKU、QuotationDate)尚未中文化,但欄位用途與本頁說明一致。
欄位說明¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 查詢方式(Condition) | ✔ | Quotation No 或 Vendor Code,以圓鈕擇一;預設 Quotation No(報價單號) |
| 報價單號起(BeginningQuotationNo) | ✔ | 起始報價單號;由母表單帶入目前報價單號 |
| 報價單號迄(EndingQuotationNo) | ✔ | 結束報價單號;由母表單帶入目前報價單號 |
| 廠商代號起(BeginningVendorCode) | △ | 起始廠商代號,附廠商查詢;母表單帶入目前廠商 |
| 廠商代號迄(EndingVendorCode) | △ | 結束廠商代號,附廠商查詢;母表單帶入目前廠商 |
| SKU 起(BeginningSKU) | △ | 起始品號,附品號查詢;預設空白 |
| SKU 迄(EndingSKU) | △ | 結束品號,附品號查詢;母表單帶入 zzzz(代表到最大值、含全部品號) |
| 報價日期起(BeginningQuotationDate) | △ | 起始報價日期,短日期格式;預設空白 |
| 報價日期迄(EndingQuotationDate) | △ | 結束報價日期,短日期格式;母表單帶入目前報價單的報價日期 |
△ 標記說明
報價單號起迄為列印的最低必要條件(見欄位連動與附加功能的「列印前檢核」)。廠商代號、SKU、報價日期屬於 Vendor Code 方式下的篩選條件,是否要求填寫視所選報表格式而定。
欄位連動與附加功能¶
這一節說明「從母表單開啟本頁」與「按下各欄位/按鈕」時系統實際做的事,皆來自程式碼。
從廠商報價單開啟時自動帶入的條件¶
當你在廠商報價單按列印開啟本頁,系統(GetPrintViewModel)會把目前停留的那張報價單條件預先填好:
- 報價單號起、迄都帶入目前報價單的報價單號(等於只印目前這一張)。
- 廠商代號起、迄都帶入目前報價單的廠商代號。
- 報價日期迄帶入目前報價單的報價日期。
- SKU 迄固定帶入
zzzz(字母最大值,代表「到最後一個品號」、不限上界)。 - 上述帶入只在母表單目前確實停留在一張報價單(有主檔資料)時才會發生;母表單沒有任何報價單時,本頁各條件維持空白。
也就是說,預設情況下你打開本頁就是「列印目前這張報價單」,不必再手動輸入任何條件即可預覽列印。若要改印一段區間或某廠商全部報價,再自行調整上述欄位即可。
查詢方式切換(Condition 圓鈕)¶
- 選
Quotation No時,系統以報價單號起迄為主要篩選條件。 - 選
Vendor Code時,系統改以廠商代號 + SKU + 報價日期三組起迄為篩選條件。 - 兩顆圓鈕同屬一組(
GroupName="Condition"),永遠只有一個生效;切換時會即時更新傳給報表的Condition參數。
廠商代號/SKU 查詢輔助¶
- 廠商代號欄位掛有廠商查詢(
VendorSearch),可直接輸入或叫出查詢視窗挑選廠商;此處設定為不強制檢核存在(CheckDataExist="False"),方便輸入區間端點。 - SKU 欄位掛有品號查詢(
SKUSearch),用法相同,同樣不強制檢核存在。 - 報價日期起迄使用短日期遮罩(
ShortDate)輸入。
報表參數傳遞(GetReportParameters)¶
按預覽/列印時,本頁會把下列條件打包成報表參數送給報表引擎:
Condition:目前選的查詢方式(DocumentNo/VendorCode)。- 報價單號起、迄 →
BeginningDocumentNo/EndingDocumentNo。 - 廠商代號起、迄 →
BeginningVendorCode/EndingVendorCode。 - SKU 起、迄 →
BeginningSKU/EndingSKU。 - 報價日期起、迄 →
BeginningDate/EndingDate。
報表格式(.frx)即依這些參數過濾資料、產生內容。
列印前檢核(HaveReportData)¶
- 按列印時,系統會先檢查報價單號起、迄是否皆已填寫。
- 只要其中一個為空白,系統判定沒有可列印的資料而不繼續產表。
- 因此即使你改用
Vendor Code方式,報價單號起迄仍建議保留母表單帶入的值,以通過此檢核。
目前的檢核限制
本頁的列印前檢核只驗證「報價單號起迄不可空白」,尚未在按列印當下實際查資料庫確認該區間有無資料(程式中對應的資料查詢邏輯目前保留未啟用)。因此若報價單號填了但區間內實際沒有資料,可能要在預覽畫面才看得出來。
常見問題¶
按了列印卻沒有反應/印不出來?
本頁要求報價單號起、迄都要有值才會繼續產表(見列印前檢核)。從母表單開啟時這兩格會自動帶入目前報價單號;若是手動清空了,請補回報價單號再試。
我想印某個廠商的全部報價,要怎麼設定?
把查詢方式切到 Vendor Code,在廠商代號起迄填入同一廠商(或一段廠商區間),並視需要設定 SKU 與報價日期區間。提醒:報價單號起迄仍須保留有值以通過列印前檢核。
報表內容是空的,或少了某些報價?
列印內容完全來自廠商報價單已建立的資料。請確認:該報價單/廠商確實存在報價明細,且你設定的報價單號、廠商、SKU、報價日期區間有涵蓋到目標資料。SKU 上界預設帶 zzzz 代表不限,不要誤改成較小的值而把資料濾掉。
找不到「廠商報價單列印」這個獨立選單?
一般不需要單獨開啟本頁。它是廠商報價單的列印伴隨頁,從報價單維護畫面按列印即會帶著目前條件開啟;報表權限與清單也掛在母程式 SPPDT 之下。
相關功能¶
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/G-Purchasing/images/):
sppdtprint-step1.png— 從廠商報價單開啟列印頁、條件已自動帶入的全貌sppdtprint-step2.png— 條件面板(Quotation No與Vendor Code兩種方式)sppdtprint-step3.png— 報表預覽畫面