Блог Горошко Андрея Bitrix24 Получить параметры поля или список полей универсального списка lists.field.get

Получить параметры поля или список полей универсального списка lists.field.get

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Получить параметры поля или список полей универсального списка lists.field.get», проанализируем лучшие практики и покажем, как правильно использовать lists.field.get в реальных задачах.

Получить параметры поля или список полей универсального списка lists.field.get

> Scope: lists
>
> Кто может выполнять метод: пользователь с правом «Чтение» для нужного списка

Метод lists.field.get возвращает данные о поле или список полей.

Параметры метода

Название
тип
Описание
IBLOCK_TYPE_ID
string
Идентификатор типа инфоблока. Возможные значения:
— lists — тип инфоблока списка
— bitrix_processes — тип инфоблока процессов
— lists_socnet — тип инфоблока списков групп

Идентификатор можно получить с помощью метода lists.get.iblock.type.id

IBLOCK_ID
integer
Идентификатор инфоблока.

Идентификатор можно получить с помощью метода lists.get

IBLOCK_CODE*
string
Cимвольный код инфоблока.

Код можно получить с помощью метода lists.get

Необходимо указать хотя бы один из параметров: IBLOCK_ID или IBLOCK_CODE

FIELD_ID
string
Идентификатор поля. Для пользовательского поля имеет вид PROPERTY_PropertyId. Для системного поля является его символьным кодом.

Если не указать, возвращаются все поля списка

Примеры кода

  • cURL (Webhook)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"IBLOCK_TYPE_ID":"lists","IBLOCK_ID":"123","FIELD_ID":"PROPERTY_1151"}' \
    https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/lists.field.get
  • cURL (OAuth)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"IBLOCK_TYPE_ID":"lists","IBLOCK_ID":"123","FIELD_ID":"PROPERTY_1151","auth":"**put_access_token_here**"}' \
    https://**put_your_bitrix24_address**/rest/lists.field.get
  • JS
    try
    {
        const response = await $b24.callMethod(
            'lists.field.get',
            {
                IBLOCK_TYPE_ID: 'lists',
                IBLOCK_ID: '123',
                FIELD_ID: 'PROPERTY_1151',
            }
        );
        
        const result = response.getData().result;
        console.log('Fetched field data:', result);
        
        processResult(result);
    }
    catch( error )
    {
        console.error('Error:', error);
    }
  • PHP
    try {
        $response = $b24Service
            ->core
            ->call(
                'lists.field.get',
                [
                    'IBLOCK_TYPE_ID' => 'lists',
                    'IBLOCK_ID' => '123',
                    'FIELD_ID' => 'PROPERTY_1151'
                ]
            );

        $result = $response
            ->getResponseData()
            ->getResult();

        echo 'Success: ' . print_r($result, true);
        processData($result);

    } catch (Throwable $e) {
        error_log($e->getMessage());
        echo 'Error fetching field: ' . $e->getMessage();
    }
  • BX24.js
    BX24.callMethod(
        'lists.field.get',
        {
            'IBLOCK_TYPE_ID': 'lists', 
            'IBLOCK_ID': '123',        
            'FIELD_ID': 'PROPERTY_1151'
        },
        function(result) { 
            if (result.error()) {
                console.error(result.error());
            } else {
                console.log(result.data());
            }
        }
    );
  • PHP CRest
    require_once('crest.php');

    $result = CRest::call(
        'lists.field.get',
        [
            'IBLOCK_TYPE_ID' => 'lists',
            'IBLOCK_ID' => '123',
            'FIELD_ID' => 'PROPERTY_1151'
        ]
    );

    echo '<PRE>';
    print_r($result);
    echo '</PRE>';

Обработка ответа

HTTP-статус: 200

{
    "result": {
        "L": {
        "FIELD_ID": "PROPERTY_1151",
        "SORT": 50,
        "NAME": "Статус задачи",
        "IS_REQUIRED": "N",
        "MULTIPLE": "N",
        "DEFAULT_VALUE": "1685",
        "TYPE": "L",
        "PROPERTY_TYPE": "L",
        "PROPERTY_USER_TYPE": false,
        "CODE": "PROJECT",
        "ID": "1151",
        "LINK_IBLOCK_ID": null,
        "ROW_COUNT": "1",
        "COL_COUNT": "30",
        "USER_TYPE_SETTINGS": null,
        "SETTINGS": {
            "SHOW_ADD_FORM": "Y",
            "SHOW_EDIT_FORM": "Y",
            "ADD_READ_ONLY_FIELD": "N",
            "EDIT_READ_ONLY_FIELD": "Y",
            "SHOW_FIELD_PREVIEW": "N"
        },
        "DISPLAY_VALUES_FORM": {
            "1669": "Планирование",
            "1671": "В активной работе",
            "1673": "Тестирование",
            "1675": "Завершен",
            "1677": "Отложен",
            "1679": "Архив"
        }
        }
    },
    "time": {
        "start": 1765375929,
        "finish": 1765375929.696936,
        "duration": 0.6969358921051025,
        "processing": 0,
        "date_start": "2025-12-10T12:12:09+03:00",
        "date_finish": "2025-12-10T12:12:09+03:00",
        "operating_reset_at": 1765376529,
        "operating": 0
    }
    }

Возвращаемые данные

Название
тип
Описание
result
array
Данные поля или массив полей.

Пустой массив означает, что в списке нет полей с указанным FIELD_ID

time
time
Информация о времени выполнения запроса

Обработка ошибок

HTTP-статус: 400

{
    "error":"ERROR_REQUIRED_PARAMETERS_MISSING",
    "error_description":"Required parameter `X` is missing"
}

Возможные коды ошибок

КодОписаниеЗначение
ERROR_REQUIRED_PARAMETERS_MISSINGRequired parameter X is missingОбязательный параметр не передан
ERROR_IBLOCK_NOT_FOUNDIblock not foundИнфоблок не найден
ACCESS_DENIEDAccess deniedНедостаточно прав для чтения
  • [](./lists-field-add)
  • [](./lists-field-update)
  • [](./lists-field-delete)
  • [](./lists-field-type-get)

💡 Экспертное мнение и рекомендации

Советы эксперта по интеграции:

  • Всегда используйте кэширование при частых запросах к lists.field.get, чтобы разгрузить базу данных.
  • Соблюдайте стандарты PSR при написании обработчиков для «Получить параметры поля или список полей универсального списка lists.field.get».
  • Регулярно проводите аудит производительности системы с помощью встроенного монитора 1С-Битрикс.

Похожая задача в бизнесе?

Помогу автоматизировать процессы и внедрить ИИ

Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.

Related Post

Создать пользовательское поле для контактов crm.contact.userfield.addСоздать пользовательское поле для контактов crm.contact.userfield.add

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Создать пользовательское поле для контактов crm.contact.userfield.add», проанализируем лучшие

Удалить поле из универсального списка lists.field.deleteУдалить поле из универсального списка lists.field.delete

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Удалить поле из универсального списка lists.field.delete». Мы подготовили подробный разбор принципов работы и развернутые примеры

Сохранить заметку crm.timeline.note.saveСохранить заметку crm.timeline.note.save

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Сохранить заметку crm.timeline.note.save». Мы подготовили подробный разбор принципов работы и развернутые примеры интеграции. Сохранить заметку