kintone でアプリを作っていると、あるフィールドの値によっていろいろな処理をしたい、ということがよくあると思います。今回はフィールドの値によって必須になるフィールドを制御する、いわゆる条件付き必須チェックをカスタマイズで作成してみたいと思います。
Customineの基本的な事柄は、こちらの「はじめてのカスタマイズ」をご参照ください。
利用想定シーン
「あるフィールド」が「ある値の場合」に特別な運用ルールを作りたい、というケースは非常に多いと思います。今回このカスタマイズでは、アプリストアにある「案件管理」を利用してこれを実現する方法をご紹介します。
案件管理のアプリには、「確度」というフィールドと、活動履歴の中に「活動内容」というフィールドがあります。
「確度」が「A」のときには金額を確定しなければいけないというルールと、「活動内容」が「電話」のときにはメモを必ず入力しなければならない、というルールを実現するカスタマイズを作成してみます。
Customineの設定
それでは、この案件管理アプリに対してカスタマイズをしていきます。Customine のアプリ選択画面から、案件管理アプリを選択してカスタマイズの作成を始めます。
まずは「確度」が「A」のときの必須チェックを作成してみます。ここでは、確度がAだったら、単価とユーザー数を入力してもらうように促してみます。
ということで、まず条件から設定してみます。
- 「条件」に「レコードを保存する直前(削除時は除く)」を選択します
- 条件をさらに追加で、「フィールド値が特定の値ならば」を選択します
- この条件の「フィールド」には「確度」を選択します
- さらに「条件」には「等しい」を選択します
- 最後に「比較値」には「A」を入力します
以上で条件は完成です。
次にこの条件のときに動作する、必須チェックを実現してみましょう。
- 「やること」にカテゴリー:エラーチェックから、「必須チェックを行う」を選択します
- 「フィールド」には「単価」と「ユーザー数」を選択します(エラーメッセージが2箇所に出ますので、ユーザー数だけ選択でも良いかもしれません)
- 「エラーメッセージ」には「確度がAの場合は金額を確定してください。」などと入力しておきましょう
最終的にはこのような設定になります。
ここまでで一度、「kintoneアプリへ登録」して、レコードを作成してみてください。「確度」が「A」のときには金額を確定しなければいけないというルールが実現されていると思います。
この必須チェックは、一覧画面で鉛筆モードで編集した場合にも実行されますので、試してみてください。
テーブルの中の必須チェック
引き続き活動内容についての必須チェックを作成します。ここでは活動履歴の活動内容が電話のときにはメモを必ず入力してもらうように、メモフィールドを必須にします。
この活動履歴のようなテーブル内の必須チェックは、一覧画面で編集できない関係上、少し条件を加える必要があります。ほぼ上記の必須チェックと同じなのですが、更に条件を加えて上げる必要があります。
ということで今回も条件から先に設定してみます。
- 「条件」に「レコードを保存する直前(削除時は除く)」を選択します
- 条件を追加で、「現在の画面が編集画面ならば」を選択します。これで編集画面でのみこの必須チェックが動くようにします
- 条件をさらに追加で、「フィールド値が特定の値ならば」を選択します
- この条件の「フィールド」には「活動内容」を選択します
- さらに「条件」には「等しい」を選択します
- 最後に「比較値」には「電話」を入力します
以上で条件は完成です。
次にこの条件のときに動作する、必須チェックを設定します。
- 「やること」にカテゴリー:エラーチェックから、「必須チェックを行う」を選択します
- 「フィールド」には「メモ」を選択します
- 「エラーメッセージ」には「電話のときにはメモを必ず入力してください。」などと入力しておきましょう
最終的な設定はこのようになります。「kintoneアプリへ登録」して動きを確認してみてください。
編集画面で必須チェックが正しく動作しているかを確認した後、最後にこのアクションを複製して「現在の画面が編集画面ならば」を「現在の画面が追加画面ならば」に変更したアクションを追加しておきましょう。
これで、新規作成時と編集時に同じ必須チェックが動作するようになります。
まとめ
条件付き必須チェックのカスタマイズは以上になります。アプリ独自の運用ルールを簡単に作り込めることをご理解していただけたかと思います。
条件には現在の画面のほか、複数のフィールドの条件も追加することが出来ますので、ぜひお試しください。