
Kintoneで自動ルックアップ機能
Kintoneのルックアップ機能は便利ですが、自動実行機能はありません。
例えば、顧客マスタを別アプリからルックアップした後、参照元である顧客マスタの値(例えば顧客名)が変更されても、参照先アプリのルックアップフィールドの値は、再度ルックアップを実行しない限り更新されません。
旧い記録を保存するアプリでは「その方が都合が良い」とう場合もあると思いますが、案件管理アプリの様にレコードが頻繁に更新されるアプリでは、ルックアップフィールド(例えば、顧客名、部署名、先方担当者名等)は、編集時に自動で最新の値に更新してくれたらイイのに、と思っている人も多いのではないでしょうか?
以下の画面は、案件管理アプリで参照している顧客管理アプリの顧客名を、「田中商事」から「TANAKA商事」に修正している事例です。
顧客の会社名や担当者名が変わることはよくあると思います。

自動ルックアップのデモ画面
以下の画面は、顧客番号で「田中商事」をルックアップ参照している案件管理アプリですが、編集ボタンをクリックした瞬間にルックアップが自動実行されて、会社名を更新(田中商事⇒TANAKA商事)しています。
もちろんルックアップで参照している他のフィールド値も全て更新します。
今回は、この自動ルックアップ機能をJavascriptカスタマイズで実装します。

自動ルックアップのJavascriptコード
/* Kintoneで自動ルックアップ機能
* Sample Program
* Distributor: https://note.com/appgroup
* Copyright (c) 2023 Application Utilization Study Group
* Licensed under the MIT License
------------------------------------------------------------*/
(function() {
"use strict";
// 自動実行するルックアップフィールドコード名
const LOOKUP_FIELD_CODE = "ルックアップ";
// 編集モードで起動する
kintone.events.on('app.record.edit.show', function(event) {
// ルックアップフィールドの自動実行
let record = event.record;
record[LOOKUP_FIELD_CODE].lookup = true;
return event;
});
})();
全部で17行と非常に短いコードですが、自動実行したいルックアップのフィールドコード名を設定するだけで動作します(動作確認済)
但し、エラーチェックも省略しているので、ルックアップフィールドコード名の設定でミスするとエラーで動作しません。
以下の「設定の注意事項」をご確認下さい。
設定の注意事項
LOOKUP_FIELD_CODE = "ルックアップ" の値を、アプリ側のルックアップフィールドコードの値に合わせて変更するだけで動作します。
※フィールド名ではなく、フィールドコード名をセットして下さい。

【運用上のご注意】
自動ルックアップするフィールドは、ユニークな値(値の重複を禁止しているフィールド)である必要が有ります。
例えば顧客名でルックアップしていると、同じ顧客名のレコードが複数ある場合は、期待通りに動きません。
自動ルックアップするフィールドは「値の重複を禁止」しているフィールド(例えば顧客番号)である必要があります。
いいなと思ったら応援しよう!
