有時候你可能會需要讓 Ragic 自動在欄位中填上預設值,像是在資料輸入時自動記錄當下的日期或時間,就可以省去手動輸入的時間;或留下記錄者的資訊(最後修改人、最後修改時間等);甚至選項也可以套用預設值,例如「狀態」的選項欄位,預設狀態如果都是一樣的話就可以透過預設值節省手動選擇的時間,同時避免錯誤。
在設計模式中,欄位設定下的基本點擊預設值旁的連結,就能開啟設定介面。可以自行輸入預設值或從既存選項中選擇。
設定預設值時也可以使用系統提供的變數,讓你在輸入或更新資料時,自動產生預設值。
預設值 | 預設格式 | 變數 | 範例 |
---|---|---|---|
建立日期 | yyyy/MM/dd | $DATE | 2015/05/19 |
建立時間 | HH:mm:ss | $TIME | 09:21:05 |
建立日期、時間 | yyyy/MM/dd HH:mm:ss | $DATETIME | 2015/05/10 09:21:05 |
建立年份 | yyyy | $YEAR | 2015 |
建立月份 | M | $MONTH | 5 |
建立工作日 | E | $WEEKDAY | 2 |
建立使用者名稱 | Name LastName | $USERNAME | 黃惠珍 |
建立使用者e-mail | email@domain.com | $USERID | jane@initech.com |
最後修改日期 | yyyy/MM/dd | #DATE | 2015/05/23 |
最後修改時間 | HH:mm:ss | #TIME | 09:32:06 |
最後修改日期、時間 | yyyy/MM/dd HH:mm:ss | #DATETIME | 2015/05/23 09:32:06 |
最後修改年份 | yyyy | #YEAR | 2015 |
最後修改月份 | M | #MONTH | 5 |
最後修改工作日 | E | #WEEKDAY | 2 |
最後修改使用者名稱 | Name LastName | #USERNAME | 林凱倫 |
最後修改使用者e-mail | email@domain.com | #USERID | karen@initech.com |
序列 | 1,2,3 | $SEQ | 3 |
針對「建立」相關預設值變數,如果是先有資料後,才新增預設值的話,由於預設值是在新增或編輯資料當下觸發的,如果欄位是空值會變成抓到當下的編輯使用者與編輯時間,而非該筆資料真正的建立人及建立時間。為了避免此狀況,建議先手動執行一次空值自動填入來帶出資料原本的建立資訊。
你可以從 Ragic 提供的格式選項中挑選;或是自行設定一個完全不同的格式,只需要在預設值選項下方的格式框直接輸入格式。也可以為日期欄位自訂日期格式。
你也可以為預設值套用公式,只要在設計模式下勾選「以公式執行」,即可編輯公式。支援的公式列表請參考此篇說明。
需要特別注意,在預設值套用公式僅有在第一次編輯參照欄位的時候會執行。後續變更參照欄位時,公式將不會重算。如果希望每次編輯時都可以重算,請使用一般的公式。
另外,如果表單開啟了自動儲存模式且公式參照一個以上的欄位,預設值公式也不適用,請改用一般公式。因為自動儲存模式會在使用者填寫資料時多次自動儲存欄位值,系統可能在使用者還沒填完所有參照欄位值時,就第一次自動儲存資料並執行預設值公式,導致結果與預期不同。
預設值欄位常與唯讀一起使用,確保使用者無法手動更改這個值。
當表單已經有資料的情況下,後來才新增欄位並套用預設值,或是原本沒有套用預設值的欄位,後來才設定預設值的話,Ragic 不會自動依據新的預設值重新填入已經儲存的資料,所以舊資料中這個新欄位的值就會是空的。
如果希望空值都能自動填入預設值時,例如:建立日期、建立使用者或匯率欄位等,可以在設計模式下,參考以下步驟:
步驟 1:進入設計模式新增或修改需要的預設值
步驟 2:儲存表單設計
步驟 3:選擇要填入預設值的欄位,再點空值自動填入
點擊後,系統會在背景自動填入,如果資料庫中有較多資料可能會需要一些時間。此時可以離開設計模式進行其他操作,自動填入完成後會於左下方跳出通知。
再回到表單頁就可以看到自動填入的欄位值。
希望在選擇使用者欄位設定多個預設值時,可以用「|」來分隔多個值,例如在預設值填入「Ian|george」 ,就會帶出 Ian 與 george 兩位使用者。
選擇群組欄位同樣也可以透過「|」來分隔多個值。
注意:如果使用者或群組名稱本身已經包含「|」字元,那就必須自行做轉譯,使用 「%7C」取代原本的「|」字元,例如希望帶出「IT」與「RD|工程師」這兩個群組,則要寫成這樣: