モバイルでの日付・チェックボックスの自動更新

お世話になっておりませす。

「状況」の項目が「完了」になった際に経理関連の項目に自動で数値を入力するカスタマイズを行いたいと思っており、

下記コードで今まで問題なく動いていたのですが、数日前一度別の事で更新した際いきなり動かなくなり困っています。(何処を更新して動かなくなったかが不明。)

 

なおかつこちらと同様のカスタマイズでPC版は動作するのですが、モバイルでのみ「エラーが発生しました。入力値を確認してください。」と出ます。

調べた結果どうも支払方法が「現金集金」の場合に自動入力する「入金日」の日付でエラーが出ているようです。

色々いじってみたのですがどうやっても今まで通り動かず困っています。

 

・支払方法(ドロップダウン)

・状況(複数選択)

・金額(数値)

・入金日、入金予定日(日付) 

・入金確認(チェックボックス)

・その他(1行文字列)

 

どうか正常に動作するようにご教示頂ければと思います。

(function() {
 "use strict";

  var eventmbCH02 = ['mobile.app.record.edit.change.支払方法',
           'mobile.app.record.edit.change.状況',
           'mobile.app.record.edit.change.金額']
   kintone.events.on(mbCH02, function(event) {

    var record = event.record;
    var shiharai = record['支払方法'].value;
    var Shiharaimoney = record['金額']['value'];
    var houmonday = record['訪問日付']['value'];
    var nyukinCheck = record['入金確認']['value'];
    var defaultday = '1111-11-11'

    if (record['状況']['value'] == '完了') {
     switch( shiharai ) {
      //未定は全てリセット
      case '未定':
       record['入金確認']['value'] = [];
       record['入金予定日']['value'] = '';
       record['入金日']['value'] = defaultday;
       record['振込手数料']['value'] = '0';
       record['カード手数料']['value'] = '0';
       record['未回収金額']['value'] = '0';
       break;

      //現金集金と直収の場合は確認済みにチェック&入金日に訪問日付を入れる。
      // alert(record['入金日'].value);
      case '現金集金':
      case '直収':
       record['カード手数料']['value'] = '0';
       record['振込手数料']['value'] = '0';
       record['入金日']['value'] = houmonday;
       record['入金確認']['value'][0] = '確認済';
       record['未回収金額']['value'] = '0';
      break;


      case '事前振込':
      //確認済みにチェック入った場合の処理
       if (nyukinCheck.indexOf('確認済') != -1) {
        break;
        }else{
        record['入金予定日']['value'] = moment(houmonday).add(-1, 'days').format('YYYY-MM-DD');
        record['入金確認']['value'] = [];
        record['カード手数料']['value'] = '0';
        record['未回収金額']['value'] = Shiharaimoney;
       break;
       }


       case 'ご確認後すぐ':
        record['入金確認']['value'] = [];
        record['カード手数料']['value'] = '0';
        record['未回収金額']['value'] = Shiharaimoney;
        record['入金予定日']['value'] = moment(houmonday).add(8, 'days').format('YYYY-MM-DD');
       break;

       case '締支払い':
        record['入金確認']['value'] = [];
        record['入金予定日']['value'] = '';
        record['入金日']['value'] = defaultday;
        record['カード手数料']['value'] = '0';
        record['未回収金額']['value'] = Shiharaimoney;
       break;

       case 'カード払い':
        record['入金確認']['value'] = [];
        record['入金予定日']['value'] = '';
        record['入金日']['value'] = defaultday;
        record['未回収金額']['value'] = '0';
        record['カード手数料']['value'] = Shiharaimoney-(Math.round(Shiharaimoney/1.035));
       break;

       default:
       break;


      }//swichの閉じ
   }else{
    record['入金確認']['value'] = [];
    record['入金予定日']['value'] = '';
    record['入金日']['value'] = defaultday;
    record['振込手数料']['value'] = '0';
    record['カード手数料']['value'] = '0';
    record['未回収金額']['value'] = '0';
    }//ifの閉じ

  return event;
 });

})();

金沢さん

ぱっと見ただけでは、間違いの箇所はわかりませんね。

PC版は動作しているということですので、PC版をベースにモバイル版JavaScript を作り直してはいかがですか?

イベント名を変えるだけでよいと思います。

rex0220様

お返事が遅くなり申し訳ありません。

PC版をベースにイベント名の書き換えもおこなったのですが上手くいかなかったんです。

よくわからないエラーと思って全体的なプログラムの書き換え行ってみます。

コメントありがとうございました。