ОБСУЖДЕНИЕ

Evaluate и @ismember

6 ответов 4,9 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Автор темы
объясните почему данная конструкция работает коректно
ChangRoles=Evaluate(|@IsMember("[Admin]";@UserRoles)|,doc)

а вот такая уже почему то не работет
ChangRoles=Evaluate(|@IsMember("[Admin]":"[Pr]";@UserRoles)|,doc)
всегда выдает 0
 
А
Код:
db.QueryAccessRoles
что не позволяет заюзать?
Зачем вообще использовать этот Evaluate в тех местах, где можно прекрасно обойтись без него?

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

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

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

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

но если ЛС так как привел ОМХ
 
а вот такая уже почему то не работет
ChangRoles=Evaluate(|@IsMember("[Admin]":"[Pr]";@UserRoles)|,doc)
всегда выдает 0
Потому что данная функция вернёт True только если ВСЕ элементы первого параметра есть во втором. См. хелп.
 
Если так приспичило делать через evaluate, то, кмк, вариант Morpheus'a проще и понятнее.
 

Статистика тем

Создано
MMN,
Последний ответ от
Omh,
Ответы
6
Просмотры
4 931