Перейти к содержимому

Изменение остатков товара в 1C-Bitrix с использованием PHP

1C-Bitrix - популярная платформа для создания и управления веб-сайтами. Если вам нужно изменить остатки у товара в системе, вы можете воспользоваться PHP функцией.

Пример функции

<?php
/**
* Устанавливает новое количество товара на складе в 1С Битрикс.
*
* @param int $productId - Идентификатор товара.
* @param int $quantity - Новое количество товара.
* @param int $storeIdInBitrix - Идентификатор склада в 1С Битрикс.
*/
function setQuantityForOffer($productId, $quantity, $storeIdInBitrix)
{
// Получение данных о товаре на складе
$storeProduct = CCatalogStoreProduct::GetList(array(), array(
"PRODUCT_ID" => $productId,
"STORE_ID" => $storeIdInBitrix
), array('ID');
$storeProduct = $storeProduct->Fetch();
// Собираем массив данных для обновления или добавления записи
$arFields = array(
"PRODUCT_ID" => $productId,
"STORE_ID" => $storeIdInBitrix,
"AMOUNT" => $quantity,
);
// Если запись существует, обновляем её, иначе добавляем новую
if ($storeProduct) {
CCatalogStoreProduct::Update($storeProduct['ID'], $arFields);
} else {
CCatalogStoreProduct::Add($arFields);
}
}

Как использовать

Просто вызовите функцию setQuantityForOffer с необходимыми параметрами:

$productId = 123; // Замените на реальный идентификатор товара
$quantity = 50; // Новое количество товара
$storeIdInBitrix = 1; // Идентификатор склада в 1С Битрикс
setQuantityForOffer($productId, $quantity, $storeIdInBitrix);