Как получить права доступа или роль текущего пользователя для CRM?
В Битрикс24 права доступа гибко настраиваются для сотрудников разных должностей в зависимости от того, в какую группу пользователей добавлен данный сотрудник. Но в СРМ модуле права настраиваются отдельно в Настройках - Права доступа. Там создаются роли пользователей. Например предустановлены роли - менеджер, руководитель, администратор. Права настраиваются на доступ к сущностям СРМ - лидам, сделкам, счетам, коммерческим предложениям. Здесь можно разграничить доступ к клиентской базе по менеджерам или по отделам, чтобы менеджеры не могли видеть клиентов друг друга.
Как с помощью АПИ получать права текущего пользователя? Найдем ответ на этот вопрос в компоненте редактирования сделки или другой сущности.
$userPermissions = CCrmPerms::GetCurrentUserPermissions();
$permissions=$userPermissions->GetUserPerms();
Для администратора права будут полные, что значат эти буквы можно посмотреть в админке по пути: Настройки- Пользователи - Уровни доступа.
array(12) {
["LEAD"]=>
array(7) {
["READ"]=>
array(1) {
["-"]=>
string(1) "X"
}
["EXPORT"]=>
array(1) {
["-"]=>
string(1) "X"
}
["IMPORT"]=>
array(1) {
["-"]=>
string(1) "X"
}
["ADD"]=>
array(1) {
["-"]=>
string(1) "X"
}
["WRITE"]=>
array(1) {
["-"]=>
string(1) "X"
}
["DELETE"]=>
array(1) {
["-"]=>
string(1) "X"
}
["AUTOMATION"]=>
array(1) {
["-"]=>
string(0) ""
}
}
["DEAL"]=>
array(7) {
["READ"]=>
array(1) {
["-"]=>
string(1) "X"
}
["EXPORT"]=>
array(1) {
["-"]=>
string(1) "X"
}
["IMPORT"]=>
array(1) {
["-"]=>
string(1) "X"
}
["ADD"]=>
array(2) {
["-"]=>
string(1) "X"
["STAGE_ID"]=>
array(1) {
["NEW"]=>
string(0) ""
}
}
["WRITE"]=>
array(2) {
["-"]=>
string(1) "X"
["STAGE_ID"]=>
array(1) {
["NEW"]=>
string(0) ""
}
}
["DELETE"]=>
array(1) {
["-"]=>
string(1) "X"
}
["AUTOMATION"]=>
array(1) {
["-"]=>
string(0) ""
}
}
["CONTACT"]=>
array(6) {
["READ"]=>
array(1) {
["-"]=>
string(1) "X"
}
["EXPORT"]=>
array(1) {
["-"]=>
string(1) "X"
}
["IMPORT"]=>
array(1) {
["-"]=>
string(1) "X"
}
["ADD"]=>
array(1) {
["-"]=>
string(1) "X"
}
["WRITE"]=>
array(1) {
["-"]=>
string(1) "X"
}
["DELETE"]=>
array(1) {
["-"]=>
string(1) "X"
}
}
["COMPANY"]=>
array(6) {
["READ"]=>
array(1) {
["-"]=>
string(1) "X"
}
["EXPORT"]=>
array(1) {
["-"]=>
string(1) "X"
}
["IMPORT"]=>
array(1) {
["-"]=>
string(1) "X"
}
["ADD"]=>
array(1) {
["-"]=>
string(1) "X"
}
["WRITE"]=>
array(1) {
["-"]=>
string(1) "X"
}
["DELETE"]=>
array(1) {
["-"]=>
string(1) "X"
}
}
["QUOTE"]=>
array(6) {
["READ"]=>
array(1) {
["-"]=>
string(1) "X"
}
["EXPORT"]=>
array(1) {
["-"]=>
string(1) "X"
}
["IMPORT"]=>
array(1) {
["-"]=>
string(1) "X"
}
["ADD"]=>
array(1) {
["-"]=>
string(1) "X"
}
["WRITE"]=>
array(1) {
["-"]=>
string(1) "X"
}
["DELETE"]=>
array(1) {
["-"]=>
string(1) "X"
}
}
["INVOICE"]=>
array(6) {
["READ"]=>
array(1) {
["-"]=>
string(1) "X"
}
["EXPORT"]=>
array(1) {
["-"]=>
string(1) "X"
}
["IMPORT"]=>
array(1) {
["-"]=>
string(1) "X"
}
["ADD"]=>
array(1) {
["-"]=>
string(1) "X"
}
["WRITE"]=>
array(1) {
["-"]=>
string(1) "X"
}
["DELETE"]=>
array(1) {
["-"]=>
string(1) "X"
}
}
["WEBFORM"]=>
array(2) {
["READ"]=>
array(1) {
["-"]=>
string(1) "X"
}
["WRITE"]=>
array(1) {
["-"]=>
string(1) "X"
}
}
["BUTTON"]=>
array(2) {
["READ"]=>
array(1) {
["-"]=>
string(1) "X"
}
["WRITE"]=>
array(1) {
["-"]=>
string(1) "X"
}
}
["ORDER"]=>
array(7) {
["READ"]=>
array(1) {
["-"]=>
string(1) "X"
}
["EXPORT"]=>
array(1) {
["-"]=>
string(1) "X"
}
["IMPORT"]=>
array(1) {
["-"]=>
string(1) "X"
}
["ADD"]=>
array(1) {
["-"]=>
string(1) "X"
}
["WRITE"]=>
array(1) {
["-"]=>
string(1) "X"
}
["DELETE"]=>
array(1) {
["-"]=>
string(1) "X"
}
["AUTOMATION"]=>
array(1) {
["-"]=>
string(0) ""
}
}
["DEAL_C1"]=>
array(7) {
["READ"]=>
array(1) {
["-"]=>
string(1) "X"
}
["EXPORT"]=>
array(1) {
["-"]=>
string(1) "X"
}
["IMPORT"]=>
array(1) {
["-"]=>
string(1) "X"
}
["ADD"]=>
array(1) {
["-"]=>
string(1) "X"
}
["WRITE"]=>
array(1) {
["-"]=>
string(1) "X"
}
["DELETE"]=>
array(1) {
["-"]=>
string(1) "X"
}
["AUTOMATION"]=>
array(1) {
["-"]=>
string(0) ""
}
}
["SALETARGET"]=>
array(2) {
["READ"]=>
array(1) {
["-"]=>
string(0) ""
}
["WRITE"]=>
array(1) {
["-"]=>
string(0) ""
}
}
["EXCLUSION"]=>
array(2) {
["READ"]=>
array(1) {
["-"]=>
string(0) ""
}
["WRITE"]=>
array(1) {
["-"]=>
string(0) ""
}
}
}