Задать вопрос
Chernichko
@Chernichko
Учусь.

Как обновить количество товарного предложения товара на складах Bitrix api?

Короче, надо обновить данные товаров и если обновить торговые предложения товаров я реализовала, то их количество на складах создало трудностию Делаю так:

CModule::IncludeModule("iblock");
CModule::IncludeModule('catalog');

........

$ppID = false;
			$res = CCatalogStoreProduct::GetList( 
				array(), 
				array( 
					"PRODUCT_ID" => $productID
				) 
			);
			if ($arr = $res->Fetch()) {
				$ppID = $arr["ID"];
			}

			$arFields = Array(
				"PRODUCT_ID" => $productID,
				"STORE_ID" => $storage_id,
				"AMOUNT" => $storage["quantity"]
			);

			if(!$ppID){
				echo '<pre>';
				var_dump(CCatalogStoreProduct::Add($arFields));
				echo '</pre>';
			}

			echo '<pre>';
			var_dump($ppID);
			echo '</pre>';


Возвращает
bool(false)
bool(false)


ЧТо не так?
Как обновить количество товарных предложений на складах?
  • Вопрос задан
  • 1734 просмотра
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
@vaajnur
битриксоид
делай update а не add.
list($PRODUCT_ID, $STORE_ID) = array(53914, 5);
// класс для работы со остатками товара на складах. Не путать с CCatalogStore
	$rsStore = CCatalogStoreProduct::GetList(
		[],
		[
			"PRODUCT_ID" => $PRODUCT_ID,
			"STORE_ID" => $STORE_ID,
		],
		false,
		false,
		[]
	);
	$arStore = $rsStore->Fetch();

	$res = CCatalogStoreProduct::Update(
	   $arStore['ID'],
	   [
			"PRODUCT_ID" => $PRODUCT_ID,
			"STORE_ID" => $STORE_ID,
	        "AMOUNT" => 0,
	   ]
	);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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