新規投稿
フォローする

RESP APIのPOSTがモバイルで動作しない

以下のコードでレコードの追加ができるはずなのですが、モバイルで追加されません。

(PC環境 app.record.edit.change では追加できます。)

仕様を確認したのですが、kintone.app.getId , kintone.api , kintone.api.url 全て

PCとモバイルの両方で動作するとのこと。

途中の「月末使用量」のセットまでは動作しています。

問題個所がわかる方、ご教授をお願い致します。

(function () {
"use strict";
kintone.events.on(['mobile.app.record.edit.change.月末指針'], function (event){

    var record = event.record;

    if (!isNaN(record['月末指針'].value)) {
    
       var 月末指針 = Number(record['月末指針'].value);

       var 前月末指針 = Number(record['前月末指針'].value);

       // 月末使用量の計算
       var 月末使用量 = 月末指針 - 前月末指針;

       // 月末使用量のセット
       record['月末使用量'].value = 月末使用量;
       
       // **********************************************************
       // 今月の月末使用量が確定したら、翌月分の入力用データを作成
       //
       // 検針日付(翌月末日を算出してセット)
       // 区分、種別、検針項目、特記事項(当月分を転記)
       // 月末指針、月末使用量(null)
       // 前月末指針、前月末使用量(今月分をセット)
       // ********************************************************** 
       
       // 検針日付の翌月末日を算出
       var d1 = new Date(record['検針日付'].value);
       var d2 = new Date(d1.getFullYear(),d1.getMonth() + 2,0); //+2:翌月 getMonthは月-1を返す
       var 検針日付 = d2.getFullYear() + "-" + ("00" + (d2.getMonth()+1)).slice(-2) + "-" + ("00" + d2.getDate()).slice(-2);

       var 区分 = record['区分'].value;
       var 種別 = record['種別'].value;
       var 検針項目 = record['検針項目'].value;
       var 特記事項 = record['特記事項'].value;
       var 月末指針 = null;
       var 月末使用量 = null;
       var 前月末指針 = Number(record['月末指針'].value);
       var 前月末使用量 = Number(record['月末使用量'].value);

       const body = {
         'app': kintone.app.getId(),
         'record': {
            '検針日付': {'value': 検針日付},
            '区分': {'value': 区分},
            '種別': {'value': 種別},
            '検針項目': {'value': 検針項目},
            '特記事項': {'value': 特記事項},
            '月末指針': {'value': 月末指針},
            '月末使用量': {'value': 月末使用量},
            '前月末指針': {'value': 前月末指針},
            '前月末使用量': {'value': 前月末使用量}
         }
       };
       
       kintone.api(kintone.api.url('/k/v1/record.json', true), 'POST', body, (resp) => {
       // success
       }, (error) => {
       // error
       });

   
    } else {

       record['月末使用量'].value = "";
    
    }

return event;

});})();

0

2件のコメント

Avatar
mls-hashimoto

モバイル版のアプリID取得はkintone.mobile.app.getId()でなければなりません(他のkintone.api , kintone.api.urlはそのままで問題ありません)。

仕様 を確認されたとのことですが、そのように記載されています。

 

または、イベント内であれば

let appId = event.appId;

としてもアプリIDが取得できるので、こちらに変更しても良いかもしれません。

mls-hashimotoにより編集されました
1
Avatar
吉田

早速のご回答ありがとうございます。再度、PC/モバイル早見表を確認しましたらご指摘の通りでした。

mobileを追加して検証したところ問題なく動作しました。申し訳ありませんでした。

アプリID取得方法の件、勉強になりました。今後ともよろしくお願いいたします

 

1
サインインしてコメントを残してください。