@Barders

Как вставить вес и количество во вкладке Дополнительно в момент создания?

Создаю элемент программно:
$arLoadProductArray = Array(
			  "MODIFIED_BY"    => $USER->GetID(), // элемент изменен текущим пользователем
			  "ACTIVE_FROM" => date('d.m.Y H:i:s'),
		  	  "IBLOCK_SECTION" => $cat,          // элемент лежит в корне раздела
			  "IBLOCK_ID"      => 5,
			  "PROPERTY_VALUES"=> $PROP,
			  "NAME"           => trim($data[2]),
			  "QUANTITY" 		=> 100,
			  "CODE"			=> $data[0],
			  "ACTIVE"         	=> "N",  
			  "WEIGHT" 			=> (int)$data[5],          // активен
			  "PREVIEW_TEXT"   	=> $data[3],
			  "DETAIL_TEXT"    	=> $data[3],
			  "DETAIL_TEXT_TYPE" => 'text',
			  "PREVIEW_PICTURE" => $arFile,
			  "DETAIL_PICTURE" 	=> $arFile
			);
			
			if($PRODUCT_ID = $el->Add($arLoadProductArray)) {
				$add = true;
		    	echo "Создан : ".$PRODUCT_ID . " Товар: " . $data[2]."<BR>";
		    	CPrice::SetBasePrice($PRODUCT_ID, (int)$data[4], "RUB", 0);
		    	CCatalogProduct::Add($PRODUCT_ID, array('QUANTITY' => 100));
		    	CCatalogProduct::Add($PRODUCT_ID, array('WEIGHT' => (int)$data[5]));
		    	
		  }else{
		    	echo "Error: ".$el->LAST_ERROR . " " . $file . "<BR>";
		    	

			}


пробывал
CCatalogProduct::Update($PRODUCT_ID, array('QUANTITY' => 100));
CCatalogProduct::Update($PRODUCT_ID, array('WEIGHT' => (int)$data[5]));

и не добавляет ни вес, ни доступное количество
  • Вопрос задан
  • 614 просмотров
Решения вопроса 1
@Barders Автор вопроса
В общем решил так:
$existProduct = \Bitrix\Catalog\Model\Product::getCacheItem($arFields['ID'],true);

				if(!empty($existProduct)){
				 \Bitrix\Catalog\Model\Product::update(intval($PRODUCT_ID),array("ID" => $PRODUCT_ID, array('WEIGHT' => (int)$data[5])));
				} else {
				 \Bitrix\Catalog\Model\Product::add(array("ID" => $PRODUCT_ID, 'WEIGHT' => (int)$data[5]));
				}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Вот кусок кода как я обновляю данные
$arFields = array(
        'WEIGHT' => $arrResult['Вес'],
        'WIDTH' => $arrResult['Ширина'],
        'LENGTH' => $arrResult['Глубина'],
        'HEIGHT' => $arrResult['Высота'],
    );

    // обновляем данные
   CCatalogProduct::Update($arrResult['ID'], $arFields);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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