Сабж. Казалось просто. А вот и ни фига. Есть камни, о которые новичок порвет мозг. Мне стыдно, но я убил часа полтора. Резюмирую здесь, надеюсь это последний раз у всех нас.
В каждом варианте на ключ массива обновления идет код св-ва, а значение - новое значение. Для удаления файла нам надо передать вот такой простой массивчик: array('MY_FILE' => array('XXX' => array('del' => 'Y')));
Да, вот такой геморрой. Он универсален, что для ИБ, что для ИБ+, что для документооборота. MY_FILE - это код вашего св-ва типа файл. А что такое ХХХ? Настоящая порнография. Там содержится _ID_ _значения_ св-ва. То есть не ID св-ва, а именно ID значения. И магия еще в том, что в случае ИБ+ у нас нет такого понятия, а ID значения формируется как ID_элемента:ID_свва. Но вам это знать необязательно, лучше получить универсально.
Вот таким образом получается этот универсальный XXX, именно так его и надо передавать для каждого файла, который мы хотим удалить.
Что делать в случае множественного файла? Как удалить конкретный файл в списке? Все просто - используем в примере выше не if, а while, ну и дополнительно фильтруем, какой файл надо удалить.
Цупко Игорь, все бы хорошо, но по-моему разработчики туда не смотрят никогда =) Ну или смотрят, но игнорят, практически все идеи, которые там выполнены - ошибочные, этот функционал уже был и на них радостно лепили "сделано".. Моей идее по поводу итерации CDbResult через неделю год стукнет - статус даже не изменился на голосование. Хотя идея имхо сдравая, обратную совместимость ре рушит и довольно тривиальна в реализации =)
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».