何を実現したいのかを書きましょう
各担当者の売上た杯数をサブテーブルで入力するようにしています。
その売上杯数をレコードの一覧で可視化できるように別の数値項目に値をコピーしたいと思っています。
発生した問題やエラーメッセージを具体的に書きましょう
console.log(event.record[‘tanname’].value)
この段階では数値が格納されており、return event;のイベント内でも杯数が格納されているのは、確認しているのですが、処理が終わっても実際の入力項目に数値が反映されません。
添付画像の2枚目の赤枠にデータを入力したいと思っています。
実行したコードをコピー&ペーストしましょう
(function() {
'use strict';
kintone.events.on(['app.record.edit.submit','app.record.create.submit'], function(event){
var manager = new KintoneRecordManager;
manager.getRecords(function(records) {
var tabletan = event.record['担当者毎の売上杯数入力'].value;
tabletan.forEach(function(column) {
var tanname = column.value['担当者'].value
const element = kintone.app.record.getFieldElement(tanname);
var urisu = column.value['売上杯数'].value
event.record[tanname].value = urisu;
console.log(event.record['tanname'].value)
});
return event;
});
});
})();
var KintoneRecordManager = (function() {
KintoneRecordManager.prototype.records = []; // 取得したレコード
KintoneRecordManager.prototype.appId = null; // アプリID
KintoneRecordManager.prototype.query = ''; // 検索クエリ
KintoneRecordManager.prototype.limit = 100; // 一回あたりの最大取得件数
KintoneRecordManager.prototype.offset = 0; // オフセット
function KintoneRecordManager() {
this.appId = '273';
this.records = [];
}
// すべてのレコード取得する
KintoneRecordManager.prototype.getRecords = async function(callback) {
await kintone.api(
kintone.api.url('/k/v1/records', true),
'GET',
{
app: this.appId,
query: this.query + (' limit ' + this.limit + ' offset ' + this.offset)
},
(function(_this) {
return function(res) {
var len;
Array.prototype.push.apply(_this.records, res.records);
len = res.records.length;
_this.offset += len;
if (len < _this.limit) { // まだレコードがあるか?
_this.ready = true;
if (callback !== null) {
callback(_this.records); // レコード取得後のcallback
}
} else {
_this.getRecords(callback); // 自分自身をコール
}
};
})(this)
);
};
return KintoneRecordManager;
})();