При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Изменить элемент универсального списка lists.element.update», разберем архитектурные особенности и предоставим готовые к интеграции примеры кода.
Изменить элемент универсального списка lists.element.update
> Scope: lists
>
> Кто может выполнять метод: пользователь с правом «Изменение» для нужного списка
Метод lists.element.update обновляет элемент списка.
Метод перезаписывает элемент полностью. Поля, значения которых не передаются, будут очищаться
Параметры метода
Названиетип | Описание |
|---|---|
IBLOCK_TYPE_IDstring | Идентификатор типа инфоблока. Возможные значения: — lists — тип инфоблока списка — bitrix_processes — тип инфоблока процессов — lists_socnet — тип инфоблока списков групп |
IBLOCK_IDinteger | Идентификатор инфоблока. Идентификатор можно получить с помощью метода lists.get |
IBLOCK_CODE string | Cимвольный код инфоблока. Код можно получить с помощью метода lists.get Необходимо указать хотя бы один из параметров: |
ELEMENT_IDinteger | Идентификатор элемента. Идентификатор можно получить с помощью метода lists.element.get |
ELEMENT_CODEstring | Символьный код элемента. Код можно получить с помощью метода lists.element.get Необходимо указать хотя бы один из параметров: |
FIELDSarray | Массив полей. Подробное описание |
Параметр FIELDS {#parametr-fields}
Названиетип | Описание |
|---|---|
NAME*string | Название элемента |
| PROPERTY_PropertyId | Пользовательские свойства. Любое свойство элемента можно настроить как множественное. Для множественных свойств передавайте массив, даже если значение только одно. Чтобы передать значение в поле типа Файл укажите: Подробнее о работе с файлами в статье Как обновить и удалить файлы |
Получить данные о полях списка можно с помощью метода lists.field.get
Примеры кода
- cURL (Webhook)
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"IBLOCK_TYPE_ID":"lists","IBLOCK_ID":47,"ELEMENT_ID":6999,"FIELDS":{"NAME":"Тестовый элемент (обновлен)","PROPERTY_951":["1269"]}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/lists.element.update- cURL (OAuth)
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"IBLOCK_TYPE_ID":"lists","IBLOCK_ID":47,"ELEMENT_ID":6999,"FIELDS":{"NAME":"Тестовый элемент (обновлен)","PROPERTY_951":["1269"]},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/lists.element.update- JS
try
{
const response = await $b24.callMethod(
'lists.element.update',
{
IBLOCK_TYPE_ID: 'lists',
IBLOCK_ID: 47,
ELEMENT_ID: 6999,
FIELDS: {
NAME: 'Тестовый элемент (обновлен)',
PROPERTY_951: ["1269"]
}
}
);
const result = response.getData().result;
console.log('Updated element with ID:', result);
processResult(result);
}
catch( error )
{
console.error('Error:', error);
}- PHP
try {
$response = $b24Service
->core
->call(
'lists.element.update',
[
'IBLOCK_TYPE_ID' => 'lists',
'IBLOCK_ID' => 47,
'ELEMENT_ID' => 6999,
'FIELDS' => [
'NAME' => 'Тестовый элемент (обновлен)',
'PROPERTY_951' => ["1269"]
]
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error updating element: ' . $e->getMessage();
}- BX24.js
BX24.callMethod(
'lists.element.update',
{
IBLOCK_TYPE_ID: 'lists',
IBLOCK_ID: 47,
ELEMENT_ID: 6999,
FIELDS: {
NAME: 'Тестовый элемент (обновлен)',
PROPERTY_951: ["1269"]
}
},
function(res) {
if (res.error()) {
console.error('Ошибка обновления:', res.error());
} else {
console.log('Элемент успешно обновлён:', res.data());
}
}
);- PHP CRest
require_once('crest.php');
$result = CRest::call(
'lists.element.update',
[
'IBLOCK_TYPE_ID' => 'lists',
'IBLOCK_ID' => 47,
'ELEMENT_ID' => 6999,
'FIELDS' => [
'NAME' => 'Тестовый элемент (обновлен)',
'PROPERTY_951' => ["1269"]
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';Обработка ответа
HTTP-статус: 200
{
"result": true,
"time": {
"start": 1763658078,
"finish": 1763658078.767221,
"duration": 0.7672209739685059,
"processing": 0,
"date_start": "2025-11-19T15:01:18+03:00",
"date_finish": "2025-11-19T15:01:18+03:00",
"operating_reset_at": 1763658678,
"operating": 0.1465599536895752
}
}Возвращаемые данные
Названиетип | Описание |
|---|---|
resultboolean | Возвращает true, если элемент обновлен успешно |
timetime | Информация о времени выполнения запроса |
Обработка ошибок
HTTP-статус: 400
{
"error":"ERROR_ELEMENT_FIELD_VALUE",
"error_description":"Writing file values by ID is not supported"
}Возможные коды ошибок
| Код | Описание | Значение |
|---|---|---|
ERROR_REQUIRED_PARAMETERS_MISSING | Required parameter X is missing | Обязательный параметр не передан |
ERROR_IBLOCK_NOT_FOUND | Iblock not found | Инфоблок не найден |
ERROR_ELEMENT_NOT_FOUND | Element not found | Элемент с таким ID/CODE не найден |
ERROR_UPDATE_ELEMENT | — | Ошибка при обновлении элемента |
ERROR_ELEMENT_FIELD_VALUE | Writing file values by ID is not supported | Ошибка валидации значения поля |
ACCESS_DENIED | Access denied | Недостаточно прав для обновления элемента |
- [](./lists-element-add)
- [](./lists-element-get)
- [](./lists-element-delete)
- [](./lists-element-get-file-url)
💡 Экспертное мнение и рекомендации
Практические рекомендации:
- При написании кастомных компонентов для «Изменить элемент универсального списка lists.element.update» всегда разделяйте бизнес-логику и представление (шаблон).
- Используйте отладку SQL-запросов через конструкцию
$wpdb->last_queryили стандартный трекер Битрикса, чтобы контролировать нагрузку.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru