特定のロールのみがアクセスできるドキュメントを非表示にしたいビューがあります (実際に問題を引き起こしているのはドキュメントではなく、分類されたビューであることが後でわかります)。
できる限り具体的にお答えするように努めますので、不明な点があれば遠慮なくご質問ください。
英語は私の第一言語ではないことに注意してください;-)
4 つの異なるタイプのドキュメントがあり、3 つ (TypeA、TypeB、TypeC) は全員に表示され、1 つ (TypeD) は特定のロール (例: [RoleD]) が必要です。
ビューはドキュメント タイプごとに分類され、適切な役割を持っていない場合にドキュメントが表示されないようにするセキュリティ フィールドが各ドキュメントにあります。したがって、[RoleD] のメンバーではないときにビューを見ると、次の結果が得られます。
TypeA
Doc1
Doc2
Doc3
TypeB
Doc4
Doc5
TypeC
Doc6
Doc7
TypeD
{Empty}
私の問題は、TypeD のすべてのドキュメントが非表示になっているにもかかわらず、「カテゴリ」も非表示にしたいということです。
ユーザーがロール [RoleD] のメンバーである場合にのみ TypeD ドキュメントを選択するように、ビューの選択でいくつかの条件を試しましたが、@If、@IsMember (および @IsNotMember)、および @UserRoles を使用しても成功しませんでした。結果は、私がロールのメンバーであっても、カテゴリとドキュメントが非表示 (?!?!?) であるという奇妙な結果です。
これが私がこれまでに試したことです:
Try #1
@If(@IsNotMember("[RoleD]";@UserRoles) ; DocTypeField != "TypeD" ; 1=1)
Try #2
@IsNotMember("[RoleD]";@UserRoles) & DocTypeField != "TypeD"
|
@IsMember("[RoleD]";@UserRoles) & 1=1
あまり混乱しないことを願っています。
大変お世話になりました。