Михаил Базаров Разработка на 1С-Битрикс Михаил Базаров

Права на доступ к элементам инфоблока где это смотреть? и как определить права доступа

Вопрос задан: 28 июня 2026 в 05:00 | Просмотров: 7 Использованные MCP инструменты: searchDocs, liveApiFindFunction, liveApiGetFunctionCode, liveApiFindByReflection, liveApiGetClassCode, liveApiGetClassConstants

Задайте свой вопрос — Работает AI в связке с MCP сервером. Перепроверяйте важную информацию.

В 1С-Битрикс существует два режима управления правами для инфоблоков:

1. Простой режим

Права задаются для всего инфоблока целиком. Настроить их можно в форме редактирования инфоблока на вкладке Доступ:

  • Контент → Инфоблоки → Типы инфоблоков → [нужный тип] → [нужный инфоблок] → вкладка Доступ

2. Расширенный режим

Позволяет задавать права для отдельных разделов и элементов инфоблока. Чтобы его включить:

  1. Откройте настройки инфоблока
  2. Включите опцию Расширенное управление правами
  3. Откройте форму редактирования конкретного элемента или раздела
  4. На вкладке Доступ установите права для выбранных групп пользователей

Права наследуются по иерархии: от инфоблока к разделу и элементу. Если пользователь имеет полный доступ на инфоблок, он может управлять доступом к его элементам.

Как определить права доступа программно (через API)

Для работы с правами на элементы используются следующие классы модуля iblock (файл: /bitrix/modules/iblock/classes/general/iblock_rights.php):

  • CIBlockRights — управление правами на инфоблок
  • CIBlockSectionRights — управление правами на раздел
  • CIBlockElementRights — управление правами на элемент

Метод 1. Проверка, есть ли у пользователя конкретное право на элемент

Статический метод CIBlockElementRights::UserHasRightTo:

\Bitrix\Main\Loader::includeModule('iblock');

$iblockId = 1;   // ID инфоблока
$elementId = 15; // ID элемента
$permission = 'element_read'; // название операции (права)

$hasRight = CIBlockElementRights::UserHasRightTo(
    $iblockId,
    $elementId,
    $permission
);

if ($hasRight)
{
    echo "Пользователь имеет право {$permission} на элемент {$elementId}";
}
else
{
    echo "Доступ запрещён";
}

Метод 2. Получение списка всех прав на элемент

Метод CIBlockElementRights::GetRights():

\Bitrix\Main\Loader::includeModule('iblock');

$elementId = 15;
$iblockId = 1;

$obElementRights = new CIBlockElementRights($iblockId, $elementId);
$arRights = $obElementRights->GetRights();

echo '<pre>';
print_r($arRights);
echo '</pre>';

Метод возвращает массив, где ключ — ID права, а значения содержат:

  • GROUP_CODE — код группы (например, G1 — группа с ID=1, U1 — пользователь с ID=1)
  • TASK_ID — ID уровня доступа (задачи)
  • DO_INHERIT — наследуется ли право
  • IS_INHERITED — унаследовано ли право от родительского раздела

Метод 3. Получение операций пользователя на элементы

Статический метод CIBlockElementRights::GetUserOperations():

\Bitrix\Main\Loader::includeModule('iblock');

// Получить операции для пользователя с ID=1 на элемент с ID=15
$arOperations = CIBlockElementRights::GetUserOperations(15, 1);

echo '<pre>';
print_r($arOperations);
echo '</pre>';
// Результат: массив вида ['element_read' => 'element_read', 'element_edit' => 'element_edit', ...]

Метод 4. Константы уровней доступа в CIBlockRights

CIBlockRights::PUBLIC_READ  = 'R'  // Чтение
CIBlockRights::EDIT_ACCESS  = 'W'  // Запись (редактирование)
CIBlockRights::FULL_ACCESS  = 'X'  // Полный доступ

Метод 5. Назначение простых прав для существующего инфоблока (через классический API)

\Bitrix\Main\Loader::includeModule('iblock');

// Назначить права группам: ID группы => уровень доступа
CIBlockElement::SetPermission(
    1,   // ID инфоблока
    [
        2 => 'R',  // Все пользователи (группа 2) — чтение
        8 => 'W',  // Контент-редакторы (группа 8) — запись
    ]
);

Уровни доступа в простом режиме:

  • D — доступ закрыт
  • R — чтение
  • W — запись (редактирование)
  • X — полный доступ

Метод 6. Список всех прав для элемента (низкоуровневый запрос)

\Bitrix\Main\Loader::includeModule('iblock');

$obElementRights = new CIBlockElementRights($iblockId, $elementId);
$rsRights = $obElementRights->GetList(['IBLOCK_ID' => $iblockId]);

while ($arRight = $rsRights->Fetch())
{
    echo "{$arRight['GROUP_CODE']} -> TASK_ID: {$arRight['TASK_ID']}";
}

Услуги Стоимость разработки на 1С-Битрикс

Стоимость разработки сайта зависит от объёма и сложности проекта. Ниже приведены ориентировочные цены, как правило не выходят за обозначенные рамки. Срок разработки зависит от сложности проекта: как правило называю сроки с запасом.
Финальная стоимость и сроки разработки обговариваются на этапе обсуждения. Скачайте опросник на разработку, заполните как можно подробнее и вышлите удобным способом. После ознакомления смогу задать уточняющие вопросы и оценить проект.
Поддержка и доработки проектов
от 3 000 руб. от 1 часа

Выполнение доработок любой сложности. Поддержка, модернизация и расширение функционала существующих проектов. Решение задач: от мелких правок вёрстки до разработки новых модулей.

Подробнее
Сайт на готовом решении 1С-Битрикс
от 70 000 руб. от 5-ти дней

Вариант для тех, кто не хочет тратить много средств на индивидуальный проект, и не имеет серьезных требований к сайту. Магазин, быстро запускается на базе одного из 200-та готовых решений.

Подробнее
Индивидуальная разработка магазина
от 300 000 руб. от 5-ти недель

Разработка магазина на 1С-Битрикс с нуля. Дизайн, сборка и оптимизация производительности под конкретный проект и требования. Реализация любого функционала без ограничений готовых решений.

Подробнее
Мобильное приложение
от 300 000 руб. от 4-х недель

Разработка кроссплатформенного мобильного приложения, которое не уступает нативным решениям как в производительности, так и пользовательском опыте. Публикуется в AppStore, GooglePlay и RuStore

Подробнее
Инфоресурс
от 170 000 руб. от 3-х недель

Информационный ресурс любой сложности. Сайт для СМИ, городской портал или многопользовательская доска объявлений. Внутренние форумы, блоги- по необходимости.

Подробнее
Сайт компании
от 150 000 руб. от 2-х недель

Корпоративный сайт с информационными разделами, каталогом товаров или услуг. Включает формы обратной связи карточек каталога, любое количество статичных и динамичных разделов.

Подробнее

Включено в стоимость разработки:

  • Лицензия на 1С-Битрикс необходимой редакции, дополнительные модули, для реализации функционала и видео-инструкции по работе с готовым проектом
  • Оптимизация программной части проекта и конфигурации сервера под максимальную скорость работы. Базовая СЕО оптимизация и добавление сайта в поисковые системы.

Блог-note Заметки по 1С-Битрикс