ポータルツールにフィルタを適用

2Reading Time

ポータルツールを使用して、画面に関連するリストを表示することはよくあります。例えば「顧客」画面にその顧客の請求情報を表示するなど。

そのポータルツールにフィルタを適用し、ステータスが、「支払い済み」のものをひょじするなどに使うフィルタの設定方法です。

ポータルツールに単一のフィルターを適用する場合

フィルタ

フィルタを適用するポータルツールをダブルクリックします。

フィルター2

①「ポータルレコードのフィルタ」にチェックを入れます。

②フィルタの対象となるフィールド、ここでは「ステータス」を選択し、「= “請求済み”」と設定します。このことで、ステータスに「請求済み」と入っているものを抽出することができます。

あとは、「OK」を押して完了。

 

フィルターの値をプルダウンなどで変更する場合

グローバルフィールドの作成

フィルターとするステータスの値を格納するために「グローバル」フィールドを使います。

グローバルフィールドの作成

顧客に紐づいている請求書のデータをフィルタリングするので、グローバルフィールドは顧客、ここでは「Customer」テーブルに作成します。

ここでは、ステータスに関連するフィールド「xステータス」フィールドを作成しました。

 

条件を選択するポップアップメニューの作成

グローバルリンク - ポータルツールにフィルタを適用

①フィルターを選択するポップアップを作成します。

②コントロールスタイルで「ポップアップメニュー」を選択し、値一覧として「ステータス」を選択します。こちらは、請求書でフォームで設定した「ステータス」と同じものです。

 

ポータルレコードのフィルター条件式の設定

フィルター条件の設定

ポータルツールをダブルクリックし、「ポータルレコードのフィルタ」で、条件式を指定します。

ここでは、請求書テーブル(INVOICES_customers)の「ステータス」と先ほど作成した顧客テーブル(CUSTOMERS)の「xステータス」が「=」のものという条件式になります。

 

画面のリフレッシュの設定

これで基本的な設定は終わりましたが、ステータスをかえてみても内容が変わりません。

画面の再表示

「レコード」メニューの「ウィンドウ内容の再表示」をするとフィルタが適用されますが、いちいちこの作業を行うわけにもいきませんので、スクリプトを作成し自動的に実行します。

 

ウィンドウ再表示のスクリプト作成

グローバルリンク - ポータルツールにフィルタを適用

①「スクリプト」メニューの「スクリプトワークスペース」を選択し、②新規追加を選択します。

スクリプトに「ウィンドウ内容の再表示」をダブルクリックして選択し、オプションに「キャッシュ結合結果を書き込む」を選択します。

 

スクリプトトリガの設定

作成したスクリプトを動かすための「トリガ」の設定が必要です。

スクリプトトリガの設定

トリガを設定する「ステータス」を選択し、「書式」の「スクリプトトリガ設定」を選択します。

スクリプトトリガ設定

①トリガの一覧から「OnObjectSave」をクリックし、②先ほど作成したスクリプトである「画面再表示」を指定します。後はOKで設定を終了します。

グローバルリンク - ポータルツールにフィルタを適用

スクリプトトリガが設定されているマークがつきます。