Read Article

計算時の”0入れなきゃいけない問題”をJavaScriptで解消する

計算時の”0入れなきゃいけない問題”をJavaScriptで解消する

暑いですね。トッティです。

kintoneはレコード内で四則演算や、べき乗といった計算ができる賢い子なのですが、一部”困ったちゃん”な側面もあります。今回はそんな、困った部分をJavaScriptで解消してみます。

※なお、現在はこの問題、プリントクリエイターに「数値が「0」のときに出力しない設定」を実装したことにより解消いたしました!!!ご案内の記事はこちらになります。

計算対象は全て埋めなければならない

そうですね、これがいわゆる「0入れなきゃいけない問題」ですね。kintone側で計算対象となっている数値フィールドが空だと、計算結果にエラーが出てしまうんですよ。

エラーが出ちゃう
エラーが出ちゃう

計算対象となるフィールドは空であることが許されません。なので、足し算の場合は”0″を入れなければなりません。

0を入れなければならない
0を入れなければならない・・・

これ、、面倒ですよね!?

もちろん、上記のようなアプリ構成ではなく、テーブル化しても良いのですが、無料の項目が出てきたら結果は同じです。これはもうkintoneの「計算」に任せていられません!こちらでJavaScriptにより勝手計算しましょう。

この部分を「計算」ではなく、「数値」で設置します
この部分を「計算」ではなく、「数値」で設置します

と、いうわけで計算フィールドを撤去し、数値フィールドに切り替えます。

矢印で指しているフィールドは全て「数値」フィールドにしました
矢印で指しているフィールドは全て「数値」フィールドにしました

で、下記JavaScriptで計算を制御します。

それぞれ単なる「数値」のフィールドなので、空のフィールドがあっても計算エラーは出ません。ただ、間違って入力されると嫌なフィールド(小計・消費税・合計)は、編集不可にしておきましょう。

このJavaScriptを読み込んで、空のフィールドがあった際の動きを見てみます。

after_js
やった!空フィールドがあってもエラーが出てない!

これで計算はできました!今回のミッションはクリアです。これをプリントクリエイターに適用して、帳票として出力してみます。

空でも"0"でも問題無し
空でも”0″でも問題無し

できあがりです!「0入れなきゃいけない問題」にお悩みの方の参考になれば嬉しいです。

※上記JavaScriptは挙動を保証するものではございません。また、JavaScript開発に関するお問い合わせにはお応えできかねますので、予めご了承ください。

それではまた。

この記事を書いた人

トッティ
トッティ
トッティです。「開発者ではない。でも、いろいろkintoneを使い倒したい!」そんなあなた、奇遇ですね、僕もです。非開発者としての高みを目指しつつ、その道程を共有致します。

今日も張り切って行きましょう。
URL :
TRACKBACK URL :

LEAVE A REPLY

*
*
* (公開されません)

Return Top