【kintone】レコードが新規登録・追加か更新かどうかの判定|JavaScriptサンプル
kintone(キントーン)の標準機能でできないところをJavaScriptやCSSを使って実現しています。 今回はレコードが新規登録・追加なのか、更新なのかを判定する方法です。JavaScriptサンプルコードをご紹介します。
■ kintoneで登録か更新か判断できるのか
◎ こんなことありませんか?
・レコードを登録した時に、他のアプリも同時に登録したい
・ある項目を変更した時に、他のアプリも同時に更新したい
・とにかくkintoneでも登録か更新かを判断したい
リビジョン番号を使えばkintoneでも登録か更新かの判断ができます!
■ 完成形
保存ボタンを押した後の保存成功後の処理で、レコードの新規登録・追加か更新かを判断して、アラートを表示しています。
◎ ポイント!
・登録か更新かは、レコードのリビジョン番号(revision)で判定
・判定のタイミングは保存成功後の処理
「app.record.create.submit.success」
「app.record.edit.submit.success」
「app.record.index.edit.submit.success」
■ JavaScript サンプルコード
(function() {
"use strict";
/*
* 登録画面・編集画面・一覧画面/保存成功後
*/
function editSubmitSuccess(event) {
// レコード取得
var record = event.record;
if (record['$revision']['value'] > 1) {
// 更新の時($revision>1)
alert('更新の時:$revision = ' + record['$revision']['value']);
} else {
// 登録の時($revision=1)
alert('登録の時:$revision = ' + record['$revision']['value']);
}
return event;
}
/* ------------------------------------------------------------------ */
// 登録画面・編集画面・一覧画面/保存成功後
kintone.events.on(['app.record.create.submit.success',
'app.record.edit.submit.success',
'app.record.index.edit.submit.success'], editSubmitSuccess);
})();
kintoneでは、レコードの変更履歴をリビジョン番号(revision)で管理しています。保存成功後の処理で「$revision」の値を取得することにより、新規か更新かの判断ができます。新規の場合はリビジョン番号が「1」、更新の場合はリビジョン番号が「2以上」となります。
◎ 注意点!
他のアプリではなく今保存しようとしているレコードのある項目に何かをセットしたい時、以下の保存実行前イベント
「app.record.create.submit」
「app.record.edit.submit」
「app.record.index.edit.submit」
では、レコード追加の際にレコード番号やリビジョン番号を判定するとエラーになります。(更新時は取得可)
この記事が気に入ったらサポートをしてみませんか?