StoreProductTable - uniqcle/Bitrix GitHub Wiki

D7

StoreProductTable - класс для работы с таблицей хранящихся на складах товаров.

https://dev.1c-bitrix.ru/api_d7/bitrix/catalog/storeproducttable/index.php

getList

Выборка количества товара с идентификатором в $productId на всех активных складах

$rsStoreProduct = \Bitrix\Catalog\StoreProductTable::getList(array(
    'filter' => array('=PRODUCT_ID'=>$productId,'STORE.ACTIVE'=>'Y'),
));

while($arStoreProduct=$rsStoreProduct->fetch()){
    print_r($arStoreProduct);
}

Выборка количества товара с идентификатором в $productId на всех активных складах (дополнительно выбираем название склада)

$rsStoreProduct = \Bitrix\Catalog\StoreProductTable::getList(array(
    'filter' => array('=PRODUCT_ID'=>$productId,'STORE.ACTIVE'=>'Y'),
    'select' => array('AMOUNT','STORE_ID','STORE_TITLE' => 'STORE.TITLE'),
));

while($arStoreProduct=$rsStoreProduct->fetch()){
    print_r($arStoreProduct);
}

Выборка количества товара с идентификатором в $productId на складе с идентификатором в $storeId (дополнительно выбираем название склада и название товара)

$rsStoreProduct = \Bitrix\Catalog\StoreProductTable::getList(array(
    'filter' => array('=PRODUCT_ID'=>$productId,'=STORE_ID'=>$storeId),
    'limit' => 1,
    'select' => array('AMOUNT','STORE_TITLE' => 'STORE.TITLE', 'PRODUCT_NAME' => 'PRODUCT.IBLOCK_ELEMENT.NAME'),
));

if($arStoreProduct=$rsStoreProduct->fetch()){
    print_r($arStoreProduct);
}

Deprecated

CCatalogStoreProduct::Add()

//Теперь добавим количество по складам. Пример для склада с ID 1:
$arFields = Array(
   "PRODUCT_ID" => $ID,
   "STORE_ID"   => $storeID,
   "AMOUNT"     => $rest,
);
CCatalogStoreProduct::Add($arFields);