程式資訊
- 程式 ID:
SETSPDATA - 所屬子系統:G.採購付款
- 狀態:stable
廠商資料多選設定¶
功能簡介¶
「廠商資料多選設定」是一個複選挑選小視窗,本身沒有獨立的選單入口,而是由廠商基本資料(SPDATA)在維護廠商時叫出來的輔助對話框。
它把一份候選項目清單顯示在左右兩個列表框中(左=可選、右=已選),讓使用者用按鈕或拖曳把要的項目搬到右側,按 OK 後系統會把右側清單以逗號(,)串成一個字串回填到主檔欄位。
在廠商基本資料的動態規格頁籤中,型態/品質認證/廠商分類三個欄位各自旁邊都有一顆標示為 設定 的按鈕,這三顆 設定 鈕共用這支小視窗(依按的是哪一顆決定候選來源與回填欄位):
| 在廠商基本資料按下 | 候選來源 | 回填欄位 |
|---|---|---|
型態旁的 設定 |
DBF 下拉表 Cmb_C232 |
型態 |
品質認證旁的 設定 |
DBF 下拉表 Cmb_C233 |
品質認證 |
廠商分類旁的 設定 |
DBF 下拉表 Cmb_C234 |
廠商分類 |
也可直接打字
這三個欄位本身就是可直接輸入的文字框(上限 20 個字元)。設定 鈕只是輔助:用複選視窗挑好後按 OK,結果會整段覆寫到文字框;不想開窗時也可以直接在文字框內手動鍵入逗號分隔的字串。
前置需求¶
- 權限:本視窗沒有自己的功能權限,跟著呼叫它的廠商基本資料走——能進入廠商基本資料並處於新增/修改狀態,
設定鈕才會啟用,也才能叫出本視窗。 - 基礎資料:左側可選清單的內容取自下列 DBF 下拉設定檔,必須先維護好對應選項才會有東西可選——
| 資料 | 影響的結果 |
|---|---|
下拉設定 Cmb_C232(型態) |
由型態旁 設定 鈕叫出時,視窗左側的可選清單 |
下拉設定 Cmb_C233(品質認證) |
由品質認證旁 設定 鈕叫出時,視窗左側的可選清單 |
下拉設定 Cmb_C234(廠商分類) |
由廠商分類旁 設定 鈕叫出時,視窗左側的可選清單 |
注意
三顆 設定 鈕的啟用狀態綁在廠商基本資料的編輯狀態上:只有在新增或修改狀態(非瀏覽)時按鈕才會啟用、才能叫出本視窗並把結果寫回欄位;瀏覽狀態下按鈕為灰階、不能按。
操作步驟¶
- 在廠商基本資料中先把廠商帶到新增或修改狀態(此時
設定鈕才會啟用)。 - 切到動態規格頁籤,按下型態/品質認證/廠商分類欄位旁的
設定鈕,本視窗即彈出。 - 視窗開啟時:
- 左側列表=該欄位的所有候選項目(由對應 DBF 下拉表載入)。
- 右側列表=目前已選的項目(初始為空)。
- 把要的項目搬到右側,可用三種方式:
- 選取左側一筆,按
>搬到右側;按<把右側一筆搬回左側。 - 按
>>一次把左側全部搬到右側;按<<一次把右側全部搬回左側。 - 直接用滑鼠拖曳項目在兩個列表之間移動,並可在同列表內拖曳調整順序。
- 選取左側一筆,按
- 確認右側就是要的項目組合後,按
OK。 - 系統把右側清單依目前由上到下的順序以逗號串成字串,回填到對應的主檔欄位(型態/品質認證/廠商分類)。
- 回到廠商基本資料後,記得把廠商資料存檔,複選結果才會真正寫入。
小技巧
右側列表的「順序」就是回填字串的順序——拖曳右側項目可調整先後,串出來的字串會跟著變。
欄位說明¶
本視窗沒有一般意義的輸入欄位,只有兩個列表框與一組搬移按鈕:
| 元件 | 說明 |
|---|---|
| 左側列表 | 可選項目。內容由呼叫端帶入(型態/品質認證/廠商分類三者之一的 DBF 候選清單),初始為全部候選項目 |
| 右側列表 | 已選項目。初始為空,按 OK 時其內容會被串成回傳字串 |
> |
將左側選取的一筆搬到右側 |
>> |
將左側全部搬到右側 |
< |
將右側選取的一筆搬回左側 |
<< |
將右側全部搬回左側 |
OK |
確認;把右側清單以逗號串接後回傳給廠商基本資料並關閉視窗 |
視窗特性
本視窗標題固定為「廠商設定」,採內容自適大小(依內容調整視窗尺寸),不顯示獨立的關閉鈕;以按 OK 作為確認並關閉的方式運作。
欄位連動與附加功能¶
這一節把「按下某個按鈕或做某個動作後,系統實際會做什麼」逐條列出,全部來自程式碼真實行為。
-
左右搬移(單筆):當你選取左側一筆按
>,系統會把該筆從左側移除、加到右側末端;按<則相反。搬移後會自動把選取位置移到鄰近的一筆,方便連續操作。 -
左右搬移(全部):按
>>時系統把左側所有項目依序加到右側並清空左側;按<<則把右側全部搬回左側並清空右側。 -
拖曳移動與排序:你可以直接用滑鼠把項目從一邊拖到另一邊;放下時系統會依放下的位置插入(拖到某筆上方就插在它前面、拖到空白處就加到末端),並把該筆從原本那一側移除。同一側內拖曳則可重新排列順序。
-
按
OK(確認回填):系統會把右側列表目前的項目由上到下用逗號(,)串成一個字串(例如選了三項就是A,B,C),並把這個字串放進回傳值,然後關閉視窗。回到廠商基本資料後,系統依你按的是哪一顆設定鈕,把這個字串寫回對應欄位:- 型態旁的
設定→ 寫回 型態 欄位。 - 品質認證旁的
設定→ 寫回 品質認證 欄位。 - 廠商分類旁的
設定→ 寫回 廠商分類 欄位。
- 型態旁的
-
候選清單怎麼來的:呼叫端在開窗前,會去讀對應的 DBF 下拉設定檔(型態讀
Cmb_C232、品質認證讀Cmb_C233、廠商分類讀Cmb_C234),取每筆的選項欄(field2)收集成清單,當作本視窗左側的可選項目。因此左側看得到哪些項目,完全取決於這些下拉設定檔的內容。 -
只在可編輯狀態才開窗:三顆
設定鈕的啟用與否綁在廠商基本資料的編輯狀態(AdeViewModel.Status)上——瀏覽狀態下按鈕為灰階、按不動,自然也叫不出本視窗。新增或修改狀態下按鈕啟用,按OK後即把結果寫回對應欄位。 -
初始右側為空:每次開窗右側列表都是空的,並不會帶入主檔欄位「目前已存的值」做為已選——也就是說,本視窗是重新挑選,按
OK後是用新挑的結果覆寫該欄位,而非在原值上增刪。
注意:按 OK 是覆寫不是追加
因為開窗時右側是空的,按 OK 回填的是「這次挑的全部項目」。若欄位原本已有值,挑完按 OK 會以新清單整段覆寫舊值。要保留原有項目,本次就要把它們也一起挑進右側。
常見問題¶
左側列表是空的,沒有項目可選?
左側候選清單來自 DBF 下拉設定檔(型態 Cmb_C232、品質認證 Cmb_C233、廠商分類 Cmb_C234)。若是空的,表示對應的下拉設定檔還沒維護任何選項,請先在系統的下拉選項設定中補上。
設定 鈕是灰的、按不下去?
設定 鈕只在廠商基本資料處於新增或修改狀態時才會啟用;瀏覽狀態下為灰階。請先把廠商帶到可編輯狀態,按鈕就會亮起。
重新開窗時,欄位裡原本已選的項目沒有出現在右側?
這是正常行為。本視窗每次開啟時右側都是空的、不會自動帶入欄位現值,屬於重新挑選機制。詳見欄位連動與附加功能中「初始右側為空」與「按 OK 是覆寫不是追加」的說明。
選好項目按了 OK,但廠商資料沒變?
本視窗的 OK 只是把結果回填到記憶體中的主檔欄位,還沒寫進資料庫。回到廠商基本資料後要再按該表單的存檔,複選結果才會真正保存。
右側項目的順序重要嗎?
重要。回傳字串是依右側列表「由上到下」的順序以逗號串接而成,順序不同串出來的字串也不同。可拖曳右側項目調整先後。
相關功能¶
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/G-Purchasing/images/):
setspdata-step1.png— 廠商基本資料動態規格頁籤上型態/品質認證/廠商分類欄位旁的設定鈕(叫出本視窗的入口)setspdata-step2.png— 複選視窗全貌(左可選/右已選+四顆搬移鈕+OK)setspdata-step3.png— 按 OK 後型態/品質認證/廠商分類欄位回填逗號字串的結果