案件管理で最新の案件状況履歴を一覧画面で表示する方法
『案件管理で案件状況履歴を残す方法』では、案件状況の履歴をサブテーブルとして残す運用をする際に、日付降順で保存する方法を紹介いたしました。今回は、その方法をさらに進めて直近の状況を一覧画面で表示する方法をご紹介します。
Contents
一覧画面ではサブテーブルフィールドは表示されない
詳細画面を見る際は、その方法で問題ないのですが、kintoneの標準機能の場合、サブテーブルは一覧では展開表示されないため、各案件が動いているのか?停滞しているのか(または更新されてないのか?)を俯瞰的に見ることができません。
一覧画面ではサブテーブルは1レコードずつしか参照できない
利用するプラグイン
- rex0220 計算式プラグイン ※1
※1 rex0220プラグインは中華圏(中国大陸、香港、台湾)では、弊社がQYPSというブランドでサブスクリプション形式で提供しております。
最新○○フィールドの設定
添付ファイルを除いた、サブテーブル案件状況履歴の4フィールドと同じ設定で、通常のフィールドも用意します。説明を簡略化するため、フィールド名とフィールドコードは同じ、初期値は無し、必須は無しとします。
タイプ | フィールドコード | 選択肢 |
---|---|---|
日付 | 最新状況更新日 | |
ユーザー選択 | 最新状況報告者 | |
ドロップダウン | 最新活動内容 | 案件状況履歴の活動内容と同じ選択肢にする |
文字列(複数行) | 最新状況 |
計算式プラグインの設定
案件状況履歴の1行目の値を最新○○フィールドにコピーする計算式を設定します。
ランクを入力し、テーブルソートを行ってから、コピーする処理を実行
ランクを明示的に定義することで、案件状況履歴のソート処理後に、1行目のサブテーブルをコピーする処理が実行されます。
各フィールドのコピー計算式
ソート後、明細行が0になる場合も考慮して、計算式を実装します。
最新状況更新日
IF(EV_INFO("mode")="success"&&更新日時&&COUNTROW(案件状況履歴)>0,SUBTABLE(状況更新日,0),"")
最新状況更新者
IF(EV_INFO("mode")="success"&&更新日時&&COUNTROW(案件状況履歴)>0,SET_CODE(SUBTABLE(SEL_CODE(状況更新者,"array"),0)),SET_CODE(ARRAY()))
最新活動種類
IF(EV_INFO("mode")="success"&&更新日時&&COUNTROW(案件状況履歴)>0,SUBTABLE(活動種類,0),"")
最新状況
IF(EV_INFO("mode")="success"&&更新日時&&COUNTROW(案件状況履歴)>0,SUBTABLE(状況,0),"")
一覧画面の見え方
上記の設定をすることで一覧状況で最新の活動内容が確認できるようになります。