• Paranoid - курс по анонимности и безопасности в сети от команды codeby. Защита персональных данных, анонимность в сети интернет, настройка виртуальных машин, безопасная передача данных, анти форензика и еще много всего полезного. Подробнее ...

Evaluate и @ismember

MMN

Well-known member
11.12.2008
97
0
#1
объясните почему данная конструкция работает коректно
ChangRoles=Evaluate(|@IsMember("[Admin]";@UserRoles)|,doc)

а вот такая уже почему то не работет
ChangRoles=Evaluate(|@IsMember("[Admin]":"[Pr]";@UserRoles)|,doc)
всегда выдает 0
 

Omh

Lotus team
04.07.2007
2 210
1
#2
А
Код:
db.QueryAccessRoles
что не позволяет заюзать?
Зачем вообще использовать этот Evaluate в тех местах, где можно прекрасно обойтись без него?

Эта конструкция
Код:
ChangRoles=Evaluate(|@IsMember("[Admin]":"[Pr]";@UserRoles)|,doc)
вернёт единицу, только если у тебя обе роли сразу, а не какая либо из них.
 

nvyush

Lotus team
22.04.2009
2 317
0
#3
объясните почему данная конструкция работает коректно
ChangRoles=Evaluate(|@IsMember("[Admin]";@UserRoles)|,doc)

а вот такая уже почему то не работет
ChangRoles=Evaluate(|@IsMember("[Admin]":"[Pr]";@UserRoles)|,doc)
всегда выдает 0
Если хочется на собаках, то надо так:
ChangRoles=Evaluate(|!@IsNotMember("[Admin]":"[Pr]";@UserRoles)|,doc)
 

morpheus

скриптописец
07.08.2006
3 915
1
#4
если именно на собаках то может

( @UserRoles *= "[Admin]":"[Pr]" ) - означает что у юзера есть хотябы одна из этих ролей,

но если ЛС так как привел ОМХ
 

Omh

Lotus team
04.07.2007
2 210
1
#7
Если так приспичило делать через evaluate, то, кмк, вариант Morpheus'a проще и понятнее.