いつも参考にさせていただいており、大変助かっております。
今回はお知恵を拝借させていただきたく、投稿いたします。
現在、
『レコード一覧画面にボタンを配置し、
クリックするとレコード内容から複数の値を条件にして別アプリから値を取り出し、
自分のアプリの特定フィールドに値を入れる』
という処理を作りたいと思っております。
つきましては、まずは『ボタンを押して全レコードを更新する』
ところから作ってみようと思い、下記のJSを作成しましたが、
思うように動きません。
<アプリのフィールド名、型>
・コード:文字列(1行)
・文字列:文字列(1行)
・文字列連結:文字列(1行) ←ボタンを押下して「コード」と「文字列」を連結した文字列を入れる対象のフィールド
(function() {
"use strict";
// 一覧表示時処理
kintone.events.on('app.record.index.show', function(event) {
var record = event.record;
var appId = kintone.app.getId();
// ボタン増殖防止
if (document.getElementById('ボタン1') !== null) {
return;
}
// ボタンの作成
var 更新ボタン = document.createElement('button');
更新ボタン.id = 'ボタン1';
更新ボタン.innerHTML = '更新';
更新ボタン.onclick = function() { // ボタンクリック時の処理
alert('更新ボタンクリック');
var params = {
"app": appId,
"records": []
};
for (var i = 0; i < record['records'].length; i++) {
params['records'][i] = {
"id": record['records'][i]['レコード番号']['value'],
"record": {
"文字列連結": { "value": record['コード']['value'] + ":" + record['文字列']['value'] }
}
};
params.records.push(record);
}
kintone.api(kintone.api.url('/k/v1/records', true), 'PUT', params).then(function(resp) {
// 成功時
alert("更新成功");
}, function(resp) {
// 失敗時
alert("更新失敗");
});
};
kintone.app.getHeaderSpaceElement().appendChild(更新ボタン); // ボタン表示
});
})();
ボタンの表示、クリックまでは動作するのですが、更新処理の方に入らないようです。
大変恐れ入りますが、ご教示お願いできますでしょうか。