ルックアップフィールドは、kintone にアプリを作る上でリレーションを保つため重要な役割を持ちます。
ルックアップの対象は変更されることのない一意なキーとなるフィールドを指定するのが望ましいですが、どうでしょう、使いづらくありませんか?
意味の持たない一意なキーが、どのレコードに紐づいているか分からないわけですから、もし取得ボタンを押して即取得、とするためには、「09742」のような文字列を覚えておかなければならないということになります。
また、ルックアップ元のフィールドの値が変更された場合、自動で更新されるような仕様はないため、ルックアップしたタイミングの値が残り続けます。
こういったレコードが一つでも存在していると、CSV を使った一括取り込みでエラーが出てしまいます。
そこで今回は、ルックアップの使い勝手だけを残して、関連付け機能を削除したプラグインを作成したのでご紹介します。
ソースコードは全て GitHub に公開しており、無料で利用できます。
まずはデモからご覧ください。
レコード作成・編集時
レコード作成・編集時、プラグインに設定した対象フィールドの右側に、ルックアップフィールドにある「取得」「クリア」ボタンを再現したものを表示します。
入力した値に一致するレコードが 1 件だけの場合
フィールドに入力した値に一致するレコードが 1 件だけだった場合、標準機能と同様に、「取得」ボタンを押すだけで、ルックアップ先のレコードの値を取得します。
入力した値に一致するレコードが複数件存在する場合
フィールドに入力した値に一致するレコードが複数件存在する場合、専用のダイアログが表示され、取得するレコードを選択することができます。
ダイアログには独自の検索機能を実装しており、1 文字検索も可能となっています。
何も入力せず「取得」ボタンを押した場合
フィールドに何も入力しない状態で「取得」ボタンを押した場合も、専用のダイアログが表示されます。
設定画面
活用例
標準のルックアップフィールドと併用する
当プラグインのコピー先には、ルックアップフィールドを指定することもできます。
さらに、ルックアップフィールドが指定された場合は、自動的にルックアップの取得を実行します。
ルックアップフィールド
これを利用して、
- キーでない値をプラグインからルックアップ
- キーになる値を標準のルックアップフィールドにコピー
- 標準のルックアップを実行
と設定しておくことで、ルックアップの利便性を生かしつつ、アプリ間の紐づけも保つことができます。
お問い合わせ
プラグインに不具合があれば修正します。
ナビゲーションの「コンタクト」からご連絡をお願いします。
また、「こんなプラグインが欲しい!」という要望も募集しています。お声をいただければ、いつの間にか、プラグイン一覧に追加されているかもしれません。