kintoneでのカスタムJavaScript経験がそれなりに積み重なって来ますと、おそらく、どこかのタイミングでレコード更新前のフィールド値を利用したいと思うケースが出てくるかと思います。

レコード更新前のフィールド値を履歴として残したい場合には、専用のフィールドを用意して、更新時にそのフィールドに値を挿入するようにするという処理が定石となります。

一方、履歴として特に残す必要はないが、更新前のフィールド値を処理に使用したい場合には、わざわざ専用のフィールドを作成する必要はありません。レコード編集画面が表示される際のイベントを利用し、そのタイミングで全フィールドの情報を取得してしまえばいいのです。

以下、サンプルコードとなりますが、基本的にそのままご使用いただけます。更新前の全フィールドの情報が一括で取得されるので、後は、別のイベント内でその中の特定のフィールド値を取り出して利用する形となります。

サンプルコードを環境に合わせて組み込んでいただければ、かなり便利なスクリプトになるかと思いますので、ご自由にお使いください!

※ご質問にはお答えできませんので予めご承知おきくださいませ。

コード

// 編集開始時に実行
kintone.events.on(["app.record.edit.show", "app.record.index.edit.show"], function (event) {
  // 更新前のフィールド情報を一括でディープコピー
  origRecords = JSON.parse(JSON.stringify(event.record));
  return event;
});

// レコード保存時のイベント内等で更新前のフィールド値を変数にセットして使用
const origName = origRecords["氏名"].value;