お世話になります。
フォーム上に5つのサブテーブルがあり、そのサブテーブル内の判定区分として
「〇、△、×」から選択できるドロップボックスが1つずつ配置されています。
各サブテーブルごと行が何行か追加されていて、その行の△と×の数を
レコード追加/編集時にフォームの下部で集計、出力しています。
そこで最初のサブテーブル1のコードを書いて、動いてはいるのですが、
残り4つ分、コメントの★から★までをコピーして一部変更してペーストするという方法よりも
良い方法はないか今後サブテーブルが増える可能性がありますので、ご教示いただけますと幸いです。
またフィールドコードを配列などに入れる対応はエラーになり、うまく動きませんでした。
よろしくお願いいたします。
補足:
サブテーブルのフィールドコード:table_1,table_2,table_3,table_4,table_5
ドロップボックスのフィールドコード:judge_1,judge_2,judge_3,judge_4,judge_5
△の集計(文字列)のフィールドコード:cnt_triangle
×の集計(文字列)のフィールドコード:cnt_cross
参考:
https://developer.cybozu.io/hc/ja/community/posts/360043211712-フィールドコードを配列に入れてループ処理をしたい
(function() {
"use strict";
var events = [
'app.record.create.submit',
'app.record.edit.submit'
];
kintone.events.on(events, function(event) {
var record = event.record;
var count = 0;
var countTriangle = 0;
var countCross = 0;
// テーブルtable_1の列judge_1が△か×の場合、その個数をカウント
// ★
count = record.table_1.value.length;
for( var i = 0; i < count; i++ ){
if (record.table_1.value[i].value.judge_1.value=='△'){
countTriangle = countTriangle+ 1
}
if (record.table_1.value[i].value.judge_1.value=='×'){
countCross = countCross + 1
}
}
// ★
/* ここにテーブル2~5の判定もループも入る */
record['cnt_triangle'].value = countTriangle
record['cnt_cross'].value = countCross
return event;
});
})();