「出庫アプリ」でテーブル[出庫商品]のデータを「入庫アプリ」のテーブル[入庫商品]に一部コピーを行いたいため処理を書いていますが、入庫アプリにてテーブル追加と表示がうまくいきません。
手順
「入庫アプリ」にてルックアップ項目により出庫番号を取得し、文字列に格納
ルックアップ取得ではテーブル外で取得した際にテーブル項目の取得ができないので、カスタマイズがいるかと思います。
getRecordsで出庫番号を条件にAPIで出庫商品を取得します。
取得した出庫商品を入庫商品に格納したですが、出庫商品が複数ある場合は入庫商品の行追加も合わせて行わないと格納ができないためテーブル追加もカスタマイズで行います。
コンソールだと入庫商品への格納はうまくいっているっぽい
上記画像では行追加と、入庫商品の表示がうまくいっていないので下記コードでうまくいかないない理由をご存知の方がいましたら、ご教授いただきたいです。よろしくお願いいたします。
kintone.events.on([
‘app.record.create.show’,‘app.record.edit.show’,
‘app.record.create.change.出庫番号_アクション遷移用’,‘app.record.edit.change.出庫番号_アクション遷移用’
], function (event) {
getDeliverInfo(event).then();
return event;
});
async function getDeliverInfo(event) {
syukkoSinkiyou = event.record[‘出庫番号_アクション遷移用’].value;
// 「出庫アプリ」のレコード取得条件
let params = {
app: TABLE_APP_ID_SYOKKO,
filterCond: 'レコード番号 = ’ + ‘"’ + syukkoSinkiyou + ‘"’,
// sortConds: [‘商品コード asc’],
fields: [‘レコード番号’, ‘出庫商品’]
};
if (syukkoSinkiyou) {
let deliverInfo = await getRecords(params);
console.log(deliverInfo);
let i = 0;
console.log(“出庫商品length:” + deliverInfo.records[0][‘出庫商品’].value.length);
console.log(“入庫商品に格納前length:” + event.record[“入庫商品”].value.length);
event.record[“入庫商品”].value.pop();
//「出庫商品」を順に取得
deliverInfo.records[0][‘出庫商品’].value.forEach(function (row) {
console.log(row.value);
let test = {
“value”: {
“商品別差異”: {
“type”: “SINGLE_LINE_TEXT”,
“value”: “ム”
},
“商品コード”: {
“type”: “SINGLE_LINE_TEXT”,
“value”: row.value[‘商品コード’].value
},
“商品名”: {
“type”: “SINGLE_LINE_TEXT”,
“value”: row.value[‘商品名’].value
},
“規格”: {
“type”: “SINGLE_LINE_TEXT”,
“value”: row.value[‘規格’].value
},
“重量”: {
“type”: “NUMBER”,
“value”: row.value[‘重量’].value
},
“出庫総数”: {
“type”: “NUMBER”,
“value”: row.value[‘数量’].value
},
“現在の返却数”: {
“type”: “NUMBER”,
“value”: 0
},
“今回の返却数”: {
“type”: “NUMBER”,
“value”: 0
},
“故障数”: {
“type”: “NUMBER”,
“value”: 0
},
“総重量”: {
“type”: “CALC”,
“value”: row.value[‘総重量’].value
},
“差異数”: {
“type”: “CALC”,
“value”: 0
}
}
}
event.record[“入庫商品”].value.push(test);
event.record[“入庫商品”].value[i].value[“商品コード”].lookup = true;
i++;
console.log(i);
});
console.log(event.record[“入庫商品”].value);
console.log(“入庫商品length:” + event.record[“入庫商品”].value.length);
}
return event;
}