テーブルの最終履歴を1行のみ別フィールドに書き込む処理について

お世話になります。

 

DM発送の管理を行うアプリを作成し、発送したDMの内容や日付を

テーブル最下部の行からデータを取得し、テーブル外にある最終履歴フィールドを更新する

というものを下記記事を参考に作成しました。

 

https://developer.cybozu.io/hc/ja/community/posts/115002582163-%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E5%86%85%E3%81%AE%E4%B8%80%E7%95%AA%E4%B8%8B%E3%81%AE%E5%88%97%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E5%8F%96%E5%BE%97

 

 

1行ずつ編集して登録する分には想定通りの動作になりました。

しかし、DM発送情報は件数が多すぎるのでcsvで一括読み込みする想定でおりますが

自分で作成したjavascriptだと編集画面で保存しないと最終履歴フィールドの情報を更新しません。

イベントの発生条件が’app.record.edit.submit’だからというのは分かるのですが

では一括読み込み時にも反映させるにはどうしたら良いかが分かりません。

 

下記が実際のコードになります。

 

(function() {
‘use strict’;
kintone.events.on([‘app.record.edit.show’,‘app.record.edit.submit’],
function(event) {
//サブテーブルから最下部の行の値を取得
var record = event.record;
var index = record[‘DM送付履歴’].value.length -1;
var targetRow = record[‘DM送付履歴’].value[index].value; // テーブル最下部の行を取得
var text = targetRow[‘内容’].value;
var text2 = targetRow[‘DM管理No_’].value;
var date = targetRow[‘DM送付日’].value;

//コピー
record[‘最終送付時の内容’].value = text;
record[‘最終送付DM’].value = text2;
record[‘最終送付日’].value = date;

return event;

});
})();

 

以上

csv読み込みなどでデータを更新したら自動的に最終履歴の情報を更新する、

またはボタン設置し、押下時に全件情報を取得し更新する、いずれかを実現したいのですが

どのようにコードを修正すればよいのか、お教え下さいますと幸いです。

 

何卒よろしくお願い申し上げます。