Документация для разработчиков
Темная тема

lists.element.update

Scope: lists Права на выполнение: для всех

Описание

lists.element.update(params, fields)

Метод обновляет элемент списка. В случае успешного обновления элемента ответ true, иначе Exception.


Важно! Все поля элемента и их значения должны передаваться в запросе.


Чтобы загрузить файлы в поле типа Файл (Диск) необходимо:

  1. использовать rest api модуля disk: disk.folder.uploadfile и disk.storage.uploadfile. В ответе при загрузке этих файлов, вы будете получать "ID": 290.
  2. Получить список ID загруженных файлов.
  3. Затем с помощью rest api модуля lists добавлять файлы в нужное поле. В случае если у поля уже есть прикрепленные файлы вам нужно получить предыдущие значения из lists.element.get и передать их вместе с новыми:
    var params = {
    	'IBLOCK_TYPE_ID': 'lists',
    	'IBLOCK_ID': '41',
    	'ELEMENT_CODE': 'element1',
    	'FIELDS': {
    		'NAME': 'Test element 1',
    		'PROPERTY_121': {'4754': ['50', 'n1582']} // либо без id 'PROPERTY_121': {'n0': ['50', 'n1582']}
    	}
    };
    BX24.callMethod(
    	'lists.element.update',
    	params,
    	function(result)
    	{
    		if(result.error())
    			alert("Error: " + result.error());
    		else
    			alert("Success: " + result.data());
    	}
    );

    Значения в поле Файл (Диск) без префикса "n" это уже прикрепленные файлы (attachedId), а с префиксом это ваши новые файлы, уже загруженные предварительно в диск.

Параметры

ПараметрОписание
Все поля элемента и их значения должны передаваться в запросе.
IBLOCK_TYPE_IDid типа инфоблока (обязательно):
  • lists - тип инфоблока списка
  • bitrix_processes - тип инфоблока процессов
  • lists_socnet - тип инфоблока списков групп
IBLOCK_CODE/IBLOCK_IDкод или id инфоблока (обязательно)
ELEMENT_CODE/ELEMENT_IDкод или id элемента (обязательно)
FIELDSмассив полей и значений
SOCNET_GROUP_IDid группы (обязательно, если список создается для группы);

Пример

var params = {
	'IBLOCK_TYPE_ID': 'lists_socnet',
	'IBLOCK_CODE': 'rest_1',
	'ELEMENT_CODE': 'element_1',
	'FIELDS': {
		'NAME': 'Test element (Update)',
		'PROPERTY_62': {
		'599': 'Text string (Update)'
		},
		'PROPERTY_63': {
		'600': '73',
		'601': '97',
		'602': '17'
		}
	}
};
BX24.callMethod(
	'lists.element.update',
	params,
	function(result)
	{
		if(result.error())
			alert("Error: " + result.error());
		else
			alert("Success: " + result.data());
	}
);


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
0
Алина Костромина
Сообщение не промодерировано, возможны ошибки и неточности.
Зачем для апдейта нужно вводить все обязательные поля? Я просто хочу обновить значение одного из полей, все обязательные поля в элементе и так при этом заполнены.
0
Дмитрий Салтановский
Сообщение не промодерировано, возможны ошибки и неточности.
Параметр SOCNET_GROUP_ID обязателен для списков групп (при 'IBLOCK_TYPE_ID' == 'lists_socnet'), а в примере он не указан.
© «Битрикс», 2001-2024, «1С-Битрикс», 2024