いつもお世話になっております。
同じ構成で一部の値が違うアプリが複数ある状態で、
実績を別のアプリに転送するJavaScriptを作成しております。
モバイルアプリから登録を行うにあたって、下記のコードを書きました。
(function() {
"use strict";
var 実績集計アプリID = 131;
var 自分のアプリID = 135;
kintone.events.on(['mobile.app.record.detail.show'], function(event) {
var record = event['record'];
// ドロップダウンでフラグ管理
var 完了確認 = record['完了確認']['value'];
var 実績転送 = record['実績転送']['value'];
// 完了確認フィールドが「完了」になっていて、実績転送フィールドが空の時
if (完了確認 === "完了" && 実績転送 === "") {
alert('実績未登録');
// 東京の売上データを実績集計アプリに登録
var 転送内容 = {
"app": 実績集計アプリID,
"record": {
"拠点": {
"value": '東京'
},
"買取金額": {
"value": record['買取金額']['value']
},
"出張日": {
"value": record['出張日']['value']
}
}
};
return kintone.api('/k/v1/record', 'POST', 転送内容).then(function(resp1) {
alert('実績登録が完了しました。');
// 登録ができたら実績転送フィールドを「済」にする
var 終了処理 = {
"app": 自分のアプリID,
"id": record['$id']['value'],
"record": {
"実績転送": {
"value": "済"
}
}
};
return kintone.api('/k/v1/record', 'PUT', 終了処理).then(function(resp2) {
alert('終了処理を行いました。');
}, function(error) {
alert('終了処理でエラーが発生しました。');
});
}, function(error) {
alert('実績転送にエラーが発生しました。データ内容を確認してください。');
});
}
});
})();
※実際作成しているアプリと若干項目名を変えている部分があります。
上記を実行したところ、処理が同期されておらず、
同じデータが2つ登録されることがありました。
せめて画面が更新されなければいいのですが、
どうやら自動で更新されているようで……
下記のどちらかが行えれば解決できると考えています。
①モバイルアプリで同期処理を行えるようにする
②オートリロードが行われないようにする
モバイルアプリでこのような処理は可能でしょうか。
または、別の解決策や運用方法がありましたら
お知恵を拝借できますと大変助かります。
(モバイルアプリにも「レコード保存時イベント」があれば一番いいのですが……)
よろしくお願いいたします。