При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Получить список разделов хранилища entity.section.get», разберем архитектурные особенности и предоставим готовые к интеграции примеры кода.
Получить список разделов хранилища entity.section.get
Тут может не хватать некоторых данных — дополним в ближайшее время
- нужны правки под стандарт написания
- не указаны типы параметров
- отсутствуют примеры
- отсутствует ответ в случае ошибки
> Scope: entity
>
> Кто может выполнять метод: любой пользователь
Метод entity.section.get получает список разделов хранилища (секций инфоблока). Списочный метод.
Пользователь должен обладать хотя бы правами на чтение (R) хранилища.
Входящие параметры и конфигурация метода
| Параметр | Описание | |
|---|---|---|
ENTITY^^string | Обязательный. Строковой идентификатор хранилища. | |
SORTunknown | Массив для сортировки, имеющий вид by1=>order1[, by2=>order2 [, ..]], где by1, ... — поле сортировки, может принимать значения: — ID — код раздела; — SECTION — код родительской раздела; — NAME — название раздела; — CODE — символьный код раздела; — ACTIVE — активности раздела — LEFT_MARGIN — левая граница; — DEPTH_LEVEL — глубина вложенности (начинается с 1); — SORT — индекс сортировки; — CREATED — по времени создания раздела; — CREATED_BY — по идентификатору создателя раздела; — MODIFIED_BY — по идентификатору пользователя изменившего раздела; — TIMESTAMP_X — по времени последнего изменения. order1, …* — порядок сортировки, может принимать значения: | |
FILTERunknown | Массив вида array("фильтруемое поле"=>"значение" [, ...]). Фильтруемое поле может принимать значения:— ACTIVE — фильтр по активности (Y\ | N); — NAME — по названию (можно искать по шаблону [%_]); — CODE — по символьному коду (по шаблону [%_]); — SECTION_ID — по коду раздела-родителя (если указать false, то будут возвращены корневые разделы); — DEPTH_LEVEL — по уровню вложенности (начинается с 1); — LEFT_MARGIN, RIGHT_MARGIN — по положению в дереве (используется, когда необходима выборка дерева подразделов); — ID — по коду раздела; — TIMESTAMP_X — по времени последнего изменения; — DATE_CREATE — по времени создания; — MODIFIED_BY — по коду пользователя изменившему раздел; — CREATED_BY — по создателю; Все фильтруемые поля могут содержать перед названием тип проверки фильтра. Необязательное. По умолчанию записи не фильтруются. |
| start | Порядковый номер элемента списка, начиная с которого необходимо возвращать следующие элементы при вызове текущего метода. Подробности в статье [](../../../settings/how-to-call-rest-api/list-methods-pecularities) |
Практические примеры использования в коде
- JS
try
{
const response = await $b24.callMethod(
'entity.section.get',
{
ENTITY: 'menu_new',
SORT: {
'NAME': 'ASC'
}
}
);
const sections = response.getData().result;
}
catch( error )
{
console.error('Error:', error);
}- PHP
try {
$response = $b24Service
->core
->call(
'entity.section.get',
[
'ENTITY' => 'menu_new',
'SORT' => [
'NAME' => 'ASC'
]
]
);
$result = $response
->getResponseData()
->getResult();
$sections = $result->data();
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error getting entity sections: ' . $e->getMessage();
}- BX24.js
BX24.callMethod(
'entity.section.get',
{
ENTITY: 'menu_new',
SORT: {
'NAME': 'ASC'
}
},
function(result){
sections = result.data();
}
);- HTTP
https://my.bitrix24.ru/rest/entity.section.get.json?ENTITY=menu_new&SORT%5BNAME%5D=ASC&auth=9affe382af74d9c5caa588e28096e872Ответ в случае успеха
> 200 OK
{
"result":
[
{
"ID":"219",
"CODE":null,
"TIMESTAMP_X":"2013-06-23T10:11:59+03:00",
"DATE_CREATE":"2013-06-23T10:11:59+03:00",
"CREATED_BY":"1","MODIFIED_BY":"1",
"ACTIVE":"Y",
"SORT":"500",
"NAME":"Вторая тестовая секция",
"PICTURE":null,
"DETAIL_PICTURE":null,
"DESCRIPTION":null,
"LEFT_MARGIN":"1",
"RIGHT_MARGIN":"2",
"DEPTH_LEVEL":"1",
"ENTITY":"menu_new",
"SECTION":null
},
{
"ID":"218",
"CODE":null,
"TIMESTAMP_X":"2013-06-23T10:24:46+03:00",
"DATE_CREATE":"2013-06-23T10:08:54+03:00",
"CREATED_BY":"1",
"MODIFIED_BY":"1",
"ACTIVE":"Y",
"SORT":"500",
"NAME":"Первая тестовая секция",
"PICTURE":null,
"DETAIL_PICTURE":null,
"DESCRIPTION":null,
"LEFT_MARGIN":"3",
"RIGHT_MARGIN":"4",
"DEPTH_LEVEL":"1",
"ENTITY":"menu_new",
"SECTION":null
}
],
"total":2
}💡 Экспертное мнение и рекомендации
Советы эксперта по интеграции:
- Всегда используйте кэширование при частых запросах к entity.section.get, чтобы разгрузить базу данных.
- Соблюдайте стандарты PSR при написании обработчиков для «Получить список разделов хранилища entity.section.get».
- Регулярно проводите аудит производительности системы с помощью встроенного монитора 1С-Битрикс.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru