logo Ribbit's works
にメンテナンス済み

関連付けないルックアッププラグイン

一括更新や一括取込の障害となってしまうことのある、ルックアップの関連付け機能のみを取り除いたルックアップを実装するプラグインです。一意でないフィールドをルックアップ対象にしているアプリにおすすめです。

関連付けないルックアッププラグイン
プラグインのデモ画面1

kintone では、アプリ間の連携を実現するために、関連レコード一覧やルックアップフィールドが用意されています。

その中でもルックアップフィールドは、kintone にアプリを作る上でリレーションを保つため重要な役割を持ちます。

ルックアップの対象は変更されることのない一意なキーとなるフィールドを指定するのが望ましいですが、これにはいくつかの問題があります。

意味の持たない一意なキーが、どのレコードに紐づいているか分からないわけですから、もし取得ボタンを押して即取得、とするためには、「09742」のような文字列を覚えておかなければならないということになります。

また、ルックアップはあくまでコピーとなるため、元のフィールドの値が変更された場合、自動で更新されるような仕様はありません。ルックアップしたタイミングの値が残り続けます。

さらに、ルックアップフィールドには参照制約が存在し、CSV 取込などを行う際に、ルックアップ先のレコードが存在しないとエラーが発生します。

できることなら、取得する参照元は「顧客名」のような分かりやすいものとし、アプリ間の紐づけは別の方法で行いたいところです。

そこで今回は、ルックアップの使い勝手だけを残して、関連付け機能を削除したプラグインを作成したのでご紹介します。

ソースコードは全て GitHub に公開しており、無料で利用できます。

まずはデモからご覧ください。

レコード作成・編集時

レコード作成・編集時、プラグインに設定した対象フィールドの右側に、ルックアップフィールドにある「取得」「クリア」ボタンを再現したものを表示します。

入力した値に一致するレコードが 1 件だけの場合

フィールドに入力した値に一致するレコードが 1 件だけだった場合、標準機能と同様に、「取得」ボタンを押すだけで、ルックアップ先のレコードの値を取得します。

プラグインのデモ画面1

入力した値に一致するレコードが複数件存在する場合

フィールドに入力した値に一致するレコードが複数件存在する場合、専用のダイアログが表示され、取得するレコードを選択することができます。

ダイアログには独自の検索機能を実装しており、1 文字検索も可能となっています。

プラグインのデモ画面2

何も入力せず「取得」ボタンを押した場合

フィールドに何も入力しない状態で「取得」ボタンを押した場合も、専用のダイアログが表示されます。

プラグインのデモ画面3

設定画面

プラグインの設定画面

活用例

標準のルックアップフィールドと併用する

当プラグインのコピー先には、ルックアップフィールドを指定することもできます。

さらに、ルックアップフィールドが指定された場合は、自動的にルックアップの取得を実行します。

ルックアップフィールド

これを利用して、

  • キーでない値をプラグインからルックアップ
  • キーになる値を標準のルックアップフィールドにコピー
  • 標準のルックアップを実行

と設定しておくことで、ルックアップの利便性を生かしつつ、アプリ間の紐づけも保つことができます。

お問い合わせ

プラグインに不具合があれば修正します。

ナビゲーションの「コンタクト」からご連絡をお願いします。

また、「こんなプラグインが欲しい!」という要望も募集しています。お声をいただければ、いつの間にか、プラグイン一覧に追加されているかもしれません。

リリースノート

バージョン2.4.0
12/20/2024

レコードを選択するダイアログのヘッダーにフィールドコードではなくフィールド名を表示するように変更

バージョン2.3.0
12/20/2024

ルックアップをクリア後、処理を元に戻すボタンを追加

バージョン2.2.0
12/18/2024

対象フィールドを選択するダイアログの並び順を変更する設定を追加
プラグイン設定が不十分な場合、警告を表示するように変更

バージョン2.1.0
12/13/2024

フェールソフトモードを追加
レコード取得時に使用していたカーソルAPIを廃止し、レコード番号を使用するように変更