У меня есть представление, в котором я хочу скрыть документы (позже вы увидите, что проблема не в документах, а в категоризированном представлении), доступных только для определенной роли.
Я постараюсь быть как можно более конкретным, поэтому не стесняйтесь задавать мне вопросы, если что-то непонятно.
Обратите внимание, что английский не является моим родным языком ;-)
У меня есть 4 разных типа документов, 3 (TypeA, TypeB и TypeC) видны всем, а 1 (TypeD) нужна определенная роль (например, [RoleD]).
Представление классифицируется по типу документа, и в каждом документе есть поля безопасности, которые предотвращают их просмотр, если у вас нет соответствующей роли. Поэтому, когда вы смотрите на представление, не являясь членом [RoleD], вы получаете следующий результат:
TypeA
Doc1
Doc2
Doc3
TypeB
Doc4
Doc5
TypeC
Doc6
Doc7
TypeD
{Empty}
Моя проблема в том, что хотя все документы TypeD скрыты, я также хочу скрыть «категорию».
Я пробовал использовать некоторые условия в выборе представления, чтобы выбирать документы TypeD только тогда, когда пользователь является членом роли [RoleD], но безуспешно, используя @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
Надеюсь, это не слишком запутанно.
Спасибо за столь необходимую помощь.