[QUOTE]Михаил Гущин пишет:
Еще раз повторюсь, ибо проблему полностью решил.
В моей более узкой задаче было необходимо удалять все файлы от множественного свойства типа файл.
Итак, имя свойства - PHOTO_SM, скрипт имеет следующи вид:
[CODE]
$db_props = CIBlockElement::GetProperty($arFields["IBLOCK_ID"], $arFields['ID'], "sort", "asc", Array("CODE"=>"PHOTO_SM")); //Запрашиваем наш элемент вместе со свойством PHOTO_SM
while($ar_props = $db_props->Fetch())
{
if ($ar_props["VALUE"]) //Если свойство непусто
{
$arr[$ar_props['PROPERTY_VALUE_ID']] = Array("VALUE" => Array("del" => "Y")); //Массив, обозначающий удаление всех элементов свойства
CIBlockElement::SetPropertyValueCode($arFields["ID"], "PHOTO_SM", $arr );
CFile::Delete($ar_props['VALUE']); //Удаляем
}
}
[/CODE]
Свойства удалены, а далее - мы можем добавить или изменить всё, что нам нужно[/QUOTE]
Вот именно такой способ помог решить проблему
Нужно делать массив вида
$arr['2732224']['VALUE'] = array(del => Y);
2732224 - значение свойства из ['PROPERTY_VALUE_ID']
и дальше удалять эти значения
CIBlockElement::SetPropertyValues($arFields["ID"], $arFields["IBLOCK_ID"], $arr, "PHOTO_SM");
Еще раз повторюсь, ибо проблему полностью решил.
В моей более узкой задаче было необходимо удалять все файлы от множественного свойства типа файл.
Итак, имя свойства - PHOTO_SM, скрипт имеет следующи вид:
[CODE]
$db_props = CIBlockElement::GetProperty($arFields["IBLOCK_ID"], $arFields['ID'], "sort", "asc", Array("CODE"=>"PHOTO_SM")); //Запрашиваем наш элемент вместе со свойством PHOTO_SM
while($ar_props = $db_props->Fetch())
{
if ($ar_props["VALUE"]) //Если свойство непусто
{
$arr[$ar_props['PROPERTY_VALUE_ID']] = Array("VALUE" => Array("del" => "Y")); //Массив, обозначающий удаление всех элементов свойства
CIBlockElement::SetPropertyValueCode($arFields["ID"], "PHOTO_SM", $arr );
CFile::Delete($ar_props['VALUE']); //Удаляем
}
}
[/CODE]
Свойства удалены, а далее - мы можем добавить или изменить всё, что нам нужно[/QUOTE]
Вот именно такой способ помог решить проблему
Нужно делать массив вида
$arr['2732224']['VALUE'] = array(del => Y);
2732224 - значение свойства из ['PROPERTY_VALUE_ID']
и дальше удалять эти значения
CIBlockElement::SetPropertyValues($arFields["ID"], $arFields["IBLOCK_ID"], $arr, "PHOTO_SM");