テーブル結合 IDO フィルタの例

これらの例は、 [行権限] フォームに適用されます。

顧客には CloudSuite Business ログインを作成済であり、顧客が自分のオーダのみを表示できるように(他の顧客のオーダは表示できないように)制限するとします。

まず、CloudSuite Business ユーザログインと顧客番号を接続するカスタム SQL テーブルを作成する必要があります。そのテーブルを CustLogin と命名し、以下の 2 つのカラムを含めます。custuser および custnum。顧客のログインとそれらに関連付けられた顧客番号をテーブルに入力します。

フィールド 設定 注記
IDO SLCos フィルタは SLCos IDO にのみ適用されます。(含めたい顧客情報の表示に必要な SLCoitems IDO などの他の IDO 用には、別個のフィルタを作成します。)
ユーザ   空白のままにして、フィルタを全てのユーザに適用します。フィルタの適用先のユーザを決定するには、テーブル参加を使用します。
グループ   空白のままにして、フィルタを全てのグループのユーザに適用します。
プロパティ custnum [顧客] フォームの [顧客] フィールドが SLCos.custnum プロパティにバインドされます。
(演算子) =  
この値 現在のユーザの参加先 この設定を使用して、テーブル参加を指定します。
このテーブル CustLogin これは、ユーザ ID と顧客番号との間のマッピングを含むカスタムテーブルです。このテーブルはアプリケーションデータベース内に存在する必要があります。
テーブルのこのカラムのユーザ名 custuser テーブルを指定すると、このドロップダウンリストにデータが入力されます。
このカラムの値 custnum これは、SLCos.custnum プロパティと比較される値です。

[この句の追加]をクリックすると、次のような擬似 SQL 照会が表示されます。


(CustNum = ANY (SELECT [cust_num] FROM [CustLogin] WHERE [CustLogin].[username] = dbo.UserNameSp()))

フィルタを有効にして保存したら、顧客ユーザが CloudSuite Business にログインし、SLCos IDO に(フォームからまたは Web ベースの IDO 呼出により)アクセスしようとすると、フィルタにより CustLogin テーブルのユーザ ID が検索され、一致する custnum が見つかれば、表示できる情報をその顧客番号があるレコードのみに制限します。

関連トピック