「Cannot read property 'value' of undefined」エラー対応について

いつもお世話になっております。

エラーの対応方法について教えてください。

現在、他のアプリに一括レコード登録するためのアプリを作成しています。

POSTは問題なく出来ているのですが、「Cannot read property ‘value’ of undefined」のエラーが消せず、レコードの登録ができず困っています。

こちらのコミュニティでよくREST APIは非同期処理だから上手くいかないという内容を目にしますが、こちらもそれが原因でしょうか?

エラーになっている箇所をコンソールに出力してみても問題なくできるのに、‘value’ of undefinedと出るので頭を抱えています。。。

ご教示お願いいたします。

下記、コードの一部です。

(function(){

    "use strict";

    kintone.events.on(["app.record.create.submit", "app.record.edit.submit"], function(event){

        var record = event.record;

        var table = record.Table.value;

    for(var i = 0 ; table.length >= 0 ; i++){

        //↓ここでエラーになります
        if(table[i].value.radio.value == '法定調書' && table[i].value['check_1']['value'] ==  '法定調書'){

            var body = {

                "app" : 126,

                "record" : {

                    "担当者":{

                        "value" : record.担当者.value

                    },

          

                    "radio" :{

                        "value" : "法定調書"

                    },

                    "会社名" : {

                        "value" : table[i].value.会社名.value

                    },

                    "チェックボックス_1" : {

                        "value" : ["法定調書"]

                    },

                    "ドロップダウン_6" : {

                        "value" : "有"

                    },

                }

            }

            kintone.api(kintone.api.url('/k/v1/record', true), "POST", body,function(resp){

                console.log(resp);

            },function(error){

                console.log(error);                

            });

        };

こんにちは。

少し気になったところですが、for文の以下の部分かもしれないです。

table.length >= 0
↓
table.length \> 0  
  
table[i].value['check\_1']['value'] ==  '法定調書'  
↓  
table[i].value['check\_1']['value'].indexOf('法定調書') != -1  

テーブルは配列なので、0から始まります。

今の状態だと最下行の更に下を見ようとしています。

それで、値(value)がないよって言われてるのでは・・・と

 

またtable[i].value[‘check_1’][‘value’]がチェックボックス?だった場合は

チェックボックスの値は配列なので、今の書き方ではif文を通らない気がします。

indexOfで含まれているかどうかの判断をされた方が良いと思います。

Ryokke様

コメントをいただきありがとうございます。

返信が遅くなり大変失礼いたしました。

試してみたのですが、エラーは変わらなかったです。T_T

急ぎのカスタマイズだったので今回は別の方法で対応しましたが、

教えていただいたことを参考に、他にも変なところがないか見てみたいと思います。

ありがとうございました。

今後ともよろしくお願いいたします。