Каким образом можно переопределить права для элемента ИБ?
Т.е., например, даны права на чтение на уровне ИБ группе ID=11, мне нужно спрятать элемент от всех кроме некоторых пользователей.
Пытаюсь переопределить права вот так[CODE]function chmodSectionAccess($bid, $sid, $group_code, $tid, $mod, $overwrite = 0)
{
$bid = intval($bid); // идентификатор инфоблока
$sid = intval($sid); // идентификатор раздела
$group_code = trim($group_code); // группкод
$tid = intval($tid); // идентификатор уровня доступа
$mod = ($mod === "Y"); // дать/убрать (Y|N) права на раздел
if ($bid > 0 && $sid > 0 && strlen($group_code) > 0 && $tid > 0)
{
// получаем текущий массив прав
$ob = new CIBlockElementRights($bid, $sid);
$ar = $ob->GetRights();
pp($ar);die();
if ($mod)
{
// дополняем в массив новый элемент
$ar["n0"] = array("GROUP_CODE" => $group_code, "TASK_ID" => $tid, "XML_ID" => "API", "OVERWRITED" => intval($overwrite));
}
else
{
// находим совпадающее со входными данными и исключаем из массива
foreach ($ar as $i => $r)
{
if ($r["GROUP_CODE"] === $group_code && $r["TASK_ID"] === $tid)
unset($ar[$i]);
}
}
// записываем новые права из массива (другие не наследуемые будут удалены)
$ob->SetRights($ar);
return TRUE;
}
return FALSE;
}
//устанавливаем права "Нет доступа" на элемент
chmodSectionAccess($arParams["IBLOCK_ID"], $ELEMENT_ID, 'G11', 38, "Y", 1);[/CODE]пробовал делать сначала[CODE]chmodSectionAccess($arParams["IBLOCK_ID"], $ELEMENT_ID, 'G11', 73, "N");[/CODE]Безрезультатно [IMG WIDTH=16 HEIGHT=16]https://dev.1c-bitrix.ru/bitrix/images/blog/smile/icon_sad.gif[/IMG]
Не пойму как реализовано штатное переопределение прав