Simindey
8/14/2017 - 7:01 AM

Добавляем товар правильно (Сначала добавляем элемент инфоблока, затем добавляем элемент торгового каталога, затем создаем цену.)

Добавляем товар правильно (Сначала добавляем элемент инфоблока, затем добавляем элемент торгового каталога, затем создаем цену.)

<?
$arFields = Array(
      "MODIFIED_BY"    => $USER->GetID(), // элемент изменен текущим пользователем
      "IBLOCK_SECTION_ID" => false,          // элемент лежит в корне раздела
      "IBLOCK_ID"      => 4,
      "NAME"           => $row[3],
      "ACTIVE"         => "Y",            // активен
      "PREVIEW_TEXT"   => $row[5],
      "DETAIL_TEXT"    => $row[4],
   );
   $el_ob = new CIBlockElement
   
   if($last_el_id = $el_ob->Add($arFields))
   {
      echo 'New ID: ' . $last_el_id . '<br>';

      $arFields = array(
         "ID" => $last_el_id, 
         "VAT_INCLUDED" => "Y"
      );

      if(CCatalogProduct::Add($arFields))
      {
         echo "Добавили параметры товара к элементу каталога " . $last_el_id . '<br>';
         
         $arFields = Array(
            "PRODUCT_ID" => $last_el_id,
            "CATALOG_GROUP_ID" => 1,
            "PRICE" => $row[6],
            "CURRENCY" => "RUB",
         );
         CPrice::Add($arFields);
      }
      else
         echo 'Ошибка добавления параметров товара<br>';
   }
   else
      echo 'Error: ' . $el_ob->LAST_ERROR  . '<br>'