Ребят, привет!
У меня во время выгрузки 1с срабатывают события OnBeforeIBlockElementAdd и OnBeforeIBlockElementUpdate. На них прописано: берем значение св-ва одного и тащим картинки из папки на сайте по содержанию в названии этого значения св-ва и сохраняем в more_photo.
На эмуляторе - все проходит ок. На обновлении сохранении в админке тоже все ок. Но только клиент выгрузил напрямую базу, то добавилось в 3 раза больше картинок (как будто 3 раза прогнали), но самое странное то, что я каждый раз обнуляю множественное св-во через del=Y
В чем различие эмулятора и работы 1с выгрузки прямой?
Логи понаставил, но пока дождусь выгрузки 1с очередной, пройдет много времени. Спасибо
Вот код:
Собираю массив фоточек [CODE]$arImg=array();
for ($i = 0; $i <= 10; $i++) {
$url = $_SERVER["DOCUMENT_ROOT"]."/upload/blablabla/".$num.'-'.$i.'.jpg';
if (@fopen($url, "r")) {
$arImg[$i] = \CFile::MakeFileArray($url);
}
}[/CODE]
А далее существующее обнуляю и закидываю этот массив
[CODE]if(count($arImg)>0){
$k=0;
if(count($arFields['PROPERTY_VALUES']['111'])>0){
foreach ($arFields['PROPERTY_VALUES']['111'] as $key=>$val){
$arFields['PROPERTY_VALUES']['111'][$key]["VALUE"]['del'] = 'Y';
}
}
foreach ($arImg as $i=>$img){
if($i==1){
$arFields['PREVIEW_PICTURE'] = $arImg[$i];
$arFields['DETAIL_PICTURE'] = $arImg[$i];
}else{
$arFields['PROPERTY_VALUES']['111']['n'.$k] = $arImg[$i];
$k++;
}
}
}[/CODE]