В 1С основной склад разбит на несколько мелких
на сайт надо вывести один склад и остатки на нем сумма всех мелких складов
в init.php добавил объединение складов
со всех складов все остатки переложить на склад 1
Но где то ошибка. В логах пишет что поменял остаток. А по факту заходишь в карточку товара - остаток не изменен
на сайт надо вывести один склад и остатки на нем сумма всех мелких складов
в init.php добавил объединение складов
со всех складов все остатки переложить на склад 1
| Код |
|---|
// Склады----------------------------------
$elementID = $ELEMENT_ID;
$storeRes = CCatalogStoreProduct::GetList(
array("SORT" => "ASC"), # сортировка
array("PRODUCT_ID" => $elementID), # отбор по фильтру
false, # группировка по полям
false, # параметры выборки
array("*") # поля для выборки
);
$sklad=0; //Сюда будем суммировать остатки
while($arStoreParam = $storeRes->Fetch())
{
switch ($arStoreParam["STORE_ID"]) //перебираем склады которые надо объединить
{
CASE 68:
CASE 69:
CASE 70:
CASE 71:
CASE 72:
CASE 73:
CASE 74:
CASE 75:
CASE 76:
CASE 77:
CASE 78:
CASE 79:
CASE 80:
CASE 82:
$sklad += $arStoreParam["AMOUNT"];
break;
}
}
if ($sklad >0) // Если остатки есть, то записываем их в склад №1
{
$arFields = Array(
"PRODUCT_ID" => $ELEMENT_ID,
"STORE_ID" => 1,
"AMOUNT" => $sklad,
);
$ID=CCatalogStoreProduct::Update(1, $arFields);
if ($ID != false)
{
echo "Эл ".$ELEMENT_ID." С - ".$ID." кол = ".$sklad; // выводим в лог для контроля
}
}
//-------------------------------------
|
Но где то ошибка. В логах пишет что поменял остаток. А по факту заходишь в карточку товара - остаток не изменен