Лечение проблемы через правку ядра.
В файле /bitrix/modules/iblock/classes/general/cml2.php в 2-х местах! нужно изменить:
Код |
---|
if(array_key_exists($this->mess["IBLOCK_XML2_AMOUNT"], $arXMLElement))
{
$arElementTmp = array();
$arElement["QUANTITY_RESERVED"] = 0;
if($arElement["ID"])
$arElementTmp = CCatalogProduct::GetById($arElement["ID"]);
if(is_array($arElementTmp) && !empty($arElementTmp) && isset($arElementTmp["QUANTITY_RESERVED"]))
$arElement["QUANTITY_RESERVED"] = $arElementTmp["QUANTITY_RESERVED"];
$arElement["QUANTITY"] = $this->ToFloat($arXMLElement[$this->mess["IBLOCK_XML2_AMOUNT"]]) - doubleval($arElement["QUANTITY_RESERVED"]);
}
|
на:
Код |
---|
if(array_key_exists($this->mess["IBLOCK_XML2_AMOUNT"], $arXMLElement))
{
$arElementTmp = array();
$arElement["QUANTITY_RESERVED"] = 0;
if($arElement["ID"])
$arElementTmp = CCatalogProduct::GetById($arElement["ID"]);
if(is_array($arElementTmp) && !empty($arElementTmp) && isset($arElementTmp["QUANTITY_RESERVED"]))
$arElement["QUANTITY_RESERVED"] = $arElementTmp["QUANTITY_RESERVED"];
$arElement["QUANTITY"] = $this->ToFloat($arXMLElement[GetMessage("IBLOCK_XML2_AMOUNT")]) - doubleval($arElement["QUANTITY_RESERVED"]);
}
else
$arElement["QUANTITY"] = 0; |