お世話になります。
ルックアップ(仕入先カナ)で複数回データ取得を行った際に、前の検索結果がサブテーブルに残ってしまいます。
前回の結果をクリアするにはどのように記述すればよろしいでしょうか?
(() => {
//様向け受発注システム
'use strict';
const events = ['app.record.create.change.code', 'app.record.edit.change.code'];
//仕入先コードが入力されたらイベントが起動する前準備
const newObj = [];
const record = [];
const targetRecordId = [];
const getTablerec = [];
kintone.events.on(events, event => {
const record = event.record;
//recodeにデータが格納される
console.log(record);
const targetAppId = kintone.app.getLookupTargetAppId('商品ID');
//ルックアップフィールドのフィールドコード「商品ID」を指定して、参照先のアプリIDを取得する。
console.log(targetAppId);
const targetRecordId = record.code.value;
console.log(targetRecordId);
const body = {
'app': targetAppId,
'query': '仕入先コード = "' + targetRecordId + '"',
'fields':['商品ID','商品名','JANcode','規格','単位','商品分類','ケース入数','最低発注ケース数',
'混載条件','文字列 __1行__ 5','納品単価']
};
//情報をGETしたいアプリIDと、アプリにあるレコード番号をセットしてAPIリクエストの準備
if (!targetRecordId) {
record.Table_1.value = [];
return event;
}
kintone.api(kintone.api.url('/k/v1/records', true), 'GET', body, resp => {
//REST APIリクエストの送信
console.log(resp);
const getTablerec = resp.records;
//案件管理アプリの商品リストの行数を格納している
console.log(getTablerec[0]);
for (let i = 0; i < getTablerec.length; i++) {
const pid = getTablerec[i].商品ID.value;
const pname = getTablerec[i].商品名.value;
const jancode = getTablerec[i].JANcode.value;
const kikaku = getTablerec[i].規格.value;
const tani = getTablerec[i].単位.value;
const bunrui = getTablerec[i].商品分類.value;
const pack = getTablerec[i].ケース入数.value;
const mincase = getTablerec[i].最低発注ケース数.value;
const konsai = getTablerec[i].混載条件.value;
const konother = getTablerec[i].文字列 __1行__ 5.value;
const price = getTablerec[i].納品単価.value;
newObj.push({
value: {
行番号: { type: "NUMBER", value: '0' },
商品ID: { type: "SINGLE_LINE_TEXT", value: pid, lookup: true },
商品名: { type: "SINGLE_LINE_TEXT", value: pname },
JANコード: { type: "SINGLE_LINE_TEXT", value: jancode },
規格: { type: "SINGLE_LINE_TEXT", value: kikaku },
数量: { type: "NUMBER", value: '0' },
単位: { type: "DROP_DOWN", value: tani },
商品分類: { type: "SINGLE_LINE_TEXT", value: bunrui },
ケースの入数: { type: "NUMBER", value: pack },
最低発注数: { type: "NUMBER", value: mincase },
混載条件: { type: "DROP_DOWN", value: konsai },
混載条件_その他: { type: "SINGLE_LINE_TEXT", value: konother },
納品価格: { type: "NUMBER", value: price },
}
});
}
console.log(newObj);
event.record.Table_1.value = newObj;
kintone.app.record.set(event);
});
});
kintone.events.on(['app.record.create.submit', 'app.record.edit.submit'], event => {
const count = event.record.Table_1.value.length;
for (var i = 0; i < count; i++) {
event.record.Table_1.value[i].value.行番号.value = i + 1;
}
//上記は行番号を挿入する処理
return event;
});
})();