スマホでアプリのデータを別のアプリに引き継ぎたい

詳細画面にボタンを設置し、ボタンを押下するとレコード内の情報を

別のアプリに引き継ぐと言うような処理を行いたいです。

PC版では問題なく動いており、スマホでは動作しません。

スマホだと、どうように書けば動作するのでしょうか。

 

(function() {
'use strict';
//kintone.events.on('mobile.app.record.index.show', function(event) {
kintone.events.on('mobile.app.record.detail.show', function(event) {
var field_check = event.record.ID.value;
if (!field_check) {
return;
}


//ボタンの設置
var myButton = document.createElement('button');
myButton.id = 'my_button';
myButton.innerHTML = '活動履歴';
myButton.onclick = function() {
var related = 38;
//関連レコードの新規作成画面のURLへのジャンプ
var new_window = window.open("/k/" + related + "/edit");
new_window.addEventListener("load", function() {
window.postMessage(new_window.kintone !== null, location.origin);
});


window.addEventListener("message", (function() {
return function field_set() {
//新規レコード側のフィールドを指定してsetする
var new_app = new_window.kintone;
var new_record = new_app.app.record.get();
// 新規のアプリ画面のどの項目にどのデータを入れるか入れる
new_record.record.Kintone_Client_ID.value = field_check;
//ここから新規で開いたkintone画面にデータをデータをセット
new_app.app.record.set(new_record);
window.removeEventListener("message", field_set, false);
};
})(), false);
};
kintone.mobile.app.getHeaderSpaceElement().appendChild(myButton);
});
})();

こんにちは!

試していないので想像で申し訳ないのですが、

 

var new_record = new_app.app.record.get();

や、

new_app.app.record.set(new_record);

ですが、appの前にmobileが抜けているからではないでしょうか!?

juridonさん

 

ご回答ありがとうございます。

 

ご指摘頂いた箇所を修正しても変わらず。。。

 

window.addEventListener("message", (function() {
return function field_set() {
console.log("companyyyy",Company)
//新規レコード側のフィールドを指定してsetする
var new_app = window.kintone;
var new_record = new_app.mobile.app.record.get();
console.log("new_app:",new_app,"new_record:",new_record)


// 新規のアプリ画面のどの項目にどのデータを入れるか入れる
new_record.record.Kintone_Client_ID = field_check;
new_record.record.Company.value = Company;

//ここから新規で開いたkintone画面にデータをデータをセット
new_app.mobile.app.record.set(new_record);
window.removeEventListener("message", field_set, false);
};
// })(), false());
})(), console.log("false"));

consoleにはエラーは出てないのですが、

console.log(“false”)を先に読んでるのですかね?

JSが全く分からず申し訳ないのですが、解決の糸口かなにかがわかれば幸いです。

こんばんは!

申し訳ありません:sweat_drops:コメントを見落としておりました(汗)
その後いかがでしょうか!?

もしかしたらですが、JavaScriptでなくてもアクションボタンで実現できないでしょうか:eyes:!?
↓アクションボタこちらです
https://jp.cybozu.help/k/ja/user/app_settings/appaction/set_appaction.html