テーブル内の「数値」に空欄が含まれる場合でも、合計を出したい。

注文書のアプリを作成しています。
テーブルを使って、デフォルトで、300点ぐらいの品種を入れておくケース(雛形を用意)、
ユーザが、ゼロから、テーブルを使って入力するケースなど、様々なケースを想定しています。

テーブル「Table_1」内に、フィールドコード「冊数_2」という、数値項目があります。
テーブル外に、フィールドコード「計算」という計算項目があります。

デフォルトで、300点ぐらいの品種を入れておくケースについては、
数値項目に「0」が入っていると、ユーザの入力が手間なので、「空欄」にしておきたいです。

ただ、「空欄」が含まれると、計算項目は、エラーになると思います。

そこで、以前、こちらのフォーラムに掲載されていたスクリプトを参考に、
以下のようなスクリプトを書いて、「空欄」が含まれていても、合計値が出るように出来ないか、試みました。

しかし、うまく、いきません。どなたか、お助け頂けないでしょうか。宜しくお願い致します。

(function() {
“use strict”;
var table = ‘Table_1’; //サブテーブルフィールドのフィールドコード
var number = ‘冊数_2’; //計算元のフィールドのフィールドコード
var sum = ‘計算’; //合計値のフィールドのフィールドコード
kintone.events.on([
‘app.record.create.show’,
‘app.record.create.submit’,
‘app.record.create.change.’ + table,
‘app.record.create.change.’ + number,
‘app.record.edit.show’,
‘app.record.edit.submit’,
‘app.record.edit.change.’ + table,
‘app.record.edit.change.’ + number,
], function(event){
event.record[sum].value = event.record[table].value.reduce(function(s, row){
return s + Number(row.value[number].value || 0);
}, 0);
return event;
});
})();

fxpradmin さん

合計値を表示している計算フィールドは kintone JavaScript API での値の書き換えができないため、

計算フィールドではなく、数値フィールドに変更してみてください。

その際、フィールドコードは計算フィールドに使用していた「計算」としてください。

HANSA様

コメント有り難うございます。

教えて頂いた方法で試したところ、考えていたとおりの挙動となりました!

有り難うございました!