Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Нужна помощь с добавлением товара торгового предложения

00 голосов
7
Здравствуйте, возникла следующая проблема
Я добавляю товары торгового каталога и его торговые предложения с помощью  api bitrix,
товары торгового каталога добавляются прекрасно и свойства и названия и т.д, а вот в товары торгового предложения почему-то свойства не добавляются или добавляются одни и те же для всех товаров.
Вот мой используемый код, надеюсь что -нибудь подскажет что делать, заранее благодарен за любую помощь:

Код
<?
$arProp = array();
$arProp[55] = $arr[6];  
$arProp[56] = $arr[7];   
$arProp[144] = $arr[15];   
             
$PROP = array();
$PROP[57] = $arr[9];  
$PROP[58] = $arr[10];        
$PROP[59] = $arr[11]; 
$PROP[60] = $arr[12]; 
$PROP[62] = $arr[14];  
  $PROP[147] = $arr[16];  


$arFields = array(
    'NAME' => $na,
'DETAIL_TEXT'  => $arr[16],
   'IBLOCK_ID' => $intProductIBlock,
   'ACTIVE' => 'Y',
        'DETAIL_PICTURE' => CFile::MakeFileArray($rtt),
   "PROPERTY_VALUES"=> $PROP,
);

$intProductID = $obElement->Add($arFields); // добавили товар, получили ID
$arFields = Array(
    "PRODUCT_ID" => $intProductID,
    "CATALOG_GROUP_ID" => 1,
    "PRICE" => $arr[4],
    "CURRENCY" => "RUB",
    "QUANTITY_FROM" => 1,
    "QUANTITY_TO" => 10




   
);

$res = CPrice::GetList(
        array(),
        array(
                "PRODUCT_ID" => $intProductID,
                "CATALOG_GROUP_ID" => 1
            )
    );

if ($arr11 = $res->Fetch())
{
    CPrice::Update($arr11["ID"], $arFields);
}
else
{
    CPrice::Add($arFields);
}

CCatalogProduct::Add(Array("ID"=>$intProductID,"QUANTITY"=>$arr[2], "QUANTITY_TRACE"=>"N" ));
      $arFields = Array(
    "PRODUCT_ID" => $intProductID,
    "CATALOG_GROUP_ID" =>2,
    "PRICE" => $arr[17],
    "CURRENCY" => "RUB",
    "QUANTITY_FROM" => 1,
    "QUANTITY_TO" => 10
    
);

$res = CPrice::GetList(
        array(),
        array(
                "PRODUCT_ID" => $intProductID,
                "CATALOG_GROUP_ID" => 2
            )
    );

if ($arr11 = $res->Fetch())
{
    CPrice::Update($arr11["ID"], $arFields);
}
else
{
    CPrice::Add($arFields);
}   
         
if ($intProductID)
{
   $arProp[$intSKUProperty] = $intProductID;
   $arFields0 = array(
      'NAME' => $arr[5],
      'IBLOCK_ID' => $intSKUIBlock,
     "IBLOCK_SECTION_ID" =>  $ID1,  
      'ACTIVE' => 'Y',
      'PROPERTY_VALUES' => $arProp,
   );
   $intOfferID = $obElement->Add($arFields0); 
   
}
  
 ?>
спросил 23 Июль, 13 от Marwella (160 баллов)

7 Ответы

00 голосов
Мдя, похоже это как-то связано со SKU, так как когда отключаю свойство элемент каталога  то всё записывается, но мне-то нужно именно в связке делать.
Торговый каталог блокирует что ли изменение свойств торг. предложения?
ответил 23 Июль, 13 от Marwella (160 баллов)
00 голосов
Добрый день! Нет, не блокирует. На первый взгляд все верно. Что возвращается в $intOfferID?
ответил 16 Сен, 13 от Pomnep (13,960 баллов)
00 голосов
Здраствуйте, $intOfferID - образуется id-ник верный, а arfield0 формирует массив с правильными для меня значениями(

Когда отключаю $arProp[$intSKUProperty] = $intProductID;, то всё записывается верно
ответил 15 Дек, 13 от Marwella (160 баллов)
00 голосов
Цитата
kiro-san пишет:
Когда отключаю $arProp[$intSKUProperty] = $intProductID;, то всё записывается верно
Поясните с примерами, пожалуйста.
ответил 29 Март, 14 от Pomnep (13,960 баллов)
00 голосов
Поясняю, есть 3 свойства Дата начала Дата окончания Код
Данные беру из строки txt-файла
Например
1999 2000 значение кода это первая строка
2003 2005 другое значение - 2-ая строка
2000 2001 - 3 и т.д
Так вот когда включаю $arProp[$intSKUProperty] = $intProductID, то всем торговым предложениям добавляется 1-ая строка и только
Отключаю, как положено добавляется то что нужно
ответил 22 Июль, 14 от Marwella (160 баллов)
00 голосов
$intSKUProperty содержит верное значение?
ответил 23 Ноя, 14 от Pomnep (13,960 баллов)
00 голосов
Думаю да, это id-шник, который такой же как и в свойствах инфоблока
ответил 19 Март, 15 от Marwella (160 баллов)

Похожие вопросы

0 голосов
0 ответов
спросил 04 Апр, 14 от Xepo6ouTc (260 баллов)
0 голосов
3 ответов
спросил 04 Март, 14 от Vonki (100 баллов)
0 голосов
3 ответов
спросил 26 Фев, 14 от Waicon (280 баллов)
0 голосов
4 ответов
спросил 29 Дек, 13 от WETERa (800 баллов)
0 голосов
1 ответ