kintone 為了實現應用程式之間的連動,提供了關聯記錄清單與查閱欄位。
其中查閱欄位在 kintone 建立應用程式時,肩負著維持關聯的重要角色。
查閱的對象最好指定為不會被變更的唯一鍵欄位,但這樣做存在幾個問題。
由於不具意義的唯一鍵無法看出對應到哪一筆記錄,若要達到「按下取得按鈕就立即取得」的效果,使用者就得記住「09742」這樣的字串。
此外,查閱終究只是複製,因此當來源欄位的值被變更時,並沒有自動更新的機制,執行查閱當下的值會一直保留下來。
再者,查閱欄位還存在參照限制,在進行 CSV 匯入等作業時,若查閱目標的記錄不存在就會發生錯誤。
如果可以,我們會希望取得的參照來源是「客戶名稱」這類易於辨識的欄位,而應用程式之間的連結則以其他方式處理。
因此這次我們製作了一款外掛,只保留查閱的便利性,並移除關聯功能,在此為您介紹。
本外掛可免費使用。此外,由於原始碼全部公開於 GitHub,您也可以確認它是如何實作的。
外掛可以做到的事
重現標準功能
在建立與編輯記錄時,會在外掛所設定的目標欄位右側,顯示重現自查閱欄位的「取得」與「清除」按鈕。
依輸入值自動取得
當符合欄位輸入值的記錄只有 1 筆時,與標準功能相同,按下「取得」按鈕或 Enter 鍵,即可取得查閱目標記錄的值。
此外,標準功能的查閱只會以參照目標欄位的值進行比對, 但本外掛_不僅比對參照目標欄位的值,也會比對參照目標記錄中其他欄位的值_。
因此也能因應「不只想用名稱搜尋,也想用代碼搜尋」這類需求。
高速的記錄搜尋
當符合欄位輸入值的記錄有多筆時,會顯示專用的對話框,讓您選擇要取得的記錄。
對話框中實作了自有的搜尋功能,也支援模糊搜尋與單字元搜尋。讓您能迅速找到目標記錄。
未輸入任何內容就按下「取得」按鈕的情況
若在欄位未輸入任何內容的狀態下按下「取得」按鈕,同樣會顯示專用的對話框。
設定畫面
活用提示
與標準查閱欄位併用
sequenceDiagram
participant U as 使用者
participant P as 外掛
participant F as 單行文字欄位<br/>(客戶名稱等)
participant L as 標準查閱<br/>(ID 欄位)
participant R as 參照對象應用程式
U->>F: 輸入客戶名稱並按下「取得」
F->>P: 外掛執行搜尋
P->>R: 從已快取的資料高速搜尋
R-->>P: 回傳符合的記錄
P->>F: 複製客戶名稱
P->>L: 複製 ID
L->>L: 自動執行標準查閱
Note over F,L: 兼顧便利性與關聯性
運用本外掛,即可將非唯一的欄位設為查閱對象。
不過,查閱欄位同時也肩負著維持應用程式之間關聯的角色。若想以本外掛解決查閱欄位的易用性問題,同時又維持應用程式之間的關聯,可以進行以下設定。
- 準備一個單行文字欄位(使用者易於辨識的欄位),並設定為本外掛的目標欄位
- 準備一個標準功能的查閱欄位(作為 ID 或代碼的欄位),並設定為本外掛的複製目標
- 啟用「當複製目標存在標準查閱欄位時,取得完成後自動執行查閱」(預設為啟用)
- 將步驟 1 準備的單行文字欄位,指定為標準查閱欄位的複製目標
本外掛的複製目標也可以指定查閱欄位。此外,只要啟用該選項,當指定為查閱欄位時就會自動執行查閱取得。
將這些組合起來,即可實現以下運作方式。
- 外掛從參照來源取得值
- 將值複製到標準功能的查閱欄位
- 執行標準查閱
如此一來,既能發揮查閱的便利性,也能維持應用程式之間的連結。而且由於標準功能的查閱使用的是 ID,在進行 CSV 匯入等作業時也較不容易發生錯誤。
聯絡我們
若外掛有任何問題,我們會進行修正。
請透過導覽列的「聯絡我們」與我們聯繫。
此外,我們也歡迎「希望有這樣的外掛!」這類需求。只要收到您的意見,說不定哪天它就會悄悄出現在外掛一覽裡。
常見問題
-
可以套用在標準的查閱欄位上嗎?
雖然可以,但並不建議。本外掛在執行查閱時,會觸發標準功能的查閱處理,但若查閱目標的記錄有多筆,就無法正常運作。建議將本外掛的目標欄位設定為單行文字欄位。
-
安裝外掛的應用程式,API 使用次數變得非常多
本外掛最重視的是高速的使用者體驗。因此在「有可能執行查閱」的時點就會執行 API,開始快取記錄。這雖然實現了超越標準功能的效能,但 API 的使用次數也會增加。若您想抑制 API 使用次數,可以設定篩選條件以減少要快取的記錄筆數。
發布紀錄
強化快取機制,大幅改善效能與 API 使用次數
於參照記錄選擇清單中,新增變更單次顯示記錄筆數的功能
新增動態切換參照對象應用程式的功能
新增查詢建構器,讓參照記錄的篩選條件設定更具彈性
改善效能
擴充支援的欄位型別
新增可切換搜尋加速功能啟用與停用的設定
新增可切換搜尋加速功能啟用與停用的設定
修正設定外掛的使用者若不具備應用程式管理權限時會發生錯誤的問題
提升外掛設定畫面的易用性
修正當設置查閱按鈕的欄位為數值欄位時,未註冊 Enter 鍵事件的問題
變更在已預先輸入值的狀態下按下「取得」按鈕,且查無符合記錄時的行為
變更為在顯示選擇記錄的對話框時,自動聚焦於搜尋欄位
變更為當搜尋欄位處於聚焦狀態且目標記錄僅有 1 筆時,可用 Enter 鍵選取
新增控制「其他欄位複製」所指定欄位可否編輯的功能
變更為在「其他欄位複製」中,即使參照來源與寫入目標的欄位型別不同,只要符合條件即可複製
改善查閱時的搜尋效能
改善選擇記錄對話框中記錄清單的 UI
修正在記錄尚未完全快取的狀態下,嘗試查閱不存在的值時會發生錯誤的問題
變更為在選擇記錄對話框的標題列顯示欄位名稱而非欄位代碼
新增清除查閱後可復原處理的按鈕
新增變更目標欄位選擇對話框排序方式的設定
變更為當外掛設定不完整時顯示警告
新增容錯降級模式
廢除取得記錄時所使用的 Cursor API,改為使用記錄編號