お世話になります。
以前リンクにてご相談させていただいた件で、うまくいったのですが、
初回登録時のidは登録時に反映されていないことに今さらながら気づきました。
登録時
ヘッダー含めテーブルを別アプリにPUT
完了後、idをテーブル行に保存。
となるためで、修正等の編集後は別アプリでもidが確認できることを確認済みです。
この初回登録時にidも別アプリに持っていくことは可能なのでしょうか?
どのようにコードを更新すべきかご教授頂きたく、お願いします。
元のコード:
(function() {
"use strict";
kintone.events.on("app.record.create.submit.success", function(event) {
var postApp = 348; // 別アプリのID
var recId = event.recordId; // テーブルを登録したレコードを更新するためのID
var subTable = 'table1'; //サブテーブルのフィールドコード
var headers = [ //コピーするサブテーブル外のフィールドのフィールドコード
'From', 'To',
];
var record = event.record;
// レコードを更新するための値
var table = event.record.table1.value;
var array = [];
return kintone.api(kintone.api.url('/k/v1/records', true), 'POST', {
app: postApp,
records: event.record[subTable].value.map(function (row) {
headers.forEach(function (header) {
row.value[header] = event.record[header];
});
return row.value;
})
}).then(function(resp) {
// ↓↓↓↓↓↓↓↓↓↓↓↓登録が成功したレコードID をテーブルに登録するための処理
console.log(resp);
for (var i = 0; i < table.length; i++) {
array.push({
"id":table[i].id,
"value":{
"id": {
"value": resp.ids[i]
}
}
});
}
var body = {
"app": kintone.app.getId(),
"id": recId,
"record" :{
"table1":{
"value": array
}
}
};
return kintone.api(kintone.api.url('/k/v1/record', true), 'PUT', body).then(function(resp) {
// success
console.log(resp);
}, function(error) {
// error
console.log(error);
});
});
});
(function() {
"use strict";
kintone.events.on("app.record.create.submit.success", function(event) {
var postApp = 348; // 別アプリのID
var recId = event.recordId; // テーブルを登録したレコードを更新するためのID
var subTable = 'table1'; //サブテーブルのフィールドコード
var headers = [ //コピーするサブテーブル外のフィールドのフィールドコード
'From', 'To',
];
var record = event.record;
// レコードを更新するための値
var table = event.record.table1.value;
var array = [];
return kintone.api(kintone.api.url('/k/v1/records', true), 'POST', {
app: postApp,
records: event.record[subTable].value.map(function (row) {
headers.forEach(function (header) {
row.value[header] = event.record[header];
});
return row.value;
})
}).then(function(resp) {
// ↓↓↓↓↓↓↓↓↓↓↓↓登録が成功したレコードID をテーブルに登録するための処理
console.log(resp);
for (var i = 0; i < table.length; i++) {
array.push({
"id":table[i].id,
"value":{
"id": {
"value": resp.ids[i]
}
}
});
}
var body = {
"app": kintone.app.getId(),
"id": recId,
"record" :{
"table1":{
"value": array
}
}
};
return kintone.api(kintone.api.url('/k/v1/record', true), 'PUT', body).then(function(resp) {
// success
console.log(resp);
}, function(error) {
// error
console.log(error);
});
});
});