Есть такая задача, зная сотрудника нужно назначить права на элемент группам прав в которых он числится.
В бизнес-процессе есть активити "PHP-код" , в нём я получаю ID групп прав и возращаю в БП в переменную типа Пользователь.
После ставлю активити "Установка прав" и указываю в ней полученную ранее переменную.
Но на выходе получается что права присваиваются пустым значениям.
Может кто сталкивался и поможет?
Или кто знает как назначить права на элемент через php-код(я методов не нашёл).
В бизнес-процессе есть активити "PHP-код" , в нём я получаю ID групп прав и возращаю в БП в переменную типа Пользователь.
| Код |
|---|
$root = $this->GetRootActivity();
$User = $root->GetVariable('User'); // Массив пользователей
$Static_grup = $root->GetVariable('Static_grup'); // Статичные группы на которые назначение прав не требуется
for($i = 0; $i < count($User); $i++) {
$User[$i] = implode('_', array_slice( explode( '_', $User[$i]),1 ) ); //Убираю User_ что бы получить чистый ID пользователя
$Grup[$i] = CUser::GetUserGroup($User[$i]); //Получаю группы к котором принадлежит пользователь
$result[$i] = array_diff($Grup[$i], $Static_grup); // Убираю ненужные
}
$Grup_prav = call_user_func_array('array_merge', $result); // объединяю всё в новый массив
for($i = 0; $i < count($Grup_prav); $i++) {
$Grup_prav[$i] = '[G'.$Grup_prav[$i].']';
} // присваиваю вид значениям ([G'ID']) вместо просто (ID)
$root->SetVariable("Grup_prav", $Grup_prav); // возращаю в БП в переменную типа Пользователь
|
Но на выходе получается что права присваиваются пустым значениям.
Может кто сталкивался и поможет?
Или кто знает как назначить права на элемент через php-код(я методов не нашёл).