Ребят, привет!
У меня во время выгрузки 1с срабатывают события OnBeforeIBlockElementAdd и OnBeforeIBlockElementUpdate. На них прописано: берем значение св-ва одного и тащим картинки из папки на сайте по содержанию в названии этого значения св-ва и сохраняем в more_photo.
На эмуляторе - все проходит ок. На обновлении сохранении в админке тоже все ок. Но только клиент выгрузил напрямую базу, то добавилось в 3 раза больше картинок (как будто 3 раза прогнали), но самое странное то, что я каждый раз обнуляю множественное св-во через del=Y
В чем различие эмулятора и работы 1с выгрузки прямой?
Логи понаставил, но пока дождусь выгрузки 1с очередной, пройдет много времени. Спасибо
Вот код:
Собираю массив фоточек
А далее существующее обнуляю и закидываю этот массив
У меня во время выгрузки 1с срабатывают события OnBeforeIBlockElementAdd и OnBeforeIBlockElementUpdate. На них прописано: берем значение св-ва одного и тащим картинки из папки на сайте по содержанию в названии этого значения св-ва и сохраняем в more_photo.
На эмуляторе - все проходит ок. На обновлении сохранении в админке тоже все ок. Но только клиент выгрузил напрямую базу, то добавилось в 3 раза больше картинок (как будто 3 раза прогнали), но самое странное то, что я каждый раз обнуляю множественное св-во через del=Y
В чем различие эмулятора и работы 1с выгрузки прямой?
Логи понаставил, но пока дождусь выгрузки 1с очередной, пройдет много времени. Спасибо
Вот код:
Собираю массив фоточек
Код |
---|
$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); } } |
А далее существующее обнуляю и закидываю этот массив
Код |
---|
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++; } } } |