大変お世話になっております。
出町と申します。
AアプリからBアプリへコピーさせているのですが、
編集画面から更新したときBアプリのデータも更新させたいので、
別の方の質問回答などを参考にレコード更新(PUT)について勉強しています。
しかし、以下の内容がうまくできずにおります。
①レコードID指定で更新した場合にサブテーブルの更新だけができない。
②サブテーブル内にある「ユニークID」フィールドをupdateKeyにすると更新ができない。
(function() {
"use strict";
kintone.events.on('app.record.edit.submit.success', function(event) {
return kintone.api('/k/v1/record', 'PUT', {
"app": ***, //案件管理アプリAのアプリID
"updateKey": {
"field": "ユニークID",
"value": "ユニークID",
},
"record": {
"顧客番号": {
"value": event.record.顧客番号.value
}
}
}).then(function(){
return event;
});
});
})();
(※フィールドひとつひとつ上書きされるか試しているところです。)
ちなみに、レコード追加成功時は以下のコードでコピーさせています。
以前の投稿で色々教えていただき成功することができたものです。
ーコピーの内容ーーーーーーーーーーーーーーーー
Aアプリ
保存ボタンクリック
↓
[ヘッダー情報(テーブル以外のフィールド) + テーブルデータ1行目]
[ テーブルデータ2行目]
↓
Bアプリ
1レコード[ヘッダー情報(テーブル以外のフィールド) + テーブルデータ1行目]をコピー
1レコード[ヘッダー情報(テーブル以外のフィールド) + テーブルデータ2行目]をコピー
ーーーーーーーーーーーーーーーーー
(function () {
"use strict";
kintone.events.on([
'app.record.create.submit.success',
],function (event) {
//BアプリのID
var postApp = ***;
//サブテーブルのフィールドコード
var subTable = 'Table';
//コピーするサブテーブル外のフィールドのフィールドコード
var headers = [
'顧客番号',
];
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;
})
});
});
})();
もしかしたら、こちらのコードを元に更新させるためのupdatekeyを
記述するべきなのか??と色々考え壁にぶつかっているところです…
ど素人な質問をしてしまい大変申し訳ないのですが、
更新時にはどのように記述すれば良いのか、
どなたかご教示いただけないでしょうか。。
何卒よろしくお願いいたします。