Битрикс остатки по складам

Начиная с 12й версии в интернет-магазине CMS Битрикс доступен функционал учета остатков по складам. Это означает, что если у вас, например, 3 магазина со своими складами, то вы можете создать 3 склада, и остатки по ним будут отображаться и учитываться у каждого товара.

Также склады имеют привязку к сайту, таким образом можно сделать несколько интернет-магазинов, в зависимости от города, например, и каждый будет привязан к своему складу.

Также появился компонент, позволяющий вывести все остатки по складам, для определенного товара, пример вызова:

$APPLICATION -> IncludeComponent (
     "bitrix: catalog.store.amount" ,
     "" ,
     Array (
         "STORES" => array (),
         "ELEMENT_ID" => "29" ,
         "ELEMENT_CODE" => "" ,
         "OFFER_ID" => "" ,
         "STORE_PATH" => "/store/store_detail.php" ,
         "CACHE_TYPE" => "A" ,
         "«Наличие товара на складах» ,
         «USER_FIELDS» => массив ( «" , "" ),
         "FIELDS" => массив ( "TITLE" , "ADDRESS" , "PHONE" , "SCHEDULE" , "" ),
         "SHOW_EMPTY_STORE " => " Y " ,
         " USE_MIN_AMOUNT " => " Y " ,
         " SHOW_GENERAL_STORE_INFORMATION " => " N " ,
        "MIN_AMOUNT" => "0"
    )
);

Класс CCatalogStoreProduct  позволяет обрабатывать в битрикс остатки по складам, например код:

 


$arFields = Array(
        "PRODUCT_ID" => 25,
        "STORE_ID" => 3,
        "AMOUNT" => 4,
    );
    $ID = CCatalogStoreProduct::Update(1, $arFields);
    

 

задаст количество товара с ID = 25 на складе 3 равным 4.

 

В админке склады выглядят так:

Битрикс остатки по складам

А вот так остатки по складам выглядят на странице редактирования товара:

Битрикс остатки по складам

Бтрикс остатки по складам позволяют существенно расширить возможности интернет-магазина. При интеграции с 1с каждый товар будет подгружаться с необходимым на складе количеством, что избавит вас от проблем с отсутствием нужного товара на складе, что особенно важно для интеграции с яндекс маркетом.

К примеру, стоит задача вывести на сайте все товары для города Москва, при этом в Москве больше одного склада. Для этого потребуется создать еще одно свойство, к примеру s1_AVAILABLE, а на обработчик добавления или изменения элемента OnBeforeElementAdd/OnBeforeElementUpdate повесить функцию, которая будет складывать значения остатков по определенным складам (относящимся к Москве), и помещать в поле s1_AVAILABLE

А по этому полу сделать фильтр.



Статьи на тему: Оставить комментарий
x
Комментарий успешно отправлен и будет доступен после проверки модератором!