kintone(キントーン)のルックアップ

こんにちは。kintone(キントーン)導入支援のギャンです。
今回は「kintone(キントーン)のルックアップ」ということで、kintoneのルックアップについて取り上げたいと思います。

ルックアップとは

kintoneのルックアップとは、他のアプリに登録されている情報を参照してデータを取得(コピー)できる機能です。たとえば、お客様情報を何度も入力するのが大変なとき、すでに別アプリで顧客情報を管理していれば、顧客を選択するだけでそこから顧客情報をコピーして入力できます。大変便利な機能です。

設定方法

他のフィールドと異なり以下の項目を設定します。

関連付けるアプリ

「関連付けるアプリ」はデータのコピー元のアプリを設定する機能です。設定することで、アプリを関連付けることができます。

コピー元のフィールド

「コピー元のフィールド」は、ルックアップフィールドに紐付けるフィールドを設定する項目です。紐付けるフィールドは「関連付けるアプリ」に設定されたフィールドから選択します。

ほかのフィールドのコピー

「ほかのフィールドのコピー」は、「取得」ボタンを押した際に、ルックアップフィールド以外のフィールドにデータをコピーする機能です。

課題点

参照先レコードの変更は自動反映されない

大変便利な機能のルックアップですが、参照先の情報が更新されても、自動では反映されないという課題点があります。例えば、案件管理アプリでルックアップで参照(ほかのフィールドのコピー)している顧客マスタの担当者が更新されたとしても、案件管理アプリでは、以前、参照した時点の担当者のままになってしまっています。それを更新するためには、案件管理アプリで該当のレコードを編集で開いて、「取得」ボタンを押す必要があり、それを行ってはじめて担当者が更新されます。

ルックアップ時にコピーしてくる項目にサブテーブルの情報を指定できない

kintone標準機能ではルックアップ時にほかのフィールドのコピーでサブテーブルについては指定できないためコピーができません。例えば明細をサブテーブルで作成していた場合に、明細についてはルックアップでコピーできないという状況が発生します。

ルックアップを自動取得するには

自動取得するには、2つの方法があります。1つは自動取得のプラグインを利用する方法、もう1つはJavaScriptでカスタマイズする方法です。また、今現在の参照元の情報を一括で取得し、情報を最新に更新することも可能です。

プラグインを利用する

ルックアップ自動取得のプラグインとしては、以下のプラグインがあります。

ルックアップ自動取得プラグイン

M-SOLUTIONS株式会社が提供するルックアップ自動取得プラグインは、データ登録時の入力を簡単にするためのプラグインです。標準機能では、kintoneのルックアップ項目を設定した場合、「取得」ボタンを手動でクリックしてデータを取得する必要があります。この自動取得プラグインを利用することで、取得ボタンのクリックが不要となり、よりスムーズなデータの登録を行うことが可能です。

自動ルックアッププラグイン

kintoneのルックアップフィールドで自動取得を行う、便利なプラグインです。レコードの再利用やアクション機能を使ってデータを登録するとき、ルックアップ項目の「取得」ボタンを押すという一手間をなくします。

rex0220 ルックアップ自動取得プラグイン

アクション処理でルックアップ項目を設定した場合、標準機能ではルックアップ項目を手動でクリックして値を取得しなければなりません。 この自動取得プラグインを導入すると、自動的にルックアップ取得します。

ルックアップ反映プラグイン

ルックアップのコピー元アプリを更新した時に、コピー先アプリのフィールド値を一括で反映するプラグインです。リレーショナルデータベース(RDB)のように、アプリ間連携がもっと便利になるので、kintone の活用範囲がぐっと増えます。

JavaScriptカスタマイズを行う

プログラムを書くことができれば、JavaScriptでカスタマイズすることが可能です。簡単なコードですので、以下に記載します。

(function(){
'use strict';
kintone.events.on(['app.record.create.show','app.record.edit.show'], (event)=>{
event.record['フィールドコード'].lookup = true;
return event;
});
})();

フィールドコードの部分は実際の環境のルックアップのフィールドコードに変更してください。
※レコードを編集で開いた際とレコードの再利用で開いた際にルックアップを自動取得します。

JavaScriptでのカスタマイズの方法については、「kintone(キントーン)のカスタマイズ」を参照ください。

一括更新

ルックアップの一括更新を行うには2つの方法があります。1つはCSVファイルを利用する方法で、もう1つはレコード一括更新プラグインを使う方法です。

CSVファイルで一括更新を行う方法
  1. 参照元アプリから、更新したいルックアップ項目が含まれているデータをCSVファイルに書き出す。
  2. 一括更新するアプリを開き、画面右上のオプションボタン「・・・」から「ファイルを読み込む」をクリックする。
  3. 「参照」をクリックし、手順1で用意したCSVファイルを指定する。
  4. 「読み込むファイルの先頭行はフィールド名ですか?」のラジオボタンで「はい」を選択する。
  5. アプリの各フィールドに対して、データを読み込むファイルの列を指定する。
  6. 画面左上の「読み込む」をクリックする。

なお、参照元アプリで該当するフィールドが「値の重複を禁止する」と設定されている必要があります。

レコード一括更新プラグインを使って一括更新を行う方法
一覧レコード一括更新/クリアプラグイン

TiSの提供する一覧レコード一括更新/クリアプラグインを使うことでルックアップの一括更新を行うことができます。無料で利用できます。

ルックアップでサブテーブルを取得するには

ルックアップ時にサブテーブルを取得するには、2つの方法があります。1つはプラグインを利用する方法、もう1つはJavaScriptでカスタマイズする方法になります。

プラグインを利用する

ルックアップ時にサブテーブルを取得するプラグインとしては、以下のプラグインがあります。いずれも無料で利用できます。

ルックアップ内サブテーブルコピープラグイン

TiSの提供するルックアップ内サブテーブルコピープラグインを利用することで、ルックアップ時にサブテーブルを取得できます。

サブテーブルルックアッププラグイン

キャップドゥー・ジャパンの提供するサブテーブルルックアッププラグインを利用することで、ルックアップ時にサブテーブルを取得できます。

kintoneのルックアップのまとめ

ルックアップは複数のkintoneアプリを関連付けるには、大変便利な機能です。しかし、課題点もあります。今回、ご紹介したようにプラグインを利用するか、JavaScriptでカスタマイズすることでより便利にルックアップを利用できるようになりますので、参考にしていただければ幸いです。なお、今回ご紹介したプラグインはいずれも有償です。