セルフルックアッププラグイン

同一アプリ内の他レコードを、キーフィールドが一致するレコードの中から絞り込み条件で検索し、 一致したレコードのフィールド値を自レコードへ反映するプラグインです。kintone標準の「ルックアップ フィールド」は参照先を別アプリにしか設定できませんが、本プラグインは同一アプリ内でのルックアップを 可能にします。ボタンを押すと検索結果がモーダルで表示され、内容を確認してから反映するレコードを 選べます。

データ連携 #セルフルックアップ #自動入力
ダウンロード(v1)

ユースケース

1つのアプリの中に、コードで管理する代表レコード(取引先コードや品目コードなど、ユニーク設定のあるフィールドやレコード番号で特定できるレコード)と、それを参照する通常レコードが混在しているようなケースで使えます。通常レコード側にコードを入力してボタンを押すと、代表レコードの名称などのフィールド値を自動で反映できます。

セットアップ手順

  1. アプリのフォーム編集で「スペース」フィールドを1つ配置し、要素IDを設定する(ルックアップボタンが表示される場所になります)。
  2. プラグインをアプリに追加し、設定画面を開く。
  3. 「+ 設定行を追加」で設定行を作成し、①検索先のキーフィールド(ユニーク設定のあるフィールドまたはレコード番号のみ選択可)→②自レコードの検索キーとなるフィールド→③絞り込み条件(任意)→④フィールドマッピング(検索先→自レコード)→⑤モーダルに表示するフィールド(任意)→⑥ルックアップボタンを設置するスペースフィールド、の順に設定して保存する。
  4. 保存後、アプリを更新する(kintoneのアプリ設定は保存しただけでは反映されず、更新〈デプロイ〉して初めてレコード画面に反映されます)。

検索は自レコードの検索キーとなるフィールドの値を変更したときではなく、レコード追加・編集画面に表示されるボタンを押したときに実行されます。出力先フィールドは追加・編集画面で直接編集できなくなり、②のキーフィールドはレコード一覧のインライン編集で直接編集できなくなります。

セキュリティレビュー結果サマリ

設定画面イメージ

セルフルックアッププラグインの設定画面。検索先のキーフィールド・自レコードの検索キーとなるフィールド・絞り込み条件・フィールドマッピング・モーダルに表示するフィールド・ルックアップボタンを設置するスペースフィールドを設定する画面のスクリーンショット。

API実行数について

このプラグインは、レコード追加・編集画面のルックアップボタンを押すたびに、レコード一覧を取得する REST API(GET /k/v1/records.json、内部向けラッパーのkintone.api()経由)を 1回実行します。ボタンを押さない限りAPIは実行されないため、レコードの閲覧・保存自体では消費されません。 kintoneのAPI実行数制限にカウントされる点にご留意ください。

GitHub / 改善要望

あわせて検討したいkintone関連サービス