Автоматизация загрузки информации о товарах

#
Re: Автоматизация загрузки информации о товарах
Для того, чтобы можно было в 1С устанавливать специальные цены для товаров, и выгружать их на сайт через автоматический обмен, я в созданный мною, описанный выше, класс Shop_Item_Import_Cml_Observer добавил еще один статический метод.


static public function onBeforeImportShopItemPrice($object, $args)
   {
      
      $oShopItem = $args[0];
      
      $packageOfProposals = $args[1];
      
      $oProposal = $args[2];
      
      $oPrice = $args[3];
      
      $sPriceType = strval( $oPrice->ИдТипаЦены );
      $sGUID = strval( $oProposal->Ид );
      
      // Если у товара есть специальные цены
      $aSpecials = $object->xpath($oPrice, 'Специальные/Специальная');
      if (is_array($aSpecials) && count($aSpecials) > 0)
      {
         
         // Сначала удаляем все его специальные цены
         $oShopItem->Shop_Specialprices->deleteAll(FALSE);
         
         // Сохраняем переданные специальные цены
         foreach($aSpecials as $oSpecial )
         {
            $min = strval( $oSpecial->МинКол );
            $max = strval( $oSpecial->МаксКол );
            $percent = strval( $oSpecial->Процент );
            $price = strval( $oSpecial->Значение );
            
            $oShop_Specialprices = Core_Entity::factory( "Shop_Specialprice" );
            $oShop_Specialprices->shop_item_id($oShopItem->id)
               ->min_quantity($min)
               ->max_quantity($max)
               ->percent($percent)
               ->price($price)
               ->save();
         }
         
      }
      
      return TRUE;
      
   }


Ну и, конечно же, для того, чтобы это работало, соответствующим образом была доработана 1С.
Авторизация