Блог Горошко Андрея 1C-Битрикс Обновление количества товара на складе в Bitrix

Обновление количества товара на складе в Bitrix

Средний рейтинг
Еще нет оценок

Обновление количества товара на складе в Bitrix можно сделать так

В коде ниже происходит следующее:

  1. Сначала мы получаем ID склада, используя XML_ID из переменной $deliveryProp.
  2. Затем мы получаем текущее количество товара на этом складе для конкретного товара.
  3. Мы вычисляем новое количество товара, добавляя к текущему количеству количество из $arAddProductXmlID['QUANTITY'].
  4. Наконец, мы обновляем количество товара на складе, используя метод update класса \Bitrix\Catalog\StoreProductTable.
// Получить ID склада по XML_ID
$deliveryPropertyXmlId = $deliveryProp;
$storeData = Bitrix\Catalog\StoreTable::getList(array(
'filter' => array('XML_ID' => $deliveryPropertyXmlId),
'select' => array('ID'),
))->fetch();
$storeId = $storeData['ID'];

// Получить текущее количество товара на складе
$productId = $arFields['ID'];
$storeProductData = \Bitrix\Catalog\StoreProductTable::getList(array(
'filter' => array('PRODUCT_ID' => $productId, 'STORE_ID' => $storeId),
))->fetch();
$currentAmount = $storeProductData['AMOUNT'];

// Добавить количество товара, которое нужно при добавлении
$additionalQuantity = $arAddProductXmlID['QUANTITY'];
$newAmount = $currentAmount + $additionalQuantity;

// Обновить количество товара на складе
$updateFields = Array(
"PRODUCT_ID" => $productId, //ID товара
"STORE_ID" => $storeId, //ID склада
"AMOUNT" => $newAmount, //Количество
'AVAILABLE' => 'Y',
);
\Bitrix\Catalog\StoreProductTable::update($storeProductData['ID'], $updateFields);

Мой рейтинг:

Добавить комментарий

Related Post

Отложенные функции в шаблонах: SetViewTarget и ShowViewContentОтложенные функции в шаблонах: SetViewTarget и ShowViewContent

Средний рейтинг Еще нет оценок Частая задача верстальщика: компонент (например, детальная новость) выводится в основной области контента, но какую-то его часть (дату, теги, кнопку «Поделиться») нужно отобразить в другом месте

Обработка форм и POST-запросов в Битрикс: От HTML до component.phpОбработка форм и POST-запросов в Битрикс: От HTML до component.php

Средний рейтинг Еще нет оценок Любой интерактивный сайт нуждается в формах: обратная связь, заказ, подписка. В Битрикс вы можете легко создать свою собственную логику обработки форм внутри компонента. Это дает

Манипуляции с массивами в D7: Класс \Bitrix\Main\Type\CollectionМанипуляции с массивами в D7: Класс \Bitrix\Main\Type\Collection

Средний рейтинг Еще нет оценок В PHP работа с многомерными массивами (например, сортировка списка товаров по цене) часто требует написания громоздких usort с замыканиями. В ядре D7 есть статический класс \Bitrix\Main\Type\Collection, который содержит