こんにちは。
条件つきで自動で計算ができるようにプログラムを組んでいます。
既存のデータにも適応させたいので、できれば一括で更新したいです。
自分で作成してみたのですが、動作せず。。。
どなたかご教示いただけないでしょうか。
<やりたいこと>
・『通貨単位(ラジオボタン、6種類)』に応じてレート計算し、日本円に直して『日本円(数値)』に計算結果を入れる
・既存のデータ(約1200件)にも適応させたいので、一括更新したい
(function() {
“use strict”;
kintone.events.on(“app.record.index.show”, function(event) {
if (document.getElementById(‘my_index_button’) != null) {
return;
}
var myIndexButton = document.createElement(‘button’);
myIndexButton.id = ‘my_index_button’;
myIndexButton.innerHTML = ‘レート計算’;
var jpmoney = kintone.app.getFieldElements(‘日本円’);
var comoney = kintone.app.getFieldElements(‘現地売価’);
var tanni = kintone.app.getFieldElements(‘通貨単位’);
//ボタンクリック後の処理
myIndexButton.onclick = function() {
var appId = kintone.app.getId();
var param = {
app: appId,
query: ‘’,
fields: [‘$id’, ‘日本円’, ‘現地売価’, ‘通貨単位’],
totalCount: true,
isGuest: false
};
kintoneUtility.rest.getAllRecordsByQuery(param).then(function(resp) {
/////////空更新オブジェクトの生成
var param = {
“app”: appId,
“records”: [],
isGuest: false
};
//レコード更新
resp.records.forEach(function(record) {
var newRec = {};
switch (record[‘通貨単位’][‘value’]) {
case “円”:
newRec[‘日本円’] = { value: Number[‘現地売価’][‘value’] * 1.0 };
break;
case “US$”:
newRec[‘日本円’] = { value: Number[‘現地売価’][‘value’] * 105.0 };
break;
case “THB”:
newRec[‘日本円’] = { value: Number[‘現地売価’][‘value’] * 3.0 };
break;
case “Rp”:
newRec[‘日本円’] = { value: Number[‘現地売価’][‘value’] * 0.008 };
break;
case “RMB”:
newRec[‘日本円’] = { value: Number[‘現地売価’][‘value’] * 15.5 };
break;
case “TWD”:
newRec[‘日本円’] = { value: Number[‘現地売価’][‘value’] * 3.3 };
break;
default:
newRec[‘日本円’] = { value: “” };
break;
param.records.push({
“id”: record[‘$id’][‘value’],
“record”: newRec
});
}
});
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;
});
})();