下記のサイトを参考にkintoneの同一アプリ内でレコードをコピーするボタンをレコード詳細画面に設けましたが
遷移先の登録画面にチェックボックスの値だけコピーされません。
https://developer.cybozu.io/hc/ja/articles/115001441043#step8
【コピーボタン表示・処理を行うJavaScript】
(function() {
'use strict';
//申請ボタンを押したときの挙動
function onclickSendButton(event) {
var record = event.record;
var appId = kintone.app.getId();
var recordId = kintone.app.record.getId();
//セッションストレージにデータを保存
sessionStorage.setItem('pre_revsion', record.revsion.value);
sessionStorage.setItem('pre_app_id', appId); //アプリIDを保存
sessionStorage.setItem('pre_record_id', recordId); //レコード番号を保存
//申請を開く
var url = "/k/" + appId + "/edit?record=" + recordId;
window.location.href = url;
return;
}
//値を送信するボタンを追加する
function addSendButton(event) {
var space;
var button;
var sendButton;
space = kintone.app.record.getSpaceElement('btn_space_field');
button = document.createElement('input');
button.setAttribute('type', 'button');
button.setAttribute('id', 'send_data_button');
button.setAttribute('value', 'コピーする');
button.setAttribute('class', 'kintoneplugin-button-normal');
button.setAttribute('class', 'kintoneplugin-button-normal');
button.setAttribute('style', 'background-color: #FFCC00');
space.appendChild(button);
sendButton = document.getElementById('send_data_button');
sendButton.onclick = function() {
onclickSendButton(event);
};
return;
}
// レコード詳細画面表示時のイベント
kintone.events.on('app.record.detail.show', function(event) {
addSendButton(event);
});
})();
【コピーしたレコードを登録するJavaScript】
(function() {
'use strict';
kintone.events.on('app.record.create.show', function(event) {
// セッションストレージに値がない場合は抜ける
if (!sessionStorage.getItem('pre_revsion')) {
return;
}
var record = event.record;
// 版数番号を生成
var rev = sessionStorage.getItem('pre_revsion');
var revsion_no = parseInt(rev, 10) + 1;
//セッションストレージからデータを取得
record['revsion']['value'] = revsion_no;
//セッションストレージからデータを削除
sessionStorage.removeItem('pre_revsion');
return event;
});
})();
遷移元のレコード詳細画面からセッションストレージを使ってチェックボックスのフィールド(フィールド名:文書)の値を遷移先の登録画面に渡し、下記の通り登録画面のチェックボックス項目に値をセットすると「 event.record[‘文書’].value が不正です。」というエラーが表示されます。
※遷移元
sessionStorage.setItem(‘pre_doc’, record.文書.value);
↓
※遷移先
record[‘文書’][‘value’] = sessionStorage.getItem(‘pre_taikei’);
どなたか解決方法をお分かりになられる方がおられましたら、ご教示頂けると助かります。