數據項與控制項關係
1. 控制項生成數據項
想像你是一位木工師傅,準備製作一張精緻的椅子。在動手製作之前,你會先畫出一份詳細的設計圖,這張設計圖就是所謂的「藍圖」。
藍圖描述了椅子的外觀、結構與功能,雖然它本身不是椅子,但提供了製作的依據。
當你依照藍圖動手打造出真正的椅子時,這個過程就稱為「實例化」,而製作出來的椅子,就是藍圖的「實例」。
透過這個比喻,我們可以更容易理解控制項、數據項與元件三者之間的關係。
在 GooJob 的 【表單設計】 中:
- 控制項:就像是椅子的藍圖,是一種範本,定義了表單中某個元素的結構與功能。
- 元件:是根據控制項實例化後的產出,也就是實際出現在設計區裡、可以互動與設定的表單元素。
- 數據項:則是系統在元件實例化時所建立的客製化設定與數據結構,用來儲存該元件的相關屬性與唯一識別編號。
當使用者將控制項拖曳到 【設計區】 時,系統會立即依據該控制項產出一個對應的元件。
並在點選 『儲存』 後,系統在 【數據模型】 中建立對應的數據項,負責儲存這個元件的設定與狀態資訊。
透過這樣的設計機制,使用者可以自由地在表單中加入、調整或刪除元件,同時保持資料結構的清晰與一致性。
在此說明的「元件」是為了方便讀者看懂關係,實際上並不會在表單設計中看到「元件」這個詞。
在【控制項屬性區】中,可以看到從控制項實例化的元件所有屬性、數據項編號。
- 表單發布前,可修改數據項編號及控制項名稱,但發布後只可修改控制項名稱。
- 控制項名稱為顯示名稱,修改控制項名稱不會同步修改數據項名稱,除非勾選同步修改。
- 佈局控制項及關聯查詢不會生成數據項,主要是因為在表單中這些控制項為輔助功能欄位而非儲存數據的欄位。
2. 控制項
系統中包含 35 種控制項,20 種基礎控制項、7 種系統控制項、7 種佈局控制項、11 種進階控制項。
2.1 基礎控制項
基礎控制項是為了滿足基礎業務的控制項,可以視為一個蒐集特定資料內容的輸入框。
每個基礎控制項都會有一個唯一的數據項編號,在表單發布前可以修改數據項編號;發布後則無法再變更。
例如:蒐集產品名稱的[單行文字]、蒐集使用者生日的[日期]或是選擇公司人員名稱的[人員多選]。
2.2 佈局控制項
佈局控制項是針對表單佈局劃分的控制項。
白話解釋,佈局控制項專注於表單的排版規劃、輔助表單說明的控制項。
佈局控制項不會有對應的數據項生成,主要是因為在表單中這些控制項為輔助功能欄位而非儲存數據的欄位。
例如:報名活動表單中,說明報名詳細規則;採購申請單中,詳列的採購細項清單;又或者是內嵌標籤頁方式說明活動審核流程。
2.3 系統控制項
系統控制項是系統自動產生資料且無法修改的控制項。
系統控制項對應的數據項編號為系統預設生成,使用者無法在編輯過程中修改。
例如:[建立人]、[建立時間]、[修改時間]等系統在建立表單時,同步生成的控制項。
2.4 進階控制項
進階控制項是用於複雜的表單設計使用。
例如:跨業務模型的關聯單選、關聯引用、計算公式等複雜的表單控制項。
在 【表單設計】 的 【控制項選擇區】 ,為方便使用者快速理解每個控制項定義與填寫說明,在每個控制項分類選單點選 『控制項介紹』 圖示顯示說明視窗。
3. 數據項
3.1 業務數據項
業務數據項意指在設計表單裡出現的元件,每個元件都有自己的名稱與唯一識別編號。
在新增控制項元件時,系統會自動給予不同的數據項編號,因此,若有重複使用元件沒有變更名稱時,在業務數據項裡會看到兩個一樣名稱,但不同編號的數據項。
業務數據項只能在發布後才會出現數據,且每個元件的名稱與唯一識別編號,都攸關於之後在【數據模型】表單裡出現的數據資料,所以這邊要特別注意在設計表單時,需要選擇正確的元件,在未來系統自動計算時的數據才不會出現錯誤。
3.2 系統數據項
系統數據項與控制項中的系統控制項是一致的。
在系統控制項中,單個表單只能新增一次元件,例:元件【修改人】拖曳至設計區後,除非刪除後重新拉入,否則沒辦法在建立第二個【修改人】元件。
系統數據項中的編號是固定的,無法更動數據項類型中該元件的相關屬性與唯一識別編號。
4. 新增數據項
除了透過拖曳控制項到【設計區】建立數據項外,使用者也可以透過在數據模型頁面直接新增數據項。
在 【數據模型】 新增的數據項,並不會直接顯示在表單中,使用者可從 【表單設計】 中 【控制項選擇區】 的 【數據項】 找到新增的數據項。
若呈現無法選取的狀態,表示該數據項已在表單的 【設計區】 內。