【スマホアプリ版 iOSとandroidの挙動の違い】

お世話になります。

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

今回はスマホアプリ版でのiOSとandroidの挙動の違いについての相談です。

 

■実現したいこと

案件管理の売上金額を一覧画面で集計して、グラフ化する機能を実装しています。

 

■エラー

PCとandroidでは正確な数値が集計されるのですが、iOSだけ数値が異なります。iOSで集計される数値は毎回一致しています。

 

一応コードを掲載(関係ないところは消しています)しますが、煩雑なため中身に対してというよりkintoneでスマホ用にコードを書く上での注意点などがあればご教えて頂きたいです。例えば以下のような感じです。

【iOSとandroidの両方正確に動作させるにはこんな書き方を】

【iOS上での挙動の注意点】

ざっくりした質問で申し訳ないです。

なんとなく「出来高請求」のところの条件分岐が上手く行っていないんだろうなとは思っていますが、、、、

すみませんが、ご回答のほどよろしくお願いします。

(function() {
    "use strict";
  
    var oneTimeFlg = true;
    var chart1, chart2, chart3, chart4, chart5, chart6, chart7, chart8, chart9, chart10, tableC,tableO, tableE, tableE2, tableA;
    let now = moment();
    let thisYear = now.subtract(1, 'months').year();
    thisYear = Number(thisYear);
    let leadURL = "https://xxxxxxxx.cybozu.com/k/75/?query="
   
    // ローディング画面を出す関数
  function setLoading() {
///省略
    }
  
    // ローディング画面を消す関数
  function removeLoading() {
///省略
    }
  
    // data配列の中身を消す関数
    function refreshData(data) {
  ///省略
    }
   
    // user配列の中身を消す関数
    function refreshUser(user) {
  ///省略
    }
   
    //ボタン作成関数
    function createBotonn(){
  ///省略
    }
   
    // 全レコード取得関数
    function fetchRecords(appId, query, opt_offset, opt_limit, opt_records) {
  ///省略
    }
   
    //追記分point
    function getData(thisYear){
      setLoading();
      let ty_endManth = '"' + (thisYear+1) + "-02-01" + '"';
      let ty_startManht= '"' + thisYear + "-01-31" + '"';
      let ly_endManth = '"' + thisYear +"-02-01" + '"';
      let ly_startManth = '"' + (thisYear-1) + "-01-31" + '"';
      //2023-01-24T15:00:00Z == 2023-01-24T15
      // let ty_endManth = '"' + (thisYear+1) + "-01-31T14:59:00Z" + '"';
      // let ty_startManht= '"' + thisYear + "-01-31T15:00:00Z" + '"';
      // let ly_endManth = '"' + thisYear +"-01-31T14:59:00Z" + '"';
      // let ly_startManth = '"' + (thisYear-1) + "-01-31T15:00:00Z" + '"';
     
      fetchRecords(75, '集計用日時 < ' + ty_endManth + ' and 集計用日時 > ' + ty_startManht + ' or 出来高請求 in ("出来高請求") order by 集計用日時 asc')
      .then(function(canvas1Rec) {
            var data = [];
            data["2月"] = 0;
            data["3月"] = 0;
            data["4月"] = 0;
            data["5月"] = 0;
            data["6月"] = 0;
            data["7月"] = 0;
            data["8月"] = 0;
            data["9月"] = 0;
            data["10月"] = 0;
            data["11月"] = 0;
            data["12月"] = 0;
          data["1月"] = 0;
           
            fetchRecords(75, '集計用日時 < ' + ly_endManth + ' and 集計用日時 > ' + ly_startManth + ' or 出来高請求 in ("出来高請求") order by 集計用日時 asc')
            .then(function(canvas1Rec2) {
              data = refreshData(data);            
              let monthTotalE_ly = {feb:0, mar:0, apr:0, may:0, jun:0, jul:0, aug:0, sep:0, oct:0, nov:0, dec:0, jan:0};
              let profit_f_ly = {feb:0, mar:0, apr:0, may:0, jun:0, jul:0, aug:0, sep:0, oct:0, nov:0, dec:0, jan:0};
              let profit_h_ly = {feb:0, mar:0, apr:0, may:0, jun:0, jul:0, aug:0, sep:0, oct:0, nov:0, dec:0, jan:0};
  
              for (var j = 0; j < canvas1Rec2.length; j++) {
                if((canvas1Rec2[j].最終確認.value == '未確認' && !(canvas1Rec2[j].案件進捗.value =='工事完了' || canvas1Rec2[j].案件進捗.value =='請求書発行') && canvas1Rec2[j].出来高請求.value[0] !== '出来高請求') || canvas1Rec2[j].案件進捗.value == '失注' || !(canvas1Rec2[j].金額.value)){
                }else{
                  var jstDate2 = moment(canvas1Rec2[j].集計用日時.value).format("YYYY-MM-DD");
                  var date2 = jstDate2.split("-");
                  let area = canvas1Rec2[j].エリア.value;
                  if(canvas1Rec2[j].出来高請求.value[0] !== '出来高請求'){
                    switch(date2[1]){
                      case "02":
                      monthTotalE_ly['feb'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      if(area === "福山"){
                        profit_f_ly['feb'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      }else{
                        profit_h_ly['feb'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      }
                      break;
                      case "03":
                      monthTotalE_ly['mar'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      if(area === "福山"){
                        profit_f_ly['mar'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      }else{
                        profit_h_ly['mar'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      }                    
                      break;
                      case "04":
                      monthTotalE_ly['apr'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      if(area === "福山"){
                        profit_f_ly['apr'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      }else{
                        profit_h_ly['apr'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      }                    
                      break;
                      case "05":
                      monthTotalE_ly['may'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      if(area === "福山"){
                        profit_f_ly['may'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      }else{
                        profit_h_ly['may'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      }                          
                      break;
                      case "06":
                      monthTotalE_ly['jun'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      if(area === "福山"){
                        profit_f_ly['jun'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      }else{
                        profit_h_ly['jun'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      }      
                      break;
                      case "07":
                      monthTotalE_ly['jul'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      if(area === "福山"){
                        profit_f_ly['jul'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      }else{
                        profit_h_ly['jul'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      }                          
                      break;
                      case "08":
                      monthTotalE_ly['aug'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      if(area === "福山"){
                        profit_f_ly['aug'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      }else{
                        profit_h_ly['aug'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      }                          
                      break;
                      case "09":
                      monthTotalE_ly['sep'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      if(area === "福山"){
                        profit_f_ly['sep'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      }else{
                        profit_h_ly['sep'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      }                          
                      break;
                      case "10":
                      monthTotalE_ly['oct'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      if(area === "福山"){
                        profit_f_ly['oct'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      }else{
                        profit_h_ly['oct'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      }      
                      break;
                      case "11":
                      monthTotalE_ly['nov'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      if(area === "福山"){
                        profit_f_ly['nov'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      }else{
                        profit_h_ly['nov'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      }
                      break;
                      case "12":
                      monthTotalE_ly['dec'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      if(area === "福山"){
                        profit_f_ly['dec'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      }else{
                        profit_h_ly['dec'] += parseInt(canvas1Rec2[j].金額.value, 10);
                      }
                      break;
                      case "01":
                      if(date2[0] == thisYear){
                        monthTotalE_ly['jan'] += parseInt(canvas1Rec2[j].金額.value, 10);
                        if(area === "福山"){
                          profit_f_ly['jan'] += parseInt(canvas1Rec2[j].金額.value, 10);
                        }else{
                          profit_h_ly['jan'] += parseInt(canvas1Rec2[j].金額.value, 10);
                        }
                      }
  
                      break;
                    }
                  }else{
                    let table = canvas1Rec2[j].出来高請求情報.value;
                    if((jstDate2 >= moment(ly_endManth).format("YYYY-MM-DD"))){
                      console.log("来期にカウント")
                    }else if((jstDate2 >= moment(ly_startManth).format("YYYY-MM-DD")) && (jstDate2 <= moment(ly_endManth).format("YYYY-MM-DD"))){
                      table.forEach(val =>{
                        if((val.value.出来高請求月.value) && moment(val.value.出来高請求月.value).format("YYYY-MM-DD") <= moment(ly_startManth).format("YYYY-MM-DD")){
                          monthTotalE_ly['feb'] += parseInt(val.value.出来高請求金額.value, 10);
                          if(area === "福山"){
                            profit_f_ly['feb'] += parseInt(val.value.出来高請求金額.value, 10);
                          }else{
                            profit_h_ly['feb'] += parseInt(val.value.出来高請求金額.value, 10);
                          }
                        }else if((val.value.出来高請求月.value) && moment(val.value.出来高請求月.value).format("YYYY-MM-DD") >= moment(ly_startManth).format("YYYY-MM-DD") && moment(val.value.出来高請求月.value).format("YYYY-MM-DD") <= moment(ly_endManth).format("YYYY-MM-DD")){
                          var jstDate3 = moment(val.value.出来高請求月.value).subtract(9, 'h').format("YYYY-MM-DD");
                          var date2 = jstDate3.split("-");
                          switch(date2[1]){
                            case "02":
                            crossDataE[salesman]['feb'] += parseInt(val.value.出来高請求金額.value, 10);
                            monthTotalE_ly['feb'] += parseInt(val.value.出来高請求金額.value, 10);
                            if(area === "福山"){
                              profit_f_ly['feb'] += parseInt(val.value.出来高請求金額.value, 10);
                            }else{
                              profit_h_ly['feb'] += parseInt(val.value.出来高請求金額.value, 10);
                            }
                            break;
                            case "03":
                            monthTotalE_ly['mar'] += parseInt(val.value.出来高請求金額.value, 10);
                            if(area === "福山"){
                              profit_f_ly['mar'] += parseInt(val.value.出来高請求金額.value, 10);
                            }else{
                              profit_h_ly['mar'] += parseInt(val.value.出来高請求金額.value, 10);
                            }
                            break;
                            case "04":
                            monthTotalE_ly['apr'] += parseInt(val.value.出来高請求金額.value, 10);
                            if(area === "福山"){
                              profit_f_ly['apr'] += parseInt(val.value.出来高請求金額.value, 10);
                            }else{
                              profit_h_ly['apr'] += parseInt(val.value.出来高請求金額.value, 10);
                            }
                            break;
                            case "05":
                            monthTotalE_ly['may'] += parseInt(val.value.出来高請求金額.value, 10);
                            if(area === "福山"){
                              profit_f_ly['may'] += parseInt(val.value.出来高請求金額.value, 10);
                            }else{
                              profit_h_ly['may'] += parseInt(val.value.出来高請求金額.value, 10);
                            }
                            break;
                            case "06":
                            monthTotalE_ly['jun'] += parseInt(val.value.出来高請求金額.value, 10);
                            if(area === "福山"){
                              profit_f_ly['jun'] += parseInt(val.value.出来高請求金額.value, 10);
                            }else{
                              profit_h_ly['jun'] += parseInt(val.value.出来高請求金額.value, 10);
                            }
                            break;
                            case "07":
                            monthTotalE_ly['jul'] += parseInt(val.value.出来高請求金額.value, 10);
                            if(area === "福山"){
                              profit_f_ly['jul'] += parseInt(val.value.出来高請求金額.value, 10);
                            }else{
                              profit_h_ly['jul'] += parseInt(val.value.出来高請求金額.value, 10);
                            }
                            break;
                            case "08":
                            monthTotalE_ly['aug'] += parseInt(val.value.出来高請求金額.value, 10);
                            if(area === "福山"){
                              profit_f_ly['aug'] += parseInt(val.value.出来高請求金額.value, 10);
                            }else{
                              profit_h_ly['aug'] += parseInt(val.value.出来高請求金額.value, 10);
                            }
                            break;
                            case "09":
                            monthTotalE_ly['sep'] += parseInt(val.value.出来高請求金額.value, 10);
                            if(area === "福山"){
                              profit_f_ly['sep'] += parseInt(val.value.出来高請求金額.value, 10);
                            }else{
                              profit_h_ly['sep'] += parseInt(val.value.出来高請求金額.value, 10);
                            }
                            break;
                            case "10":
                            monthTotalE_ly['oct'] += parseInt(val.value.出来高請求金額.value, 10);
                            if(area === "福山"){
                              profit_f_ly['oct'] += parseInt(val.value.出来高請求金額.value, 10);
                            }else{
                              profit_h_ly['oct'] += parseInt(val.value.出来高請求金額.value, 10);
                            }
                            break;
                            case "11":
                            monthTotalE_ly['nov'] += parseInt(val.value.出来高請求金額.value, 10);
                            if(area === "福山"){
                              profit_f_ly['nov'] += parseInt(val.value.出来高請求金額.value, 10);
                            }else{
                              profit_h_ly['nov'] += parseInt(val.value.出来高請求金額.value, 10);
                            }
                            break;
                            case "12":
                            monthTotalE_ly['dec'] += parseInt(val.value.出来高請求金額.value, 10);
                            if(area === "福山"){
                              profit_f_ly['dec'] += parseInt(val.value.出来高請求金額.value, 10);
                            }else{
                              profit_h_ly['dec'] += parseInt(val.value.出来高請求金額.value, 10);
                            }
                            break;
                            case "01":
                            if(date2[0] == thisYear){
                              monthTotalE_ly['jan'] += parseInt(val.value.出来高請求金額.value, 10);
                              if(area === "福山"){
                                profit_f_ly['jan'] += parseInt(val.value.出来高請求金額.value, 10);
                              }else{
                                profit_h_ly['jan'] += parseInt(val.value.出来高請求金額.value, 10);
                              }
                            }
                            break;
                          }
                        }         
                    });
                    }
                  }
                }
              }
           
                       
              //クロス集計表(〇)のデータ作成
              let crossDataE = {};
              let crossDataA = {};
              let monthTotalE = {feb:0, mar:0, apr:0, may:0, jun:0, jul:0, aug:0, sep:0, oct:0, nov:0, dec:0, jan:0, total:0};
              let monthTotalA = {feb:0, mar:0, apr:0, may:0, jun:0, jul:0, aug:0, sep:0, oct:0, nov:0, dec:0, jan:0, total:0};
              let salesman;
              let profit_f = {feb:0, mar:0, apr:0, may:0, jun:0, jul:0, aug:0, sep:0, oct:0, nov:0, dec:0, jan:0, total:0};
              let profit_h = {feb:0, mar:0, apr:0, may:0, jun:0, jul:0, aug:0, sep:0, oct:0, nov:0, dec:0, jan:0, total:0};
             
              for (var f = 0; f < canvas1Rec.length; f++) {
                if(canvas1Rec[f].営業.value.length === 0 || (canvas1Rec[f].最終確認.value == '未確認' && !(canvas1Rec[f].案件進捗.value =='工事完了' || canvas1Rec[f].案件進捗.value =='請求書発行') && canvas1Rec[f].出来高請求.value[0] !== '出来高請求') || canvas1Rec[f].案件進捗.value == '失注' || !(canvas1Rec[f].金額.value)){
                }else{
                  salesman = canvas1Rec[f].営業.value[0].name;
                  if(!(salesman in crossDataE)){
                  crossDataE[salesman] = {feb:0, mar:0 ,apr:0 ,may:0 ,jun:0 ,jul:0, aug:0, sep:0, oct:0, nov:0, dec:0, jan:0, total:0};
                }
                  var jstDate3_1 = moment(canvas1Rec[f].集計用日時.value).format("YYYY-MM-DD");
                  var date5 = jstDate3_1.split("-");
                  let area = canvas1Rec[f].エリア.value;
                  if(canvas1Rec[f].出来高請求.value[0] !== '出来高請求'){
                    switch(date5[1]){
                      case "02":
                      crossDataE[salesman]['feb'] += parseInt(canvas1Rec[f].金額.value, 10);
                      monthTotalE['feb'] += parseInt(canvas1Rec[f].金額.value, 10);
                      if(area === "福山"){
                        profit_f['feb'] += parseInt(canvas1Rec[f].金額.value, 10);
                      }else{
                        profit_h['feb'] += parseInt(canvas1Rec[f].金額.value, 10);
                      }
                      break;
                      case "03":
                      crossDataE[salesman]['mar'] += parseInt(canvas1Rec[f].金額.value, 10);
                      monthTotalE['mar'] += parseInt(canvas1Rec[f].金額.value, 10);
                      if(area === "福山"){
                        profit_f['mar'] += parseInt(canvas1Rec[f].金額.value, 10);
                      }else{
                        profit_h['mar'] += parseInt(canvas1Rec[f].金額.value, 10);
                      }                    
                      break;
                      case "04":
                      crossDataE[salesman]['apr'] += parseInt(canvas1Rec[f].金額.value, 10);
                      monthTotalE['apr'] += parseInt(canvas1Rec[f].金額.value, 10);
                      if(area === "福山"){
                        profit_f['apr'] += parseInt(canvas1Rec[f].金額.value, 10);
                      }else{
                        profit_h['apr'] += parseInt(canvas1Rec[f].金額.value, 10);
                      }                    
                      break;
                      case "05":
                      crossDataE[salesman]['may'] += parseInt(canvas1Rec[f].金額.value, 10);
                      monthTotalE['may'] += parseInt(canvas1Rec[f].金額.value, 10);
                      if(area === "福山"){
                        profit_f['may'] += parseInt(canvas1Rec[f].金額.value, 10);
                      }else{
                        profit_h['may'] += parseInt(canvas1Rec[f].金額.value, 10);
                      }                          
                      break;
                      case "06":
                      crossDataE[salesman]['jun'] += parseInt(canvas1Rec[f].金額.value, 10);
                      monthTotalE['jun'] += parseInt(canvas1Rec[f].金額.value, 10);
                      if(area === "福山"){
                        profit_f['jun'] += parseInt(canvas1Rec[f].金額.value, 10);
                      }else{
                        profit_h['jun'] += parseInt(canvas1Rec[f].金額.value, 10);
                      }      
                      break;
                      case "07":
                      crossDataE[salesman]['jul'] += parseInt(canvas1Rec[f].金額.value, 10);
                      monthTotalE['jul'] += parseInt(canvas1Rec[f].金額.value, 10);
                      if(area === "福山"){
                        profit_f['jul'] += parseInt(canvas1Rec[f].金額.value, 10);
                      }else{
                        profit_h['jul'] += parseInt(canvas1Rec[f].金額.value, 10);
                      }                          
                      break;
                      case "08":
                      crossDataE[salesman]['aug'] += parseInt(canvas1Rec[f].金額.value, 10);
                      monthTotalE['aug'] += parseInt(canvas1Rec[f].金額.value, 10);
                      if(area === "福山"){
                        profit_f['aug'] += parseInt(canvas1Rec[f].金額.value, 10);
                      }else{
                        profit_h['aug'] += parseInt(canvas1Rec[f].金額.value, 10);
                      }                          
                      break;
                      case "09":
                      crossDataE[salesman]['sep'] += parseInt(canvas1Rec[f].金額.value, 10);
                      monthTotalE['sep'] += parseInt(canvas1Rec[f].金額.value, 10);
                      if(area === "福山"){
                        profit_f['sep'] += parseInt(canvas1Rec[f].金額.value, 10);
                      }else{
                        profit_h['sep'] += parseInt(canvas1Rec[f].金額.value, 10);
                      }                          
                      break;
                      case "10":
                      crossDataE[salesman]['oct'] += parseInt(canvas1Rec[f].金額.value, 10);
                      monthTotalE['oct'] += parseInt(canvas1Rec[f].金額.value, 10);
                      if(area === "福山"){
                        profit_f['oct'] += parseInt(canvas1Rec[f].金額.value, 10);
                      }else{
                        profit_h['oct'] += parseInt(canvas1Rec[f].金額.value, 10);
                      }      
                      break;
                      case "11":
                      crossDataE[salesman]['nov'] += parseInt(canvas1Rec[f].金額.value, 10);
                      monthTotalE['nov'] += parseInt(canvas1Rec[f].金額.value, 10);
                      if(area === "福山"){
                        profit_f['nov'] += parseInt(canvas1Rec[f].金額.value, 10);
                      }else{
                        profit_h['nov'] += parseInt(canvas1Rec[f].金額.value, 10);
                      }
                      break;
                      case "12":
                      crossDataE[salesman]['dec'] += parseInt(canvas1Rec[f].金額.value, 10);
                      monthTotalE['dec'] += parseInt(canvas1Rec[f].金額.value, 10);
                      if(area === "福山"){
                        profit_f['dec'] += parseInt(canvas1Rec[f].金額.value, 10);
                      }else{
                        profit_h['dec'] += parseInt(canvas1Rec[f].金額.value, 10);
                      }
                      break;
                      case "01":
                      if(date5[0] == thisYear+1){
                        crossDataE[salesman]['jan'] += parseInt(canvas1Rec[f].金額.value, 10);
                        monthTotalE['jan'] += parseInt(canvas1Rec[f].金額.value, 10);
                        if(area === "福山"){
                          profit_f['jan'] += parseInt(canvas1Rec[f].金額.value, 10);
                        }else{
                          profit_h['jan'] += parseInt(canvas1Rec[f].金額.value, 10);
                        }
                      }
  
                      break;
                    }
                    crossDataE[salesman]['total'] += parseInt(canvas1Rec[f].金額.value, 10);
                    monthTotalE['total'] += parseInt(canvas1Rec[f].金額.value, 10);
                    if(area === "福山"){
                      profit_f['total'] += parseInt(canvas1Rec[f].金額.value, 10);
                    }else{
                      profit_h['total'] += parseInt(canvas1Rec[f].金額.value, 10);
                    }
                    // moment(canvas1Rec[f].集計用日時.value).subtract(9, 'h');
                  }else{
                    let table = canvas1Rec[f].出来高請求情報.value;
                    if((jstDate3_1 >= moment(ty_endManth).format("YYYY-MM-DD"))){
                      console.log("来期にカウント")
                    }else if((jstDate3_1 >= moment(ty_startManht).format("YYYY-MM-DD")) && (jstDate3_1 <= moment(ty_endManth).format("YYYY-MM-DD"))){
                      table.forEach(val =>{
                        if((val.value.出来高請求月.value) && moment(val.value.出来高請求月.value).format("YYYY-MM-DD") <= moment(ty_startManht).format("YYYY-MM-DD")){
                          crossDataE[salesman]['feb'] += parseInt(val.value.出来高請求金額.value, 10);
                          monthTotalE['feb'] += parseInt(val.value.出来高請求金額.value, 10);
                          crossDataE[salesman]['total'] += parseInt(val.value.出来高請求金額.value, 10);
                          monthTotalE['total'] += parseInt(val.value.出来高請求金額.value, 10);
                          if(area === "福山"){
                            profit_f['feb'] += parseInt(val.value.出来高請求金額.value, 10);
                            profit_f['total'] += parseInt(val.value.出来高請求金額.value, 10);
                          }else{
                            profit_h['feb'] += parseInt(val.value.出来高請求金額.value, 10);
                            profit_h['total'] += parseInt(val.value.出来高請求金額.value, 10);
                          }
                        }else if((val.value.出来高請求月.value) && moment(val.value.出来高請求月.value).format("YYYY-MM-DD") >= moment(ty_startManht).format("YYYY-MM-DD") && moment(val.value.出来高請求月.value).format("YYYY-MM-DD") <= moment(ty_endManth).format("YYYY-MM-DD")){
                          var jstDate3 = moment(val.value.出来高請求月.value).subtract(9, 'h').format("YYYY-MM-DD");
                          var date5 = jstDate3.split("-");
                          switch(date5[1]){
                            case "02":
                            crossDataE[salesman]['feb'] += parseInt(val.value.出来高請求金額.value, 10);
                            monthTotalE['feb'] += parseInt(val.value.出来高請求金額.value, 10);
                            if(area === "福山"){
                              profit_f['feb'] += parseInt(val.value.出来高請求金額.value, 10);
                            }else{
                              profit_h['feb'] += parseInt(val.value.出来高請求金額.value, 10);
                            }
                            break;
                            case "03":
                            crossDataE[salesman]['mar'] += parseInt(val.value.出来高請求金額.value, 10);
                            monthTotalE['mar'] += parseInt(val.value.出来高請求金額.value, 10);
                            if(area === "福山"){
                              profit_f['mar'] += parseInt(val.value.出来高請求金額.value, 10);
                            }else{
                              profit_h['mar'] += parseInt(val.value.出来高請求金額.value, 10);
                            }
                            break;
                            case "04":
                            crossDataE[salesman]['apr'] += parseInt(val.value.出来高請求金額.value, 10);
                            monthTotalE['apr'] += parseInt(val.value.出来高請求金額.value, 10);
                            if(area === "福山"){
                              profit_f['apr'] += parseInt(val.value.出来高請求金額.value, 10);
                            }else{
                              profit_h['apr'] += parseInt(val.value.出来高請求金額.value, 10);
                            }
                            break;
                            case "05":
                            crossDataE[salesman]['may'] += parseInt(val.value.出来高請求金額.value, 10);
                            monthTotalE['may'] += parseInt(val.value.出来高請求金額.value, 10);
                            if(area === "福山"){
                              profit_f['may'] += parseInt(val.value.出来高請求金額.value, 10);
                            }else{
                              profit_h['may'] += parseInt(val.value.出来高請求金額.value, 10);
                            }
                            break;
                            case "06":
                            crossDataE[salesman]['jun'] += parseInt(val.value.出来高請求金額.value, 10);
                            monthTotalE['jun'] += parseInt(val.value.出来高請求金額.value, 10);
                            if(area === "福山"){
                              profit_f['jun'] += parseInt(val.value.出来高請求金額.value, 10);
                            }else{
                              profit_h['jun'] += parseInt(val.value.出来高請求金額.value, 10);
                            }
                            break;
                            case "07":
                            crossDataE[salesman]['jul'] += parseInt(val.value.出来高請求金額.value, 10);
                            monthTotalE['jul'] += parseInt(val.value.出来高請求金額.value, 10);
                            if(area === "福山"){
                              profit_f['jul'] += parseInt(val.value.出来高請求金額.value, 10);
                            }else{
                              profit_h['jul'] += parseInt(val.value.出来高請求金額.value, 10);
                            }
                            break;
                            case "08":
                            crossDataE[salesman]['aug'] += parseInt(val.value.出来高請求金額.value, 10);
                            monthTotalE['aug'] += parseInt(val.value.出来高請求金額.value, 10);
                            if(area === "福山"){
                              profit_f['aug'] += parseInt(val.value.出来高請求金額.value, 10);
                            }else{
                              profit_h['aug'] += parseInt(val.value.出来高請求金額.value, 10);
                            }
                            break;
                            case "09":
                            crossDataE[salesman]['sep'] += parseInt(val.value.出来高請求金額.value, 10);
                            monthTotalE['sep'] += parseInt(val.value.出来高請求金額.value, 10);
                            if(area === "福山"){
                              profit_f['sep'] += parseInt(val.value.出来高請求金額.value, 10);
                            }else{
                              profit_h['sep'] += parseInt(val.value.出来高請求金額.value, 10);
                            }
                            break;
                            case "10":
                            crossDataE[salesman]['oct'] += parseInt(val.value.出来高請求金額.value, 10);
                            monthTotalE['oct'] += parseInt(val.value.出来高請求金額.value, 10);
                            if(area === "福山"){
                              profit_f['oct'] += parseInt(val.value.出来高請求金額.value, 10);
                            }else{
                              profit_h['oct'] += parseInt(val.value.出来高請求金額.value, 10);
                            }
                            break;
                            case "11":
                            crossDataE[salesman]['nov'] += parseInt(val.value.出来高請求金額.value, 10);
                            monthTotalE['nov'] += parseInt(val.value.出来高請求金額.value, 10);
                            if(area === "福山"){
                              profit_f['nov'] += parseInt(val.value.出来高請求金額.value, 10);
                            }else{
                              profit_h['nov'] += parseInt(val.value.出来高請求金額.value, 10);
                            }
                            break;
                            case "12":
                            crossDataE[salesman]['dec'] += parseInt(val.value.出来高請求金額.value, 10);
                            monthTotalE['dec'] += parseInt(val.value.出来高請求金額.value, 10);
                            if(area === "福山"){
                              profit_f['dec'] += parseInt(val.value.出来高請求金額.value, 10);
                            }else{
                              profit_h['dec'] += parseInt(val.value.出来高請求金額.value, 10);
                            }
                            break;
                            case "01":
                            if(date5[0] == thisYear+1){
                              crossDataE[salesman]['jan'] += parseInt(val.value.出来高請求金額.value, 10);
                              monthTotalE['jan'] += parseInt(val.value.出来高請求金額.value, 10);
                              if(area === "福山"){
                                profit_f['jan'] += parseInt(val.value.出来高請求金額.value, 10);
                              }else{
                                profit_h['jan'] += parseInt(val.value.出来高請求金額.value, 10);
                              }
                            }
                            break;
                          }
                          crossDataE[salesman]['total'] += parseInt(val.value.出来高請求金額.value, 10);
                          monthTotalE['total'] += parseInt(val.value.出来高請求金額.value, 10);
                          if(area === "福山"){
                            profit_f['total'] += parseInt(val.value.出来高請求金額.value, 10);
                          }else{
                            profit_h['total'] += parseInt(val.value.出来高請求金額.value, 10);
                          }
                        }
                       
                    });
                    }
                  }
                }
            }
             
              //クロス集計表(未確認)のデータ作成
              for (var ff = 0; ff < canvas1Rec.length; ff++) {
              if(canvas1Rec[ff].営業.value.length === 0 || canvas1Rec[ff].最終確認.value == '〇' || !(canvas1Rec[ff].金額.value) || canvas1Rec[ff].案件進捗.value == '工事完了' || canvas1Rec[ff].案件進捗.value == '失注' || canvas1Rec[ff].案件進捗.value == '請求書発行'  || canvas1Rec[ff].案件進捗.value == '見積'){
              }else{
                salesman = canvas1Rec[ff].営業.value[0].name;
                if(!(salesman in crossDataA)){
                // crossDataA.canvas1Rec[ff].営業.value[0].name = canvas1Rec[ff].営業.value[0].name;
                crossDataA[salesman] = {feb:0, mar:0 ,apr:0 ,may:0 ,jun:0 ,jul:0, aug:0, sep:0, oct:0, nov:0, dec:0, jan:0, total:0};
                }
                // var jstDate4 = moment(canvas1Rec[ff].集計用日時.value).add(9, 'h').format("YYYY-MM-DD");
                var jstDate4 = moment(canvas1Rec[ff].集計用日時.value).format("YYYY-MM-DD");
                var date6 = jstDate4.split("-");
                if(canvas1Rec[ff].出来高請求.value[0] !== '出来高請求'){
                  switch(date6[1]){
                    case "02":
                    crossDataA[salesman]['feb'] += parseInt(canvas1Rec[ff].金額.value, 10);
                    monthTotalA['feb'] += parseInt(canvas1Rec[ff].金額.value, 10);
                    break;
                    case "03":
                    crossDataA[salesman]['mar'] += parseInt(canvas1Rec[ff].金額.value, 10);
                    monthTotalA['mar'] += parseInt(canvas1Rec[ff].金額.value, 10);
                    break;
                    case "04":
                    crossDataA[salesman]['apr'] += parseInt(canvas1Rec[ff].金額.value, 10);
                    monthTotalA['apr'] += parseInt(canvas1Rec[ff].金額.value, 10);
                    break;
                    case "05":
                    crossDataA[salesman]['may'] += parseInt(canvas1Rec[ff].金額.value, 10);
                    monthTotalA['may'] += parseInt(canvas1Rec[ff].金額.value, 10);
                    break;
                    case "06":
                    crossDataA[salesman]['jun'] += parseInt(canvas1Rec[ff].金額.value, 10);
                    monthTotalA['jun'] += parseInt(canvas1Rec[ff].金額.value, 10);
                    break;
                    case "07":
                    crossDataA[salesman]['jul'] += parseInt(canvas1Rec[ff].金額.value, 10);
                    monthTotalA['jul'] += parseInt(canvas1Rec[ff].金額.value, 10);
                    break;
                    case "08":
                    crossDataA[salesman]['aug'] += parseInt(canvas1Rec[ff].金額.value, 10);
                    monthTotalA['aug'] += parseInt(canvas1Rec[ff].金額.value, 10);
                    break;
                    case "09":
                    crossDataA[salesman]['sep'] += parseInt(canvas1Rec[ff].金額.value, 10);
                    monthTotalA['sep'] += parseInt(canvas1Rec[ff].金額.value, 10);
                    break;
                    case "10":
                    crossDataA[salesman]['oct'] += parseInt(canvas1Rec[ff].金額.value, 10);
                    monthTotalA['oct'] += parseInt(canvas1Rec[ff].金額.value, 10);
                    break;
                    case "11":
                    crossDataA[salesman]['nov'] += parseInt(canvas1Rec[ff].金額.value, 10);
                    monthTotalA['nov'] += parseInt(canvas1Rec[ff].金額.value, 10);
                    break;
                    case "12":
                    crossDataA[salesman]['dec'] += parseInt(canvas1Rec[ff].金額.value, 10);
                    monthTotalA['dec'] += parseInt(canvas1Rec[ff].金額.value, 10);
                    break;
                    case "01":
                    if(date6[0] == thisYear+1){
                      crossDataA[salesman]['jan'] += parseInt(canvas1Rec[ff].金額.value, 10);
                      monthTotalA['jan'] += parseInt(canvas1Rec[ff].金額.value, 10);
                    }
                    break;
                  }
                  crossDataA[salesman]['total'] += parseInt(canvas1Rec[ff].金額.value, 10);
                  monthTotalA['total'] += parseInt(canvas1Rec[ff].金額.value, 10);
                  }else{
                    if((jstDate4 >= moment(ty_startManht).format("YYYY-MM-DD")) && (jstDate4 <= moment(ty_endManth).format("YYYY-MM-DD"))){
                        switch(date6[1]){
                        case "02":
                        crossDataA[salesman]['feb'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
                        monthTotalA['feb'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
                        break;
                        case "03":
                        crossDataA[salesman]['mar'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
                        monthTotalA['mar'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
                        break;
                        case "04":
                        crossDataA[salesman]['apr'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
                        monthTotalA['apr'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
                        break;
                        case "05":
                        crossDataA[salesman]['may'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
                        monthTotalA['may'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
                        break;
                        case "06":
                        crossDataA[salesman]['jun'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
                        monthTotalA['jun'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
                        break;
                        case "07":
                        crossDataA[salesman]['jul'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
                        monthTotalA['jul'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
                        break;
                        case "08":
                        crossDataA[salesman]['aug'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
                        monthTotalA['aug'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
                        break;
                        case "09":
                        crossDataA[salesman]['sep'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
                        monthTotalA['sep'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
                        break;
                        case "10":
                        crossDataA[salesman]['oct'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
                        monthTotalA['oct'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
                        break;
                        case "11":
                        crossDataA[salesman]['nov'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
                        monthTotalA['nov'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
                        break;
                        case "12":
                        crossDataA[salesman]['dec'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
                        monthTotalA['dec'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
                        break;
                        case "01":
                        if(date6[0] == thisYear+1){
                          crossDataA[salesman]['jan'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
                          monthTotalA['jan'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
                        }
                        break;
                    }
                    crossDataA[salesman]['total'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
                    monthTotalA['total'] += parseInt(canvas1Rec[ff].請求残高.value, 10);
                    }
  
                  }
            }
          }
          });
      });
  
     
    }
    kintone.events.on('mobile.app.record.index.show', function(event) {
        if (event.viewName === "集計表") {
          // let p = document.getElementById('year');
          // p.innerHTML = thisYear;
          getData(thisYear);
        }
        return event;
    });
  
  })();

なんでしょうね。

一つ一つのメソッドについて、MDNのブラウザーの互換性を見てみると良いかもしれません。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/if…else#%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E3%83%BC%E3%81%AE%E4%BA%92%E6%8F%9B%E6%80%A7

moment.jsとかvarとか非推奨の文法なども悪さをしているかもしれませんね。

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。