Для множественного свойства вы должны перечислить все значения и те которые хотите оставить, иначе, если их не перечислить, то это будет равноценно их удалению.[/QUOTE]
Спасибо за Вашу подсказку! Только не могу разобраться, как именно я должен перечислить те значения, которые хочу оставить.
Я пробовал добавить в массив результаты MakeFileArray для файлов, которые нужно оставить:
[CODE] $arDeleteList = Array
(
[FILE] => Array
(
[444406] => Array
(
[VALUE] => Array // пытаюсь присвоить в PROPERTY_VALUE_ID массив VALUE => "результат MakeFileArray"
(
[name] => filename0
[size] => 18422
[tmp_name] => /full/path/to/filename0
[type] => application/vnd.openxmlformats-officedocument.wordprocessingml.document
[description] => Description_000
)
)
[444407] => Array // этот файл хочу удалить
(
[VALUE] => Array
(
[del] => Y
)
)
[444408] => Array
(
[VALUE] => Array
(
[name] => filename2
[size] => 4282
[tmp_name] => /full/path/to/filename2
[type] => application/json
[description] => Description_002
)
)
[444409] => Array
(
[VALUE] => Array
(
[name] => filename3
[size] => 2951
[tmp_name] => /full/path/to/filename3
[type] => application/json
[description] => Description_003
)
)
)
);
[/CODE]В итоге свойство FILE целиком обнуляется.
Пробовал подставить массивы хитрого содержания, как в [URL=https://dev.1c-bitrix.ru/community/forums/messages/forum6/topic132562/message655278/?sphrase_id=115359290#message655278]этом[/URL] примере, сделав $arDeleteList таким:
[CODE]Array
(
[FILE] => Array
(
[444688] => Array
(
[VALUE] => Array
(
[name] =>
[type] =>
[tmp_name] =>
[error] => 4
[size] => 0
[description] =>
)
)
[444689] => Array
(
[VALUE] => Array
(
[del] => Y
)
)
[444690] => Array
(
[VALUE] => Array
(
[name] =>
[type] =>
[tmp_name] =>
[error] => 4
[size] => 0
[description] =>
)
)
[444691] => Array
(
[VALUE] => Array
(
[name] =>
[type] =>
[tmp_name] =>
[error] => 4
[size] => 0
[description] =>
)
)
)
)[/CODE]Это также очистило свойство FILE полностью.
Пробовал просто оставить в массиве PROPERTY_VALUE_ID нужных мне файлов:
[CODE]Array
(
[FILE] => Array
(
[444688] => 444688
[444689] => Array
(
[VALUE] => Array
(
[del] => Y
)
)
[444690] => 444690
[444691] => 444691
)
)[/CODE]Или записать туда массив, полученный с помощью MakeFileArray, но без ключа VALUE:
[CODE]Array
(
[FILE] => Array
(
[444923] => Array // пытаюсь присвоить в PROPERTY_VALUE_ID результат MakeFileArray без ключа VALUE
(
[name] => filename0
[size] => 18422
[tmp_name] => /full/path/to/filename0
[type] => application/vnd.openxmlformats-officedocument.wordprocessingml.document
[description] => Description_000
)
[444924] => Array
(
[VALUE] => Array
(
[del] => Y
)
)
[444925] => Array
(
[name] => filename2
[size] => 4282
[tmp_name] => /full/path/to/filename2
[type] => application/json
[description] => Description_002
)
[444926] => Array
(
[name] => filename3
[size] => 2951
[tmp_name] => /full/path/to/filename3
[type] => application/json
[description] => Description_003
)
)
)[/CODE]
В этом случае результат ближе к нужному - в свойстве FILE остаются три записи (то есть количество уже нужное :)), но в них нет ID файлов, а только старые PROPERTY_VALUE_ID
[CODE][PROPERTY_VALUE_ID] => Array
(
[0] => 444923
[1] => 444925
[2] => 444926
)
[VALUE] => Array
(
[0] => 444923
[1] => 444925
[2] => 444926
)
[DESCRIPTION] => Array
(
[0] =>
[1] =>
[2] =>
)
[/CODE]
Помогите пожалуйста понять, как именно надо перечислить значения, которые нужно оставить в свойстве!