テーブル内のフィールド値取得について

□実現したいこと
テーブル内の特定のフィールド値(発注単価特価(※複数のテーブルあり))に空白がある場合、プロセスを留めておきたい。

□問題点
下記の部分でエラーになり、記述の仕方が間違ってありエラーになるが、正解が分からなくなっている。

if (event.record.tableNames[i].value[y].value.tokka.value = “”)

実行したコードをコピー&ペーストしましょう

(function () {
    kintone.events.on(['app.record.detail.process.proceed'], function (event) {

        var kubunA = event.record['その他製品・加工品選択'].value.join(",");
        var kubunB = event.record['伝導部品'].value.join(",");
        var kubunC = event.record['一般フィルタ1'].value.join(",");
        var kubunD = event.record['一般フィルタ2'].value.join(",");
        var kubunE = event.record['特定用途フィルタ'].value.join(",");
        var kubun = kubunA + ',' + kubunB + ',' + kubunC + ',' + kubunD + ',' + kubunE + ','

        var tableNames = ['', '定形ろ材のみTB1', '異形カット品平米算定TB2', '原反又はロールTB3', 'プレ枠ろ材定形TB7'];
        // var tableNames = ['定形ろ材のみTB1','異形カット品平米算定TB2','原反又はロールTB3','プレ枠ろ材定形TB7','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',];

        var zeroCount = 0;
        alert(kubun);

        if (event.action.value == '入荷確認済み') {
            if (event.record['発注価格'].value == '特価') {
                for (var i = 1; i < tableNames.length; i++) { //TB1から順番にみていく
                    if (kubun.indexOf('T' + i + ' ')) {//「T○○ 」が含まれていたら
                        for (var y = 0; y = tableNames[i].length; y++) {//各テーブル行の
                            var tokka = "発注単価特価TB";
                            var tokka = tokka + i;
                            alert(tokka);
                            if (event.record.tableNames[i].value[y].value.tokka.value = "") {//ここでエラーが出る。記述のしかたが違う?変数を割り当てることができない?
                                zeroCount++;
                                alert(zeroCount);
                            }
                        }
                    }

                }
                if (zeroCount < 0) {
                    if (!window.confirm('単価未入力の箇所があります。')) {
                        return false;
                    }
                }
            }
        }
        return event;
    });

})();

こんにちは。

テーブル内フィールドの値を参照する場合、以下の形式になります。

event.record.tableNames.value[y].value.tokka.value

各フィールドのデータ形式については、以下のページに記載されているので、
確認してみるといいかもです。

ko_ji様

早速のご回答ありがとうございます。
参考ページの紹介も助かりました。
以前はわからなかったことも、改めて見返すと理解できる部分が
増えていました。

「いいね!」 1

テーブルにアクセスするためのイメージは、画像が示されているのでここもわかりやすいかと思います

「いいね!」 1

mura様

参考ページ紹介頂きありがとうございます。
ツリーで表現され、サンプルもあることから理解しやすいです。

スクリーンショット 2024-03-19 080501

変数tokkaがif条件文内で読み込まれていないようです。
読み込ませるための条件などありますでしょうか。
宣言の際に型の宣言など必要?

変数で宣言しているフィールドコードを使用したい場合、
以下のような記載にすることで、読み込むことが可能ですよー

event.record.tableNames.value[y].value[tokka].value

参考情報:JavaScriptのオブジェクトのキーに変数の値を使うTips #JavaScript - Qiita

ko_ji様

回答頂きありがとうございます。

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