条件として合計

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

今回なんですが、コードを教えてお願いいたします。

緑色を合計したいのですが、上手くできませんくて

—>V.I.Pと空白場合:一緒に合計すること

—>一般は一般だけで合計すること

 

(function () {
“use strict”;
kintone.events.on([‘app.record.create.submit’, ‘app.record.edit.submit’, “app.record.edit.show”, ‘app.record.detail.show’], function (event) {
var record = event.record;

var subTotals = new Array();
var tableRecords = event.record.テーブル.value;

// テーブル内の各レコードをカテゴリごとに集計する
for (var i = 0; i < tableRecords.length; i++) {
var category = tableRecords[i].value[‘typeab’].value;
if (!subTotals[category]) {
subTotals[category] = 0;
}
var price = tableRecords[i].value[‘price1’].value;
subTotals[category] -= -1 * price;
}
// 集計結果をスペースフィールドに表示する
var sum_bara = 0;
var sum_barb = 0;

event.record.ranka.disabled = true;
event.record.rankb.disabled = true;

sum_bara += subTotals[‘V.I.P’];
sum_barb += subTotals[‘一般’];

if (event.type === ‘app.record.create.submit’ || event.type === ‘app.record.edit.submit’) {
record.ranka.value = sum_bara;
record.rankb.value = sum_barb;
}
return event;
});
})();

湊くんさん

パッと見ると、
① subTotals[category] -= -1 * price;は subTotals[category] += priceと思います。
② 「集計結果をスペースフィールドに表示する」と書いてありますが、実際はスペースフィールドが使っていません。
③ event.record.ranka.disabled = true;について、フィールドの編集可/不可にしたいなら、
フィールドの編集可/不可を設定するをご参考ください。
④ sum_bara += subTotals[‘V.I.P’];は値段の加算処理が①と重複しています。

ご想定な利用シーンを見る限り、こちらの記事のストーリーとほぼ同じのように見えますので、

そちらはご参考になると思います。

hi akika,

解決出来ましたので、ありがとうございました。

hi akika, ソースコードを確認をお願い致します。、なんか 「外注見積小計」 と 「機材見積小計」の値をあっても、表示されませんでした。

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

(function () {
“use strict”;
kintone.events.on([‘app.record.create.submit’, ‘app.record.edit.submit’, “app.record.edit.show”, ‘app.record.detail.show’], function (event) {
var record = event.record;

var subTotals = new Array();
var tableRecords = event.record.案件.value;

for (var i = 0; i < tableRecords.length; i++) {
var category = tableRecords[i].value[‘bunruianken’].value;
if (!subTotals[category]) {
subTotals[category] = 0;
}
var price = tableRecords[i].value[‘見積金額’].value;
subTotals[category] -= -1 * price;
}
// var sum_bara = 0;
var sum_barb = 0;
var sum_barc = 0;
var sum_baraa = 0;
// var sum_baraaa = 0;

// event.record.見積小計.disabled = true;
// event.record.外注見積小計.disabled = true;
// event.record.機材見積小計.disabled = true;

// sum_bara += subTotals[‘案件’];
sum_baraa += subTotals[“undefined”];// dropdown [-----]
// sum_baraaa = sum_bara + sum_baraa;
sum_barb += subTotals[‘外注費’];
sum_barc += subTotals[‘機材費’];

if (event.type === ‘app.record.create.submit’ || event.type === ‘app.record.edit.submit’) {record.見積小計.value = sum_baraa;

if (sum_barb = “NaN”) {
record.外注見積小計.value = 0;
}
else

record.外注見積小計.value = sum_barb;
if (sum_barc = “NaN”) {
record.機材見積小計.value = 0;
}
else
record.機材見積小計.value = sum_barc;

}

return event;
});
})();