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;