Июнь 2, 2018
Работа со складами и количеством товара средствами классов "\Bitrix\Catalog\StoreTable" и "\Bitrix\Catalog\StoreProductTable".
Выборка всех активных складов:
Пример результата для одного склада:
Array
(
[ID] => 12
[TITLE] => Магазин на Большевиков
[ACTIVE] => Y
[ADDRESS] => пр. Большевиков, д. 9 к. 1
[DESCRIPTION] => Вс(12:00-07:00) Пн-Сб(12:00-08:00)
[GPS_N] => 59.312447564205
[GPS_S] => 30.253246999999
[IMAGE_ID] =>
[LOCATION_ID] =>
[DATE_MODIFY] => Bitrix\Main\Type\DateTime Object
(
[value:protected] => DateTime Object
(
[date] => 2018-06-01 18:05:03.000000
[timezone_type] => 3
[timezone] => Europe/Moscow
)
)
[DATE_CREATE] => Bitrix\Main\Type\DateTime Object
(
[value:protected] => DateTime Object
(
[date] => 2017-12-28 19:24:22.000000
[timezone_type] => 3
[timezone] => Europe/Moscow
)
)
[USER_ID] =>
[MODIFIED_BY] =>
[PHONE] => (023) 124-44-15
[SCHEDULE] => пн-сб с 11:00 до 20:00, вс в 11:00 до 19:00
[XML_ID] => 000000004
[SORT] => 100
[EMAIL] =>
[ISSUING_CENTER] => Y
[SHIPPING_CENTER] => Y
[SITE_ID] =>
[CODE] =>
)
Получение информации о складе с идентификатором в переменной $storeId:
Выборка всех полей, включая пользовательские, склада и идентификатором в переменной $storeId:
Выборка количества товара с идентификатором в $productId на всех активных складах:
Выборка количества товара с идентификатором в $productId на всех активных складах (дополнительно выбираем название склада):
Выборка количества товара с идентификатором в $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);
}