【kintone】JavaScriptの書き方(ルックアップ操作)【カスタマイズ基礎編】

前回の記事ではkintoneのサブテーブルの操作について解説しました。

続いて、kintoneにおけるJavaScriptカスタマイズでは「ルックアップ操作」を定義できます。

この記事ではレコード内のルックアップの操作について解説します。

この記事で何が分かる?
  • kintoneのJavaScriptカスタマイズでは、ルックアップの操作を定義できます。
  • ルックアップを取得するには…
    event.record.ルックアップ.lookup = true;
  • ルックアップをクリアするには…
    event.record.ルックアップ.lookup = ‘CLEAR’;
  • ルックアップ取得できる条件は…
    ルックアップの検索結果が1件の場合のみ
目次

kintoneのルックアップとは

kintoneのルックアップフィールドは、他のアプリのフィールド値を取得するために使います。

案件管理アプリであれば、顧客マスタから顧客名をルックアップで取得し、それに付帯する生年月日、住所、電話番号なども一緒にコピーできます。

このルックアップで特徴的な操作が「取得」と「クリア」です。

編集画面上ではルックアップフィールドの右側にこの二つのボタンが表示されます。

これらをJavaScriptで操作することができます。

標準機能ではルックアップの初期値を設定することができません。

JavaScriptを使えば、追加画面表示時にルックアップの初期値を設定できます。

ルックアップを取得する

ルックアップを取得する場合は値が必要です。

フィールド値操作の記事で解説した通り、ルックアップフィールドのvalueに値を設定するだけです。

event.record.ルックアップ.value = 値;

しかし、これだけではルックアップを取得したことにはなりません。

valueを設定した後に以下を記述します。

event.record.ルックアップ.lookup = true;

これでルックアップが取得されます。

この形で取得できるのは、ルックアップの検索結果が1件の場合のみですので、ご注意ください。

(() => {

	'use strict';

	kintone.events.on('app.record.create.show', event => {

		const record = event.record;

		record.ルックアップ.value = '山田太郎';
		record.ルックアップ.lookup = true;

		return event;

	});

})();

ルックアップをクリアする

ルックアップをクリアする場合は以下のように記述します。

event.record.ルックアップ.lookup = ‘CLEAR’;

たったこれだけです。非常に簡単ですね。

(() => {

	'use strict';

	kintone.events.on('app.record.create.change.日付', event => {

		const record = event.record;

		record.ルックアップ.lookup = 'CLEAR';

		return event;

	});

})();
この記事のまとめ
  • kintoneのJavaScriptカスタマイズでは、ルックアップの操作を定義できます。
  • ルックアップを取得するには…
    event.record.ルックアップ.lookup = true;
  • ルックアップをクリアするには…
    event.record.ルックアップ.lookup = ‘CLEAR’;
  • ルックアップ取得できる条件は…
    ルックアップの検索結果が1件の場合のみ

ルックアップを取得できるのは検索結果が1件の場合のみという点は要注意ですね。

ルックアップ参照元のフィールドが値の重複を禁止していれば気にせず使えますよ。

次回の記事ではエラー処理について解説します。

目次