@UserRoles (式言語)

サーバー上のデータベースまたはローカルの複製されたデータベースの場合は、現在のユーザーが持つロールのリストが返されます。ロールは、データベースのアクセス制御リスト内に定義されています。

構文

@UserRoles

戻り値

roles

文字列リスト。リスト内の各アイテムは、現在のデータベースで現在のユーザーが持っているロールの名前です。ロール名は角カッコで囲まれています。現在のデータベースがローカルであり、複製でない場合は、空の文字列 ("") が戻されます。

使用法

この関数は、列式、選択式、メールエージェント式、スケジュールが設定されたエージェント式では使用できません。

現在のユーザーに明示的に割り当てられたロールのみが返されます。現在のユーザーが含まれるグループに割り当てられているロールは返されません。

Web ユーザーがデータベースを開いている場合は、@UserRoles のロールのリストに $$WebClient が追加されます。

@UserRoles は、@UserNamesList で返される情報のサブセットを返します。

  1. 次の例では、現在のユーザーに割り当てられているロールが表示されます。ロールは角カッコで囲まれて表示されます。
    @UserRoles
  2. 次のコードを、[アクセス制御リスト] ダイアログボックスの [詳細] タブで [このデータベースのレプリカはすべて共通のアクセス制御リストを用いる] が選択されているデータベースの [New Document] アクションボタンに追加すると、[Manager] ロールが現在のユーザーに割り当てられていれば [Manager] フォームが開きます。それ以外の場合は、Notes アプリケーションの [Employee] フォームが開きます。
    @Command([Compose];"";@If(@IsMember("[Manager]";@UserRoles);"Manager";
    "Employee"))
  3. 次のサブフォーム式は、ユーザーが Web クライアントかどうかによって、別のサブフォームを選択します。WebClient ロールは自動的に作成されるロールで、角カッコで囲む必要はありませんが、先頭にドル記号を 2 つ付ける必要があります。
    @If(@IsMember("$$WebClient"; @UserRoles); "WebSubform"; "NotesSubform")

クロスリファレンス

LotusScript® NotesACLEntry クラスの Roles プロパティ

Java™ ACLEntry クラスの Roles プロパティ