Добрый день. Делаю интеграцию интернет-магазина со внешней системой. До этого в магазине не было торговых предложений и пришлось делать их генератор, но это другая история, проблема в следующем, при загрузке товаров делаю обновление их остатков на складах следующим кодом:
Код |
---|
$storageListObj = CCatalogStore::GetList(array("SORT" => "ASK"), array("ACTIVE" => "Y", "TITLE" => $storageName), false, false, array("*"));// Найдем нужный склад
if ($storageInfo = $storageListObj->Fetch()) {
// Выбираем инфу по товару для склада
$rsStore = CCatalogStoreProduct::GetList(array(), array('PRODUCT_ID' => $intOfferID, 'STORE_ID' => $storageInfo['ID']), false, false, array('*'))->Fetch();
if ($rsStore) { // Если данный товар есть на складе
$arFields = Array(
"PRODUCT_ID" => $intOfferID,
"STORE_ID" => $storageInfo['ID'],
"AMOUNT" => $quantityValue,
);
CCatalogStoreProduct::Update($rsStore['ID'], $arFields); // Обновляем количество товара на складе
} else { // Если его на складе нет
$arFields = Array(
"PRODUCT_ID" => $intOfferID,
"STORE_ID" => $storageInfo['ID'],
"AMOUNT" => $quantityValue,
);
CCatalogStoreProduct::Add($arFields); // Добавляем к-во товара на складе
}
}
|
Возникает проблема, доступное к-во на складах не обновляется автоматически и в итоге товар в детальной карточке отображается как недоступный, возможно кто-то знает как решается эта проблема? Возможно можно как-то запустить переиндексацию остатков?