サイボウズのkintone(キントーン)には、料金プランとして次の2種類があります。
- ライトコース(月額780円/ユーザ)
- スタンダードコース(月額1500円/ユーザ)
スタンダードコースでは全ての機能を利用できますが、ライトコースではAPI、JavaScript・プラグイン・Webhookを利用できず、またアプリ数・スペース数・ゲストスペース数もスタンダードコースの1/5です。
kintoneを使い始める場合、まず30日間無料で試用を行い操作感や出来ることの確認を行い、気に入ったらライトコースで契約、さらにライトコースでは実現できない機能が必要な場合はスタンダードコースに変更するのが一般的な流れです。スタンダードコースにすればカスタマイズ・プラグインなどによりライトコースでは手の届かなかった部分も実現することが出来ますが、まずはライトコース(kintone標準機能)の機能を使い倒して、kintoneで「実現できること」「実現できないこと」「難しいこと」を理解するのが、業務改善に向けた活用に向けては大いに役立ちます。
そこで今回は、kintoneの標準機能では実現することが出来ない、ちょっとしたことについてご紹介します。まずはここを押さえておくだけでもkintone初心者から少し抜け出して、ライトコースでのアプリ作成や変更作業が捗るかと思います。参考になれば幸いです。
ラジオボタンに対して計算が使えない
kintoneには「計算」フィールドが用意されています。しかし、この計算フィールドはExcelのように色々な関数が用意されているわけではなく、基本的な四則演算や文字の連結、日付フォーマット変換を行うのに使うぐらいしかできません。使用できる演算子は次の通りです。
+, -, /, *, ^, &, SUM, YEN, DATE_FORMAT
<2020/01/10更新>
2020年1月のアップデートで、IF、AND、OR、NOR関数が追加となりました。追加された関数についてはこちらのページでまとめられています。
さて、基本的な演算は用意されているため、次のようにラジオボタンの選択によって計算結果を変えたいと思ったことは無いでしょうか?Aは数値フィールド、Bはラジオボタンフィールド、A*Bは計算式にA*Bを設定した計算フィールドです。
一見いけそうに思えますが、フォームの保存を行うとエラーとなります。やってみるとわかりますが、ラジオボタンフィールドに対しては計算が出来ません!
このように、「計算式に含まれるフィールドコードが存在しない、または形式が正しくありません。」というエラーが表示されます。理由としては単純で、ラジオボタンは計算フィールドでは計算対象になってないためです。ヘルプを見ると、計算式で参照できるフィールドとそのフィールドの値のデータ型として記載があります。
このように、ラジオボタンはありません。基本的な四則演算の計算をするのであれば、数値フィールドかルックアップフィールドを使うしかなさそうです。
この点はkintone標準機能として対応されるとうれしい部分ですね。もしラジオボタンの選択によって計算結果を変えて見せたい場合は、JavaScriptでカスタマイズをする必要があります。
カレンダー形式一覧はスペースに表示できない
アプリの一覧表示には、表形式・カレンダー形式・カスタマイズの3種類の表示形式があります。カレンダー形式はデフォルト表示が当月のため、予定表アプリなどを作成しておいてこの形式で作っておくことで、ぱっと見て何日にどんな予定があるかを把握することも可能です。
さて、カレンダー形式でスペースに表示しようと思ったことは無いでしょうか。スペースにグラフを配置することも出来るので、当然カレンダーも出来るだろう。そう思ってカレンダー形式の一覧をスペースに設定してみると、表形式の一覧が表示されてしまいます。
これはスペースの仕様のようです。キントーンヘルプページに注意点として次のような記載があります。
スペースやスレッドには、カレンダー形式の一覧は貼り付けられません。カレンダー形式の一覧を選択した場合、表形式で表示されます。
「レコードの表示形式」を「カスタマイズ」にした一覧は貼り付けられません。
スペースにカレンダー形式を貼り付けられればすごく便利なんだけれども・・・。これもkintone標準機能として対応されるとうれしい部分ですね。
数値フィールドに全角数値を入れても計算フィールドで計算してくれるが、保存時に数値フィールドで結局エラーとなる
これは使用していて中途半端だなと思う点です。
以下のように、数値フィールドと計算フィールド(計算式は数値*数値)を用意したとします。全角で2を数値フィールドに入れると、計算フィールドは2×2=4を表示してくれます。全角数値でも計算フィールドは数値として計算してくれるところが便利です。
じゃあこのまま保存しようとすると・・・数値フィールドでエラーが発生します。
これは、まずメッセージが不親切ですね。数字で入れているのにこのメッセージが出てきてしまうと、「じゃあどうすればいいのか」ということになってしまいます。せめて「半角数字でなければなりません。」と表示してくれると分かりやすいです。数字=半角という認識は多くの人は持っていると思われますが、実際のユーザはPCになれていない人もいれば、数字入力の際に普段は全角文字を利用しているという方もおられます。意外に全角文字で数値を入れるケースというのは多く、弊社でも何度か問い合わせが来たことがありますので、数値フィールドなら保存時に自動的に数字を半角変換してくれるような機能が入っているといいですね。JavaScriptカスタマイズで自動変換させたり全角半角を自動変化するプラグインを利用すると、ストレス無くスムーズに入力することが出来るようになります。
数値フィールドが未入力だと計算フィールドが自動で0として計算してくれない
<2020/01/10更新>
2020年1月のアップデートで、未入力でも自動で0計算されるようになりました。
以下の記載は2019年1月11日以前の場合です。
これも数値フィールドに関してですが、数値フィールドに値を入れる→値を消す、という作業をすると、「#N/A!」と表示されます。
また、空欄の複数の数値フィールドに対する計算式を設定している計算フィールドも同様で、1つでも空欄だと「#N/A!」と表示されてしまいます。
これは、初めてkintoneを利用される方の多くが感じることですが、利用していて非常に不便だと思う部分です。回避するには数値フィールドにデフォルト値を設定しておくのが最も一般的かと思います。しかし、ユーザ側で空欄にされると計算フィールドが#N/A!になってしまいますので、合わせて必須項目設定をしておくのもよいでしょう。
しかし、数値フィールドを必須項目にはしたくない、けれども計算フィールドには正しい計算式を表示したいという場合があります。そのような場合は、計算フィールドを使わず、計算結果を表示する数値フィールドを用意してJavaScriptカスタマイズで計算した結果を表示させるという方法で解決可能です。弊社の場合、数値フィールドが変更された際に空欄だと、カーソルが他に移った際に自動的に0設定するような処理を入れて煩わしさを軽減するようなことをしています。
まとめ
これぐらいkintone標準機能でできないのか!と思う部分というが、kintoneを使い込んでいると見えてくるようになります。この点はkintoneの仕様として、別の方法を試してみましょう。変更要望としてサイボウズに出すのもいいかもしれませんね。他にも色々とkintone標準機能ではできない点がありますので、また別の機会にご紹介したいと思います。