CSVを読み込む専用のアプリで、顧客マスタから顧客IDを引っ張って会社名、カラー2色区分(ラジオボタンで"あり"、“なし”)をコピーする仕組みにしています。
CSVのデータには顧客IDが入っております。
請求カウンタ2という数値フィールドにもcsvの段階で値が入っています。
他にプリンタカウンタカラー、コピーカウンタフルカラー、その他カウンタカラー という数値フィールドにも値が入っており、
CSVで読み込み後、カラー2色区分が"あり"の場合に
請求カウンタ2にプリンタカウンタカラー、コピーカウンタフルカラー、その他カウンタカラーの合計が入るようにしたいと考えています。
この場合、一括読み込み時のイベントはないので、ボタンで何とかしようかと思ってコードを作りましたが、エラーが出てしまうため
どのようにしたらよいか分かればアドバイスを頂きたいです!
(function() {
“use strict”;
kintone.events.on('app.record.index.show', function(event) {
// ボタンがすでに追加されている場合は何もしない
if (document.getElementById('updateButton')) {
return;
}
// ボタンを作成
var myButton = document.createElement('button');
myButton.id = 'updateButton';
myButton.innerHTML = '一括更新';
myButton.style.backgroundColor = '#4CAF50';
myButton.style.color = 'white';
myButton.style.padding = '10px 20px';
myButton.style.fontSize = '16px';
var header = kintone.app.getHeaderMenuSpaceElement();
header.appendChild(myButton);
myButton.onclick = function() {
var records = event.records;
var updatedRecords = [];
records.forEach(function(record) {
var colorSetting = record['カラー2色区分'].value;
var printerCounter = record['プリンタカウンタカラー'].value || 0;
var copyCounter = record['コピーカウンタフルカラー'].value || 0;
var otherCounter = record['その他カウンタカラー'].value || 0;
if (colorSetting === 'あり') {
var total = Number(printerCounter) + Number(copyCounter) + Number(otherCounter);
record['請求カウンタ2'].value = total;
updatedRecords.push({
id: record.$id.value, // レコードIDを設定
'請求カウンタ2': { value: total }
});
}
});
// 一括更新
if (updatedRecords.length > 0) {
var body = { records: updatedRecords };
kintone.api(kintone.api.url('/k/v1/records', true), 'PUT', body, function(resp) {
alert('レコードが更新されました');
location.reload();
}, function(error) {
// エラーレスポンスを詳細に表示
alert('エラーが発生しました: ' + error.message);
console.log('エラー詳細: ', error);
if (error.errors) {
// エラー詳細がある場合
Object.keys(error.errors).forEach(function(fieldCode) {
console.log('フィールド: ' + fieldCode + ' エラー: ' + error.errors[fieldCode].message);
});
}
});
} else {
alert('更新するレコードがありません');
}
};
});
})();
エラーは
入力内容が正しくない
コンソールでは
index.js:905
PUT https://oafactory.cybozu.com/k/v1/records.json 400 (Bad Request)
となっております。
すみませんが宜しくお願い致します。