背景・実現したいこと
- 特定のボタンクリックでレコードの詳細画面から、値を抽出
- 1で抽出した一部の値を、新規レコードとしてPOST
- 2でPOSTしたレコードの詳細画面に遷移
という動作を実現したいです。
エラー情報 (開発者ツールのコンソール)
エラーは特に起きておりませんが、
- 2でPOSTしたしたレコードの取得方法がわからない
- 3の方法(遷移するほうほう)
がわからずにつまづいたままでおります。
利用したソースコード
(() => {
'use strict';
kintone.events.on('app.record.detail.show', (event) => {
//レコードのコピーボタンの設置
constmyDetailButton = document.createElement('button');
myDetailButton.id = 'my_detail_button';
myDetailButton.innerText = 'レコードのコピー';
myDetailButton.style.margin = '10px';
// ボタンクリック時の処理
myDetailButton.onclick = () => {
constbody = {
'app': kintone.app.getId(),
'id': kintone.app.record.getId(),
'fields': ['閲覧者', '閲覧日時', '主担当者', 'クライアント']
};
kintone.api(
kintone.api.url('/k/v1/record.json', true), 'GET', body,
(resp) => {
// success
constpostParams = {
'app': kintone.app.getId(),
'record': {
//json形式でPOSTしたい値を入力
'クライアント': {
'value': resp.record.クライアント.value
},
'値1': {
'value': resp.record.値1.value
},
'値2': {
'value': resp.record.値2.value
},
}
}
// 値をPOST
kintone.api(kintone.api.url('/k/v1/record.json', true), 'POST', postParams);
console.log(resp.record);
window.alert("登録が完了しました。");
// 画面更新後、最新レコードを取得して遷移
location.reload();
kintone.api('/k/v1/records', 'GET', {
app: kintone.app.getId(),
query: 'order by レコード番号 desc limit 1'
}, function (response) {
if (1) { //条件式
window.alert('id: ' + kintone.app.record.getId());
location.href = location.href.replace("edit", "show#record=" + response.records[0].$id.value);
}
});
}, (error) => {
// error
console.log(error);
leterrmsg = 'レコード取得時にエラーが発生しました。';
if (resp.message !== undefined) {
errmsg += '' + resp.message;
}
window.alert(errmsg);
},
);
};
kintone.app.record.getHeaderMenuSpaceElement().appendChild(myDetailButton);
});
})();
【参考にしたURL】
https://cybozudev.zendesk.com/hc/ja/community/posts/115019864143
上記を参考にするも、
・POSTしたレコードのIDを取得できない(GETしたレコードのIDが取得される)
・POSTしたレコードに遷移できない
という状態です。
お知恵を貸してくださいますと幸いです。