Cybozu developer networkのTipsのURL:

https://developer.cybozu.io/hc/ja/articles/202376464


一覧画面を開いた時「処理中」や「未処理」など特定の値のレコードの件数を表示できると、対応が必要なレコードの残数が一目でわかって便利ですよね。

今回は、条件に応じたレコード件数を一覧の上に表示するカスタマイズをご紹介します!

Customineの基本的な事柄は、こちらの「はじめてのカスタマイズ」をご参照ください。


アプリのフォーム

kintone側で、タスク管理アプリを準備します。

タイトル、詳細は文字列 (1行)フィールド、状態はドロップダウンを配置します。

状態の項目は、下記のように設定します。

  • 未処理

  • 処理中

  • 完了

フィールドコードはフィールド名と同じに設定しておきます。


やりたいこと

  • 一覧画面を開いた時、フィールド「状態」が「処理中」のレコード件数を表示する。

  • 一覧画面で「状態」を編集し、保存した時「処理中」のレコード件数を再表示する。



Customineの設定

Customineに「タスク管理」アプリのカスタマイズを追加します。

状態が「処理中」のレコードを取得する その1


やること

状態が「処理中」のレコードを取得したいので、「キーを指定してレコードを取得する」を選択します。

取得先アプリは「タスク管理」、キーとなるフィールドには「状態」を指定します。

「状態」が「処理中」のレコードを取得したいので、キーの値には「処理中」と入力します。


条件

一覧画面を表示したとき件数を取得したいので「一覧画面を表示した時」を選択します。

条件指定して取得したレコードの件数をカウントする その1


やること

「状態が「処理中」のレコードを取得する その1」で取得したレコードの件数をカウントしたいので「レコード行数をカウントする」を選択します。

レコード選択アクションには「1」を指定します。

結果をセットするフィールドは、何も指定せずにおいてください。


条件

「状態が「処理中」のレコードを取得する その1」でレコードの取得が完了してからカウントしたいので「他のアクションの実行が完了した時」を選択します。

アクションは「1」を指定してください。

カウントしたレコードの件数を表示する


やること

メニュー位置に文字を表示する」を選択します。

場所は、レコードのタイトルのすぐ上に表示したいので「一覧画面メニューの下側」を選択します。

表示位置は「レコード詳細メニューの上側」「一覧画面メニューの右側」など選べますので、試してみてください。

表示するテキストは「処理中のレコード件数:10」のように表示したいので「処理中のレコード件数:${$2}」と入力します。

「${$2}」と入力することで、アクション「2」の結果(今回は「条件指定して取得したレコードの件数をカウントする その1」でカウントした件数)を表示できます。


条件

アクション「条件指定して取得したレコードの件数をカウントする」でカウントが完了してから表示したいので「他のアクションの実行が完了した時」を選択します。

アクションは「2」を指定してください。


これで、一覧画面を表示したときに「処理中」のレコード件数を表示するカスタマイズができました。

「kintoneアプリへ登録」し、動作を確認してみましょう!

kintoneのタスク管理アプリにレコードを追加し、「処理中」のレコードの件数を確認します。

状態が「処理中」のレコード件数が表示されましたでしょうか?


一見完成したように見えますが、一覧画面で、「処理中」のレコードを「完了」に変更して保存してみると・・・

処理中のレコード件数は2件のままです。

画面を更新すれば正しい件数である1件になりますが、これでは少し不便です。

では、一覧画面で「状態」を変更した時にもレコード件数が正しく表示されるように、カスタマイズを追加しましょう!

状態が「処理中」のレコードを取得する その2


やること

状態が「処理中」のレコードを取得したいので、「キーを指定してレコードを取得する」を選択します。

取得先アプリは「タスク管理」、キーとなるフィールドには「状態」を指定します。

「状態」が「処理中」のレコードを取得したいので、キーの値には「処理中」と入力します。


条件

レコードを保存した時に件数を取得したいので「レコードを保存した直後(削除後は除く)」を選択します。

条件指定して取得したレコードの件数をカウントする その2


やること

「状態が「処理中」のレコードを取得する その2」で取得したレコードの件数をカウントしたいので「レコード行数をカウントする」を選択します。

レコード選択アクションには「7」を指定します。

結果をセットするフィールドは、何も指定せずにおいてください。


条件

「状態が「処理中」のレコードを取得する その2」でレコードの取得が完了してからカウントしたいので「他のアクションの実行が完了した時」を選択します。

アクションは「7」を指定してください。

レコード件数を変更後の件数に更新して表示する


やること

一覧画面を表示した時に表示したレコード件数を変更して表示したいので、「スペース・メニュー位置に表示した文字を変更する」を選択します。

変更元は、「カウントしたレコードの件数を表示する」のアクションを指定したいので「3」を指定します。

表示するテキストには「条件指定して取得したレコードの件数をカウントする その2」のカウント結果を表示したいので「処理中のレコード件数:${$8}」と指定します。


条件

アクション「条件指定して取得したレコードの件数をカウントする その2」でカウントが完了してから表示したいので「他のアクションの実行が完了した時」を選択します。

アクションは「8」を指定してください。


これでカスタマイズは完了です!

一覧画面で状態を変更し、レコード件数が更新されるか試してみてください。


まとめ

条件に一致するレコードの件数を一覧画面に表示するカスタマイズ、いかがでしたか?

一覧画面を使いやすくするために、ぜひお役立てください!

もし分からないことがありましたら、フォーラムの方でご質問ください。