複数 IDO フィルタの例
各販売担当者は CloudSuite Business ログインを持ちます。販売担当者は彼ら自身の販売機会を見ることができますが、現在、販売担当者が割り当てられていない機会も表示して、彼らがその機会を自分に割り当てることができるようにします。
新しいマッピングテーブルを作成する代わりに、slsman_mst テーブルの既存マッピングを利用できます。このテーブルには、username カラムと slsman カラムの両方があります。
SLOpportunities のフィルタには、2 つの句が必要です。
第 1 句
フィールド | 設定 | 注記 |
---|---|---|
IDO | SLOpportunities | フィルタは SLOpportunities IDO にのみ適用されます。(このフィルタ句の後に別のフィルタを OR で接続します) |
ユーザ | 空白のままにして、フィルタを全てのユーザに適用します。フィルタの適用先のユーザを決定するには、テーブル参加を使用します。 | |
グループ | 空白のままにして、フィルタを全てのグループのユーザに適用します。 | |
プロパティ | slsman | 機会フォームの [販売担当者] フィールドが SLOpportunities.slsman プロパティにバインドされます。 |
(演算子) | = | |
この値 | 現在のユーザの参加先 | この設定を使用して、テーブル参加を指定します。 |
このテーブル | slsman_mst | これは、username(ログイン ID)と slsman(販売担当者)のマッピングを含む既存の slsma_mstn テーブルです。 |
テーブルのこのカラムのユーザ名 | ユーザ名 | テーブルを指定すると、このドロップダウンリストにデータが入力されます。 |
このカラムの値 | slsman | これは、SLOpportunities IDO の slsman プロパティと比較される値です。 |
[
] をクリックすると、以下のような擬似 SQL 照会が表示されます。
Slsman = ANY (SELECT [slsman] FROM [slsman_mst] WHERE [slsman_mst].[username] = dbo.UserNameSp()))
第 2 句
フィールド | 設定 | 注記 |
---|---|---|
IDO | SLOpportunities | フィルタは SLOpportunities IDO にのみ適用されます。(この句を前のフィルタ句に「OR」で接続します。) |
ユーザ | 空白のままにして、フィルタを全てのユーザに適用します。 | |
グループ | 空白のままにして、フィルタを全てのグループのユーザに適用します。 | |
プロパティ | slsman | [機会] フォームの [販売担当者] フィールドが SLOpportunities.slsman プロパティにバインドされます。 |
(演算子) | = | |
この値 | リテラル | プロパティを隣接フィールドのリテラル値と比較します。 |
(リテラル) | このフィールドは空白のままにするか、NULL 値を示す null を指定します。null は、販売担当者が定義されていないどの機会とでも一致します。 | |
前の値とともに、AND 条件の代わりに OR 条件を使用 | (選択済) | OR 条件を指定するには、このボックスを選択 |
[
]をクリックすると、次のような擬似 SQL 照会が表示されます。
Slsman = ANY (SELECT [slsman] FROM [slsman_mst] WHERE [slsman_mst].[username] = dbo.UserNameSp())) OR (Slsman = null)
フィルタを有効化して保存したら、販売担当者が CloudSuite Business にログインし、機会 IDO に(フォームからまたは IDO への Web ベースの呼び出しにより)アクセスしようとすると、フィルタにより slsman_mst テーブルからログイン ID が検索され、その顧客番号を持つレコードしか表示されないように制限されます。ただし、OR 条件と上記の第 2 句により、販売担当者は、販売担当者が割り当てられていない機会のレコードも全て見ることができます。
関連トピック