На отдельной странице сделал пример ошибки, выглядит так:
[CODE]/*
$ProductID = 10083;
$productList = 10083;
$offersExist = CCatalogSKU::getExistOffers($productList, $iblockID = 0);//тут есть предложения, до гетлиста
$IsOffer=CCatalogSKU::IsExistOffers($ProductID);//тут есть предложения, до гетлиста
echo "<pre>"; var_dump($offersExist); echo "</pre>";
echo "<pre>"; var_dump($IsOffer); echo "</pre>";
*/
$IBLOCK_ID = 33;
$SECTION_ID = 713;
$HaveElements = CIBlockElement::GetList(array(),array("IBLOCK_ID"=>$IBLOCK_ID,"ACTIVE"=>"Y","SECTION_ID"=>$SECTION_ID),array());
$ProductID = 10083;
$productList = 10083;
$offersExist = CCatalogSKU::getExistOffers($productList, $iblockID = 0);//тут НЕТ предложений, после гетлиста
$IsOffer=CCatalogSKU::IsExistOffers($ProductID);//тут НЕТ предложений, после гетлиста
echo "<pre>"; var_dump($offersExist); echo "</pre>";
echo "<pre>"; var_dump($IsOffer); echo "</pre>";
[/CODE]
Соответственно, до гетлиста вардамп показывает true, после показывает:
[CODE]array(1) {
[10083]=>
bool(false)
}
bool(false)[/CODE]10083 - айди товара с двумя торговыми предложениями.