100件以上のレコードをテーブルに追加したい
100件以上のレコードを取得してサブテーブルに書き出したいと考えています
調べて書いてみたのですが処理が動かずエラー等も発生しておりません
原因わかる方教えて頂けますでしょうか
下記ソースコードになります
(function($) {
“use strict”;
// 全てのレコードを再帰的に取得する関数
function fetchRecordsRecursively(appId, query, fields, offset, allRecords, callback) {
var params = {
app: appId,
query: query,
fields: fields,
offset: offset
};
kintone.api(kintone.api.url("/k/v1/records", true), "GET", params, function(resp) {
var records = resp.records;
allRecords = allRecords.concat(records);
if (resp.records.length === 100) {
// もし残りのレコードがあれば、次のバッチを取得する
fetchRecordsRecursively(appId, query, fields, offset + 100, allRecords, callback);
} else {
// 全てのレコードを取得したら、コールバックを実行する
callback(allRecords);
}
}, function(error) {
console.error("API Error:", error);
// エラー処理
});
}
kintone.events.on([“app.record.create.change.不具合品等の種別”, “app.record.edit.change.不具合品等の種別”], function(event) {
var record = event.record;
var selectedValue = record[“不具合品等の種別”].value;
var otherAppId = 243; // 別のアプリのIDを設定する
var tableField = “製品管理テーブル”;
if (!selectedValue || selectedValue === "ストライカー製") {
if (record[tableField]) {
record[tableField].value = [];
}
return event;
}
var query = 'ブランド in ("' + selectedValue + '")';
var fields = ["製品番号", "製品名"]; // 必要なフィールド
fetchRecordsRecursively(otherAppId, query, fields, 0, [], function(allRecords) {
var rec = kintone.app.record.get();
var table = rec.record["製品管理テーブル"].value;
table.length = 0;
allRecords.forEach(function(resRec) {
table.push({
value: {
"製品番号_1": {
type: 'SINGLE_LINE_TEXT',
value: resRec["製品番号"].value
},
"製品名_テーブル": {
type: 'SINGLE_LINE_TEXT',
value: resRec["製品名"].value
},
"ロット番号_0": {
type: 'SINGLE_LINE_TEXT',
value: ""
},
"数値": {
type: 'SINGLE_LINE_TEXT',
value: ""
},
"不具合品の受領_0": {
type: 'SINGLE_LINE_TEXT',
value: ""
}
}
});
});
kintone.app.record.set({ record: rec.record });
});
return event;
});
})(jQuery);