いつもお世話になっております。
既存のデータにテーブル項目を設けることになりました。
新規作成時に自動で値をセットするプログラムはできたのですが、1件ずつ保存するのは面倒なので、ボタン押下により一括登録・更新したいです。
デバッグもしてみましたが、混乱してしまい、どこを直せばいいのか分かりません。。。
添付図のようなテーブルを作成したいです。
コードは切り貼りでおかしな部分ばかりだと思います。
お力添えいただけませんか。
(function() {
"use strict";
kintone.events.on("app.record.index.show", function(event) {
if (document.getElementById('my_4_button') !== null) {
return;
}
var myIndexButton = document.createElement('button');
myIndexButton.id = 'my_4_button';
myIndexButton.innerHTML = 'table';
//ボタンクリック後の処理
myIndexButton.onclick = function() {
var appId = kintone.app.getId();
var param = {
app: appId,
query: '',
fields: ['$id', 'テーブル', '年度', '値', '数字0', '数字1', '数字2', '数字3', '数字4'],
totalCount: true,
isGuest: false
};
kintoneUtility.rest.getAllRecordsByQuery(param).then(function(resp) {
/////////空更新オブジェクトの生成
var param = {
"app": appId,
"records": [],
isGuest: false
};
//レコード更新
resp.records.forEach(function(record) {
var newRow1 = {};
var newRow2 = {};
var newRow3 = {};
var newRow4 = {};
var newRow5 = {};
newRow1['年度'] = { value: 2019};
newRow1['値'] = { value: record['数字0'].value };
newRow2['年度'] = { value: 2020 };
newRow2['値'] = { value: record['数字1'].value };
newRow3['年度'] = { value: 2021 };
newRow3['値'] = { value: record['数字2'].value };
newRow4['年度'] = { value: 2022 };
newRow4['値'] = { value: record['数字3'].value };
newRow5['年度'] = { value: 2023 };
newRow5['値'] = { value: record['数字4'].value };
param.records.push({
"id": record.$id.value,
"record": {
'テーブル': {
value: [
{
value: {
'年度': {
value: newRow1.value.年度.value
},
'値': {
value: newRow1.value.値.value
}
}
}
]
}
}
});
});
kintoneUtility.rest.putAllRecords(param).then(function(resp) {
//success
console.log(resp);
}, function(error) {
//error
console.log(param);
console.log(error);
});
});
}
kintone.app.getHeaderMenuSpaceElement().appendChild(myIndexButton);
return event;
});
})();