Вот рабочий вариант:
Удаление первых изображений в множественном свойстве типа файл. Код свойства MORE_IMAGES.
$dbElements = \CIBlockElement::GetList(
[],
[
"ACTIVE" => "Y",
"IBLOCK_ID" => IBLOCK_ID,
],
false,
false,
[
'IBLOCK_ID',
'ID',
'PROPERTY_MORE_IMAGES',
]
);
while($obFields = $dbElements->GetNext())
{
$arFiles = [$obFields['PROPERTY_MORE_IMAGES_VALUE'][0]];
$aElementID = $obFields['ID'];
foreach ($obFields['PROPERTY_MORE_IMAGES_VALUE'] as $iKeyValue => $sValue) {
if (in_array($sValue, $arFiles) && $obFields['PROPERTY_MORE_IMAGES_PROPERTY_VALUE_ID'][$iKeyValue] > 0) {
$arDeleteList["MORE_IMAGES"][$obFields['PROPERTY_MORE_IMAGES_PROPERTY_VALUE_ID'][$iKeyValue]] = [
'VALUE' => [
'del' => 'Y',
]
];
}
}
if (!empty($arDeleteList)) {
foreach ($arDeleteList as $sPropForDelete => $arDeleteFiles) {
CIBlockElement::SetPropertyValueCode(
$aElementID,
$sPropForDelete,
$arDeleteFiles
);
}
}
}