跳轉到

程式資訊

  • 程式 IDGSPPDT
  • 所屬子系統:C.總務管理
  • 狀態:stable

廠商報價單(Vendor Quotation)

功能簡介

「廠商報價單」用來記錄某一家廠商針對若干品號所提出的報價,內容含材料價代工價最低採購量幣別/匯率活動有效期間。一張報價單=一個 Master(廠商+報價條件)+多筆 Detail(逐一品號的單價)。

這份資料是後續採購流程的單價來源:在暫收(進貨)單請購單以及本頁自己的 Price Query(查價)功能裡,系統都會回頭查這裡建立的廠商報價,把最新單價帶到單據上。維護人員通常是採購或總務人員。

資料表與舊版對應

本頁對應 VFP 舊版的 gsppdt(G廠商報價)。新版 Master/Detail 分別走 Twork_gen_vw_gsppdtmTwork_gen_vw_gsppdtd 兩個 view。儲存規則(必填欄位、幣別/匯率補值、空白明細自動刪除)皆按 VFP gsppdt.allowsave 還原。

前置需求

  • 權限:C.總務 → C-020 廠商報價單 的新增/修改/刪除/瀏覽權限。其中單價欄位是否顯示另外受「查看單價」權限(AllowViewPrice)控制——沒有此權限時,下方 Bid 比價清單與右側歷史報價清單的單價欄會被隱藏、且自動帶價也不會作用。
  • 基礎資料:報價單能否正確帶值,取決於下列主檔是否已維護——
資料 影響什麼
廠商主檔(含預設收付條件、幣別) 輸入廠商代號後自動帶出廠商簡稱收付條件號幣別
收付條件主檔 收付條件號旁的說明文字
品號主檔 Detail 輸入品號後帶出品名單位
幣別匯率(賣出匯率) 匯率預設(TsCurrency 控件依報價日期帶當日賣出匯率)
工程代號(製程)主檔 Detail 的工程代號搜尋與帶值
系統參數 60066010 自動挑價的「依採購或依報價」與「報價有效天數」門檻(見 欄位連動與附加功能

操作步驟

新增報價單

  1. 按工具列 新增,系統建立一張空白 Master,並自動帶入預設值(見 新增時的預設值):報價日期=今天活動起始日=報價日期報價人員=登入者帳號幣別=本位幣匯率=1
  2. 輸入 廠商代號(可用放大鏡搜尋)。選定後系統自動帶出廠商簡稱、該廠商的收付條件號(含旁邊說明)與幣別
  3. 視需要調整 報價日期報價人員聯絡人報價備註簽決單號
  4. 設定 活動起始日:輸入後系統會自動把活動截止日帶為起始日 +30 天;兩者皆有值時自動算出有效天數
  5. 確認 收付條件號幣別匯率。改幣別時 TsCurrency 控件會依報價日期重新帶當日賣出匯率。
  6. 在下方明細格逐列加入品項:
    1. 輸入 品號TsGSKUSearchColumn 可搜尋),系統帶出品名單位等資料;此時若在編輯狀態,系統會自動觸發一次比價(見下節)。
    2. 輸入 廠商品號單位最低採購量工程代號
    3. 輸入 材料價代工價,系統自動把 單價 算成「材料價+代工價」(單價欄唯讀,不能直接打)。
    4. 視需要填 內箱包裝數關稅稅率備註特別要求
  7. 儲存。儲存前的檢核與自動處理見 儲存前檢核與自動處理

修改 / 刪除

  1. 用工具列的瀏覽/查詢功能切換到要處理的報價單。
  2. 修改 進入編輯狀態後調整 Master 或 Detail 欄位,再 儲存
  3. 要刪除整張單按 刪除;要刪掉某一筆明細,把該列的品號工程代號都清空,儲存時系統會自動把這種空白列標記刪除(見下節)。

小技巧

明細的 Price Query 欄有一顆查價按鈕,按下去可叫出該品號在同一廠商的歷史報價(切到右側特殊查詢頁)並同步更新下方 不同廠商最新報價 清單,方便縱向與橫向比價,還能一鍵把選定的價格帶回代工價。詳見 欄位連動與附加功能

欄位說明

Master(報價單表頭)

欄位 必填 說明 / 格式 / 預設
報價單號 系統 主鍵,唯讀,由系統配號
報價日期 新增時預設今天;同時是匯率與比價取值的基準日
報價人員 新增時預設登入者帳號,可改(使用者搜尋)
廠商代號 報價廠商;輸入後帶出簡稱/收付條件/幣別
廠商簡稱 自動 唯讀,依廠商代號帶出
聯絡人 自由輸入(≤30 字)
有效天數 由活動起訖日自動算出,也可手動覆蓋
簽決單號 自由輸入(簽核單號參照,≤20 字)
收付條件號 預設帶廠商主檔的收付條件;旁邊顯示說明
幣別 新增預設本位幣;輸入廠商後改帶廠商幣別;空白儲存時補本位幣
匯率 新增預設 1;改幣別時依報價日期帶賣出匯率;≤0 儲存時補 1
活動起始日 新增時預設=報價日期;輸入後自動帶截止日
活動截止日 預設=起始日 +30 天,可改
報價備註 最長 60 字

隱藏欄位

XAML 中公司代碼COMEX / LME / RMB 等欄位目前以註解隱藏,畫面上不會出現(新增時公司代碼仍會被設為 1),本頁不再說明。Source 另有最低毛利率頁首備註聯絡單id工作流程已審核審核日期審核人員 等欄位,但畫面上未開放輸入或屬尚未啟用的審核流程(見未提供的功能)。

Detail(報價明細,逐一品號)

欄位 必填 說明 / 格式 / 預設
序號 系統 明細列序號,唯讀
品號 ✔(與工程代號擇一) 可搜尋;輸入後帶出品名、單位等
品名 自動 依品號帶出
廠商品號 廠商端對應的料號
單位 下拉選單(UOM 清單)
最低採購量 整數;比價挑價時的數量門檻
工程代號 ✔(與品號擇一) 製程/工程代號,可搜尋
Price Query 查價按鈕欄,叫出比價清單(見下節)
材料價 材料單價,會觸發單價重算
代工價 代工單價,會觸發單價重算
單價 自動 唯讀,=材料價+代工價
內箱包裝數 數量格式
關稅稅率 進口關稅率
備註 / 特別要求 自由輸入(各 ≤60 字)

欄位連動與附加功能

這一節把「輸入某欄位/按某按鈕後系統會做什麼」逐條列出,全部來自實際程式碼。

新增時的預設值(AfterAddNew

當你按 新增,系統自動帶入:

  • 報價日期 = 今天
  • 活動起始日 = 報價日期(兩者一致;經 活動起始日Binding 設定,連帶會把活動截止日帶為 +30 天)。
  • 報價人員 = 登入者帳號Context.User.UserId)。
  • 匯率 = 1幣別 = 本位幣Context.Env.LocalCurrency)。
  • 公司代碼 = 1(隱藏欄位)。

輸入廠商代號(Master)

當你在 廠商代號 填入或選定一家廠商(廠商代號Binding),系統會:

  • 從廠商主檔讀回該廠商,帶出 收付條件號,並把對應的說明填到收付條件旁。
  • 若廠商主檔有設幣別,把 Master 的 幣別 改成廠商幣別(匯率隨後由 TsCurrency 控件依報價日期自動帶當日賣出匯率)。對應 VFP sqlnm_sp1.代號.LostFocus
  • 若查無此廠商,收付條件號說明 會被清空。

活動起始日 → 活動截止日 → 有效天數(Master)

  • 輸入 活動起始日活動起始日Binding)後,若可解析為日期,系統自動把 活動截止日 設為起始日 +30 天
  • 活動截止日 變動(不論自動帶或手動改,活動截止日Binding)且起訖日皆可解析時,系統用「截止日 − 起始日」自動算出 有效天數
  • 因此一般操作只要填起始日,截止日與有效天數會接力算好;要不同期間時再手動覆蓋截止日即可。

材料價 / 代工價 → 單價(Detail)

  • 單價 欄唯讀,由系統計算:單價 = 材料價 + 代工價SetUnitPrice)。
  • 你修改 材料價材料單價Binding)或 代工價代工單價Binding)任一欄,系統都會立即重算單價。直接編輯單價沒有意義(會被覆蓋)。

輸入品號(Detail)

  • 輸入 品號品號Binding)後,系統透過品號主檔帶出品名單位等資料(DescriptionHelper.SetISKU)。
  • 同時,只要目前在編輯狀態,輸入品號會自動觸發一次比價查詢(等同按了該列的 Price Query):切到右側歷史報價頁、並更新下方 Bid 清單成「其他廠商對此品號的最新報價」。

VFP 的 MISC 特殊品號未沿用

VFP 舊版針對品號 MISC(雜項)有特例:品名/單位改為可手動輸入。新版沒有這個分支——品號帶出的品名與單位一律取自品號主檔。若要做雜項報價,請先在品號主檔建好對應品號。

Price Query 查價按鈕(Detail)

每列的 Price Query 按鈕(QueryCommand)會以目前 Master 的報價日期與廠商代號為條件查兩種比價:

  1. 歷史報價(同一廠商):切到右側「Historical Unit Price」特殊查詢頁,列出該品號在同一廠商的歷史報價(GetHistoryUnitPrice,查詢別 2.Quotation)。系統並會依最低採購量規則自動挑一個價格帶回(見下方自動挑價規則)。
  2. 不同廠商最新報價:更新畫面下方的 Bid 清單(GetDifferentVendorLatestUnitPrice,查詢別 1.Purchasing),列出各家廠商對此品號的最新報價,方便橫向比價。

資料來源

比價資料由 GppurchBll.GetUnitPrice(後端走 BIZ_GSPPDT / SP TWORK_BIZ_GSPPDT,VFP 對應 DARB_BIZ_SPUPXG)回傳,分別撈採購單(1.Purchasing報價單(2.Quotation兩類。沒有選定明細列、或該列品號為空時不查(清單清空)。

切換/翻頁時清空比價清單

  • 選定明細列改變時(DetailSelectedItem):系統以新選列的品號+Master 報價日期重新查「不同廠商最新報價」更新 Bid 清單;若沒有選列則把 Bid 清單清空。
  • 整張單翻頁(換報價單)時(AfterMoverRecord):右側歷史報價與下方 Bid 清單都會被清空,避免顯示上一張單的比價結果。

Bid 清單的「Return」按鈕——把價格帶回

下方 Bid(與右側歷史報價)清單每列都有 Return 按鈕(ReturnCommand):

  • 按下後,若目前在編輯狀態且有選定明細列,系統會把該筆比價的單價帶回。
  • 重點:因為報價明細屬於 ISppdtUnitPrice,帶回的價格寫進的是 代工價(代工單價),而非直接寫單價;接著觸發「材料價+代工價」重算單價。也就是說,比價帶回的是代工部分,材料價維持你手動填的值

自動挑價規則(同廠商歷史報價)

切到歷史報價時(SetUnitPriceByMinimum)系統會嘗試自動帶一個合適單價,規則為:

  1. 先依參數 6006(依採購或依報價)篩出對應來源,並用參數 6010(有效天數)檢查報價是否仍在有效期內(生效日 + 有效天數 ≥ 基準日CheckDateIsValid)。
  2. 在有效報價中,挑「最低採購量 ≤ 本列數量」的報價;其中取最低採購量最大的那筆(量越大通常單價越便宜)帶回代工價
  3. 若沒有符合數量門檻的,就帶清單第一筆(最新)的價格。
  4. 此自動挑價只在編輯狀態下作用;非編輯狀態僅顯示清單供人工參考。

本列數量=最低採購量

程式裡明細的「數量」取自最低採購量欄(數量 => 最低採購量)。挑價時用這個值跟比價清單的最低採購量做門檻比較。

儲存前檢核與自動處理(GsppdtSave

儲存 時,系統依 VFP gsppdt.allowsave 規則做:

  • 必填檢核廠商代號報價日期收付條件號活動起始日 任一空白就擋下並提示。
  • 幣別/匯率補值HandleDataBeforeEndEdit):幣別空白補本位幣;匯率 ≤ 0 補 1
  • 空白明細自動刪除品號工程代號都空白的明細列,儲存時自動標記刪除(增刪修=D),不會寫入。

未提供的功能(規劃中)

VFP 舊版本支表單在工具列另有 工作流程(送審 G報價單送審)、快速審核列印(報表 GSPPDT_P)、附件已審核/審核日期/審核人員 等審核欄位。新版 GsppdtViewModel 目前沒有實作專屬列印報表(無 IPrintSource / GetReports)、工作流程送審、快速審核或附件功能。Master 雖保留「簽決單號」「工作流程」「已審核」等欄位,但完整審核工作流在本頁尚未開放操作。若日後需要,再行補強。

常見問題

單價欄不能輸入、改了沒反應?

單價是唯讀計算欄,等於「材料價 + 代工價」。請改去填 材料價代工價,單價會自動重算。

輸入廠商後幣別 / 收付條件沒帶出來?

這兩個值來自廠商主檔。若廠商主檔沒設幣別,幣別會維持原值(新增時為本位幣);查無廠商時收付條件號與說明會被清空。請先確認廠商主檔資料完整。

明細品名 / 單位想自己打,但被帶值蓋掉?

新版品名與單位一律取自品號主檔(不像 VFP 的 MISC 雜項可手填)。若要做不在品號主檔內的雜項報價,請先在品號主檔建好對應品號再回來報價。

下方 Bid 比價清單是空的,或單價欄看不到?

兩個原因:(1)需先選定一筆有品號的明細列才會去查比價;沒品號、沒選列都不查。(2)單價欄的顯示受「查看單價」權限(AllowViewPrice)控制,沒有此權限時清單仍會列出但單價欄被隱藏、自動帶價也停用。

按 Price Query 沒有自動帶價?

自動挑價只在編輯狀態下作用,而且報價必須仍在有效期內(生效日 + 有效天數 ≥ 基準日,有效天數取自參數 6010),並符合參數 6006(依採購或依報價)的來源篩選。過期或來源不符的報價不會被自動帶回,但仍會顯示在清單供人工參考。

儲存時被擋住,說某欄位要輸入?

儲存必填四欄:廠商代號報價日期收付條件號活動起始日。任一空白都會被擋。另外,品號與工程代號都空白的明細列會在儲存時被自動刪除,不算錯誤。

活動截止日 / 有效天數我不想用自動帶的值?

可以。系統只是在你輸入活動起始日時自動把截止日帶為 +30 天、並由起訖日算有效天數。帶值後你仍可手動改截止日或有效天數覆蓋。

相關功能


需補截圖清單

以下截圖待 runtime 驗收後補拍(放 docs/C-GeneralAffair/images/):

  1. gsppdt-step1.png — 報價單表頭(廠商/日期/幣別/活動期間)全貌
  2. gsppdt-step2.png — 明細格輸入材料價/代工價後單價自動算出
  3. gsppdt-step3.png — Price Query 查價:右側歷史報價頁與下方 Bid 比價清單,含 Return 帶價