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

Разработка интернет магазина 1с битрикс

Разработка интернет магазина на 1с битриксРазработка интернет магазина на 1с битрикс

Если вы хотите создать свой собственный интернет-магазин, который будет работать эффективно и приносить вам прибыль, то вам нужен сайт на 1С-Битрикс. 1С-Битрикс — это лидер рынка в области разработки онлайн-магазинов,

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

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

Bitrix как убрать заказы из очереди на выгрузку с сайта в 1СBitrix как убрать заказы из очереди на выгрузку с сайта в 1С

В данной статье мы рассмотрим, как можно убрать заказы из очереди на выгрузку с сайта bitrix в 1С. Флаг EXTERNAL_ORDER используется для обозначения заказов, которые были созданы в 1С. Если