Блог Горошко Андрея 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

Правильное использование BB кода в 1С-БитриксПравильное использование BB кода в 1С-Битрикс

В 1С-Битрикс BB код используется для форматирования текста в различных модулях, таких как форумы, задачи, блоги и комментарии. Для его обработки используется класс CTextParser. Вот несколько основных правил использования BB

Создание Highload-блоков в Битрикс с помощью phpСоздание Highload-блоков в Битрикс с помощью php

Highload-блоки (HL-блоки) в Битрикс — мощный инструмент для работы с большими объемами структурированных данных. В этой статье разберем, как программно создавать HL-блоки с кастомными полями, проверять их существование и избегать

Чем отличается ядро D7 bitrix и bitrix старое ядроЧем отличается ядро D7 bitrix и bitrix старое ядро

D7 Bitrix — это новое ядро Битрикс, которое было создано для замены старого ядра. D7 Bitrix является новым ядром разработки, которое было введено в версии Bitrix CMS 14.0. Оно имеет