いつもお世話になっております。
現在業務日報(ルート営業日報)をベースに1ユーザが
1日あたり回った顧客を1レコードを使っています。
そのなかで、業務日報のサブテーブルに各顧客情報を顧客マスタから
ルックアップ(会社名+顧客マスタのレコード番号(フィールドコード:顧客番号))
して持ってきています。
こちらのサブテーブル内の各入力行に訪問日時という日時フィールドを作っており、
その値を同じ顧客番号の顧客マスタのレコード内の訪問日時に上書きしたく
javascriptを組んだのですが、ここ2週間以上解決せずに、
ご教示願えればと思い再度投稿させていただきました。
(function () {
“use strict”;
kintone.events.on(‘app.record.create.submit’, ‘app.record.edit.submit’, function (event){
var wRecord = event.record;
var tableRecords = wRecord.Table.value;
var wRecordId = tableRecords[i].value[‘顧客番号’].value;
var Recordtime = tableRecords[i].value[‘訪問日時’].value;
var Table = [];
for (var i = 0; i < tableRecords.length; i++) {
Table.push({
value: {
“訪問日時”: { value: Recordtime },
}});
}
var parm = {
‘app’:1,
‘id’:wRecordId,
‘record’:{
‘訪問日時’:{
‘value’: Recordtime
},
},
};
kintone.api(‘/k/v1/record’,
‘PUT’,
parm,
function(res){console.log(res);},
function(err){console.log(err);});
});
})();
ちなみに1行だけを決め打ちして更新は下記内容で出来た為、同じ内容のjavascriptで行番号だけ変えて力技で実装しようと試みたのですが、実際にサブテーブルの行がない場合、エラーで保存できないと知り愕然としました。。。
(function () {
“use strict”;
kintone.events.on([‘app.record.create.submit’, ‘app.record.edit.submit’], function (event){
var wRecord = event.record;
var tableRecords = wRecord.Table.value;
//ここで行番号を変えると参照上書き先が変わる
var wRecordId= tableRecords[0].value[‘顧客番号’].value;
//ここで行番号を変えると参照上書き先が変わる
var wDay = tableRecords[0].value[‘訪問日時’].value;
var parm = {
‘app’:1,
‘id’:wRecordId,
‘record’:{
‘訪問日時’:{
‘value’: wDay
},
},
};
kintone.api(‘/k/v1/record’,
‘PUT’,
parm,
function(res){console.log(res);},
function(err){console.log(err);}
)
});
})();
以上、ご教示のほどよろしく御願いいたします。