こんにちは、門田です。
先週末、初めてサバイバルゲームというものに挑戦しました。
若干ブームが過ぎ去った感じもしますが、相当盛り上がるので大人数で出かける際にはぜひ。(笑)
では今日は久しぶりにkintoneのアプリ作成について解説していきます。
といっても今更基本的なアプリの作り方を紹介するのではなく、自動計算機能に絞って説明していきます。
イメージとしては、エクセルの関数機能を想像してもらえればよいかと思います。
① 計算フィールドを利用した自動計算
では、具体的な説明を始めていきます。
今日設定していくアプリはこのようなものです。
アプリストアにある案件情報アプリをベースに、多少手を加えたものです.
金額とは単価×ユーザー数のことですが、いちいち計算して入力するのは大変ですよね。
これを勝手に計算してもらうために計算フィールドを使います!
計算フィールドの設定を以下のように行います。
計算式の作り方はほとんどエクセルの関数と同じなのですが、詳細が知りたいという方はこちらのページを参考にしてください。
ここで確認しておきたいのですが、計算式はフィールドコードを利用して作ります。
そのため、計算式に利用したい項目は、計算式内でわかりやすいようにフィールドコードを変更しておくことをオススメします。
設定はこれだけです。
ついでなので、もう一つ計算式を作ってみます。
扱う製品が複数あると、先ほど設定した金額項目も複数できますよね。
この複数ある金額を合計して、小計フィールドを設定します。
こんな感じです。
ここまでは特に苦戦することなくできるかと思います。
次の設定は、この小計から消費税を出していきます。
上の2つと同じように設定すれば、すぐにできちゃいそう。と思っていました。
消費税なので「金額×0.08」と入力してみます。
計算式を入力した瞬間、上手くいかないような気はしました・・・。
けれどもとりあえず保存し、確認。
単価とユーザー数に適当な数値を入力してみると、
小数で表示されています。
やっぱり普通の計算式ではダメなんですね。
金額、小計はきちんと計算式が反映されています!
② 文字列を利用した自動計算機能
消費税や税込価格を正しく表示する方法を探していきましょう。
kintoneヘルプを探していると、「自動計算を設定する」という項目を見つけました。
ヒントになりそう!というより答え!(笑)
文字列フィールドでYEN関数というものを利用すれば、四捨五入なんかも自動でやってくれるんですね。
これを参考に設定してみました。
上の説明では税込価格を出していますが、こちらは消費税のみを出したいので「×0.08」をしています。
「,0」というのは小数点以下の桁数のことで、「,1」とすれば小数第一位まで、「,2」とすれば小数第二位まで表示するということです。
これで設定完了をすると、
いい感じになってます!ちゃんと¥マークもつけてくれるんですね!
こうなると金額や小計に¥マークがついていないのが違和感。(笑)
ということで設定画面に戻り以下のような設定を。
そしてどうせだから税込価格も設定してしまおう。ということでやりました。
これはkintoneヘルプにある説明と全く同じことです。
これで全設定完了です。
もう一度レコードを見てみると、
上手くいきましたね!
単価とユーザー数を入力するだけで、金額・小計・消費税・合計と4項目も自動計算してくれるなんて!かなり便利!
③ おまけ―計算フィールドで消費税を計算する方法―
②では文字列フィールドを使って消費税を計算する方法を紹介しましたが、計算フィールドを使ってもできないことはないのです。
合計フィールドの設定を少し変えていきます。
以下のように計算フィールドを設定し、小数点以下の表示桁数に0と入力します。
これで実際のレコードを見てみると、
合計もきちんと整数表示されています。
(49153×1.08=53085.24なので小数点以下が切り捨てられているのです。)
ここであることに気づきました!
②で紹介した方法だと小数点以下を四捨五入しているのですが、今回の方法では小数点以下切り捨てなのです。
そもそも消費税って四捨五入なの?切り捨てなの?切り上げなの?
検索してみると事業者に委ねられているということですが、切り捨てられることが最も多いようです。
(初めて知りました・・・。正直今まで疑問を感じたこともなかったです。(笑))
ということで消費税計算は文字列でも計算フィールドでもどちらでも構わないというわけではなく、四捨五入の場合は文字列フィールド、切り捨ての場合は計算フィールドとしたほうがわかりやすいような気がします。
設定はここまでです。
エクセルの関数機能を使い慣れている人などは結構簡単だったと思います。
金額計算だけでなく、時間の計算も可能なので、タイムカードアプリなどに利用しても便利ですよね。
今日は消費税そのものについても勉強でき、とてもよかったです。(笑)