ポータル内のレコードを絞り込む

今回はポータル内に表示するレコードを特定の制限で絞りこむ方法を確認します。
今回は日付の制限をかけたいと思います。

大きく2つの方法があります

  1. [ポータルレコードのフィルタ] を使用
  2. リレーションシップを使用

詳しく説明していきます!

今回のテストファイル

見積を管理するカスタムAppがあります。
顧客のレイアウト上には、今までの見積の履歴一覧がポータル表示されています。

この時
見積作成日が2021/06/01 〜 2021/06/30 の情報だけをポータルに表示させます。

テーブル 2つ

  • 顧客
  • 見積

リレーションシップグラフ

[ポータルレコードのフィルタ] を使用

[ポータル設定]の[ポータルレコードのフィルタ] を使用して設定します。

[指定…]をクリックすると計算式を記述するダイアログが表示されます。
ここに、どんな条件で絞り込むか計算式で記入します。

手順を確認します。

  1. 2つのフィールドを作成
    ・g開始日付
    ・g終了日付
    をグローバルフィールドで作成します。タイプは日付です。
    グローバルフィールド専用のテーブルを作成し、そこに上記の2つのフィールドを作成していきます。

※ グローバルフィールドはリレーションに関係なく参照できるのでリレーションシップグラフは設定する必要がありません。

2.顧客レイアウトに「g開始日付」「g終了日付」フィールドを配置

3. 計算式を記述
計算[ポータル設定]の[ポータルレコードのフィルタ]にチェックを入れ [指定…]をクリックし計算式を記述します。

グローバルフィールド::g開始日付 ≤ 見積::日付 and
見積::日付 ≥ グローバルフィールド::g終了日付

以上で完了です。

リレーションシップを使用

リレーションシップを利用して設定します。
リレーションを設定するために必要なフィールドを作成します。

手順を確認します。

1. 2つのフィールドを作成
・g開始日付
・g終了日付
をグローバルフィールドで作成します。タイプは日付です。
今回はリレーションの条件にこの2つのフィールドを使用するので、顧客テーブルに上記のフィールドを作成します。

2.リレーションを設定します。
「見積」と「顧客」TOを結び、リレーション条件を設定します。

3.顧客レイアウトに「g開始日付」「g終了日付」フィールドを配置

以上で完了です。

いかがでしたか?同じ結果でも、様々な方法で実装することができます。
ご自分の目的に合わせて使い分けてみてください。
グローバルフィールドは色々な使い方ができてとても便利ですね😊

今後も、自身の学びについてアウトプットしていきたいと思います👍
初学者向けの内容ではありますが、今後ともよろしくです🙌

コメント

タイトルとURLをコピーしました