Добрый день.
Написал некий скрипт для добавления товаров из excel, все работает как надо, но, товары имеющие одинаковые названия (например: "фильтр масляный" и "фильтр масляный" не хотят добавляться, то есть добавляется только один из них). Я полагаю, что дело в скрипте, так как помимо добавления товаров нужно еще еженедельно делать обновление остатков и цен, подскажите пожалуйста где моя ошибка?
Написал некий скрипт для добавления товаров из excel, все работает как надо, но, товары имеющие одинаковые названия (например: "фильтр масляный" и "фильтр масляный" не хотят добавляться, то есть добавляется только один из них). Я полагаю, что дело в скрипте, так как помимо добавления товаров нужно еще еженедельно делать обновление остатков и цен, подскажите пожалуйста где моя ошибка?
Код |
---|
... foreach($prod_res->data as $val) { $sectionName = $q; $parentSectionId = getSectionId($sectionName); $productName = $val->itemTitle; $arFilterProduct = Array( "IBLOCK_ID" => IBLOCK_CATALOG, 'NAME' => $productName, "IBLOCK_SECTION_ID" => $parentSectionId, 'ACTIVE' => 'Y', ); $resProduct = CIBlockElement::GetList(Array('SORT' => 'ASC'), $arFilterProduct, false, false, array()); $el = new CIBlockElement; $arr = array( "IBLOCK_ID" => IBLOCK_CATALOG, "IBLOCK_SECTION_ID" => $parentSectionId, "NAME" => $productName, "CODE" => rus2translit($productName) . $val->mnd, "ACTIVE" => 'Y', "DETAIL_PICTURE" => CFile::MakeFileArray($img_pr), "PROPERTY_VALUES" => array( 'ARTICLE' => '', 'ARTICLE_MANUFACTURER' => $val->mnd, 'PROP_165' => $val->manufacturer, 'PRICE_TITLE' => $val->priceTitle, 'SOURCE_TYPE' => $val->sourceType ) ); if ($arResProduct = $resProduct->Fetch()) { $res = $el->Update($arResProduct["ID"], $arr); //echo "Позиция обновлена \n"; } else { if ($arResProduct["ID"] = $el->Add($arr)) { //echo "Новый товар ИД: " . $arResProduct["ID"] . "\n"; } else { //echo "Ошибка товарd: " . $el->LAST_ERROR . "\n"; } } $price = array( "PRODUCT_ID" => $arResProduct["ID"], "CATALOG_GROUP_ID" => 1, "PRICE" => $val->price, "CURRENCY" => "RUB" ); $resPrice = CPrice::GetList( array(), array( "PRODUCT_ID" => $arResProduct["ID"], "CATALOG_GROUP_ID" => 1 ) ); $quantityp = array( "ID" => $arResProduct["ID"], "QUANTITY" => $val->availability ); $arrPrice = $resPrice->Fetch(); if ($arrPrice) { //echo "> обновлен \n"; CPrice::Update($arrPrice["ID"], $price); CCatalogProduct::Add($quantityp); } else { //echo "Price add\n"; CCatalogProduct::Add($quantityp); CPrice::Add($price); } } ... |