下記内容で、ルックアップ元のフィールドを自動更新しようと思っています。
太字の部分でエラーが発生し、動きません。おそらくJSONの形が違う事によるものなのですが、教えて頂けないでしょうか?
初歩的な質問、申し訳ございません。
(function () {
“use strict”;
// 「従業員マスタ」アプリでのレコード編集画面保存時、レコード一覧編集画面保存時イベント
kintone.events.on([‘app.record.edit.submit’, ‘app.record.index.edit.submit’], function (event) {
var afterRecord = event.record;
var appId = kintone.app.getId();
var recId = event.recordId;
// まず、変更前のルックアップデータを取得する
kintone.api(‘/k/v1/record’, ‘GET’, {app: appId, id: recId}, function (resp) {
var beforeRecord = resp.record;
// 次に、ルックアップ参照元(コピー先)の更新対象レコードを取得する
fetchRecords(“3”, ‘name = "’ + beforeRecord.name.value + ‘"’).then(function (records) {
var recCount = records.length;
var putCountb = Math.ceil(recCount / 100);
var putCount = parseInt((recCount / 100) + 1);
for (var i = 0; i < putCount; i++) {
var offset = i * 100;
var limit = 100;
if (offset + limit > recCount) {
limit = recCount - offset;
}
var putLimit = limit + offset;
var editRecords = [];
//for (var i = 0 ; i < records.length ; i++) {
//var record = records[i];
for (offset; offset < putLimit; offset++) {
var record = records[offset];
console.log(record[“$id”].value)
editRecords.push({
“id”: record[‘$id’].value,
“record”: {
“name”: {
“value”: afterRecord.name.value
}
“memo”: {
“value”: afterRecord.memo.value
}
}
});
}
//}
// 最後に更新処理
//kintone.api(‘/k/v1/records’, ‘PUT’, {app: 4, ‘records’: editRecords}, function(resp){
kintone.api(‘/k/v1/records’, ‘PUT’, {app: 3, ‘records’: editRecords}, function(resp) {
}, function(error) {
// error
console.log(error);
});
}
});
});
return event;
});
// 全件取得関数
function fetchRecords(appId, query, opt_offset, opt_limit, opt_records) {
var offset = opt_offset || 0;
var limit = opt_limit || 100;
var allRecords = opt_records || [];
var params = {app: appId, query: query + ’ limit ’ + limit + ’ offset ’ + offset};
return kintone.api(‘/k/v1/records’, ‘GET’, params).then(function (resp) {
allRecords = allRecords.concat(resp.records);
if (resp.records.length === limit) {
return fetchRecords(appId, query, offset + limit, limit, allRecords);
}
return allRecords;
});
}
})();