はじめに

kintoneの「関連レコード一覧」機能には、以下のような制約があります。

  • 「表示するレコードの条件」に指定できるのは1つのフィールドのみ

 → 複数のフィールドを使った条件設定(AND条件など)はできない。

  • 「さらに絞り込む条件」で使用できるのは固定値のみ

 → 自アプリ内の他のフィールドの値を比較対象として利用することはできない

(参考)kintoneヘルプ:[関連レコード一覧]の設定項目[表示するレコードの条件]に指定できるフィールド


この制約を回避する方法としては、複数のフィールドの値を結合した「キー項目」を作成し、そのフィールドを条件に指定することで、制約をある程度回避できる場合もあります。


ただし、以下のような課題が残ります。

  • 「&」演算子で結合可能なフィールドタイプに制限がある

  • 「○○を含む」「○○以上」などの条件設定には対応できない

このため、複雑な条件での関連レコード表示には限界があります。


この時、カスタマインであればやること「条件を組み立ててレコードを取得する」などのレコード取得をする「やること」と、やること「レコードの一覧をスペースに表示する」を活用することで、上記の制約を超えた、以下のような柔軟なレコードの絞り込みが可能です。

さらに、やること「レコードの一覧をスペースに表示する」はスマートフォン版画面でも利用可能です。基本機能の関連レコード一覧を使った場合よりも情報が見やすくなり、モバイルでの活用にも適しています。


完成イメージ


また、やること「テーブル行をレコードとして取得する」等を使用してテーブルの情報を取得すると、やること「レコードの一覧をスペースに表示する」を使って、内容を見やすくすることができます。


kintoneのアプリ設定

フォームの設定でスペースフィールドを配置し、要素IDを「kanren」と設定します。

※要素IDはお好みの文字列(半角英数)を指定してください。


カスタマインの設定


続いて、それぞれのカスタマイズを順に解説します。


1.レコードを表示させたい条件を指定

やること「なにもしない」を選択し、条件「追加画面・編集画面・詳細画面のいずれかを表示した時」を選択します。


続いて、「なにもしない」を選択し、条件「フィールドの値を編集して値が変わった時」を選択し、フィールド「日付、報告者、報告区分」を選択します。


【解説】

・今回は、表示するレコードの条件値として「日付、報告者、報告区分」の3つのフィールドを使用するため、いずれかのフィールドの値を編集して値が変わった時にもカスタマイズが動くように設定しています。


2.表示するレコードを絞り込むための日付を計算する

やること「日付を計算する」を選択し、基準日「日付」を選択、右辺値「-7」と入力、計算内容「○日後」を選択します。

条件「いずれかのアクションの実行が完了した時」を選択し、アクション「7,8」を選択します。

続いて、追加条件「フィールド値が空でないならば」を選択し、フィールド「日付」を選択します。

同じように、追加条件「フィールド値が空でないならば」を選択し、フィールド「報告者」を選択、追加条件「フィールド値が空でないならば」を選択し、フィールド「報告区分」を選択します。


3.表示するレコードを取得する

やること「条件を組み立ててレコードを取得する」を選択し、取得元アプリ「日報アプリ」を選択します。検索条件は下記の通り、設定します。

条件「他のアクションの実行が完了した時」を選択し、アクション「9」を選択します。


4.スペースフィールドに取得したレコードを表示する(表示レコードに関するコメントも合わせて表示)

やること「スペースに文字を表示する」を選択し、場所「kanren」を選択し、表示するテキスト「▼過去一週間、同一報告区分レコード」と入力します。

条件「他のアクションの実行が完了した時」を選択し、アクション「10」を選択します。


続いて、やること「レコードの一覧をスペースに表示する」を選択し、場所「kanren」を選択、レコード「10」を選択、表示するフィールド「日付、報告者、報告区分、タイトル、添付ファイル」を選択します。

条件「他のアクションの実行が完了した時」を選択し、アクション「11」を選択します。


以上でカスタマイズは完了です。


最後に

やること「レコードの一覧をスペースに表示する」は、テーブル内フィールドも表示可能です。

以下の記事も併せてご覧ください。


別アプリのテーブルを、関連レコードのように表示する方法

関連レコードをもっと便利に!他のアプリのテーブルとテーブル外のフィールドをスペースに表示する方法


以上です。


ドキュメントサポートページもぜひご活用ください。

また、ご不明点等ございましたら、チャットにてご質問ください!