Получить торговые предложения по ID товара в 1с-Битрикс 


Пример получения информации о торговых предложениях товара через API 1С-Битрикс (php) – доступно из любого скрипта с подключенным PROLOG, проверялось на Управление сайтом 20.0.1650. (версия модуля интернет-магазин 20.0.687)

<?php
$IBLOCK_ID = 1; // id инфоблока товаров
$IDS = array(1, 2, 3); // id товаров, по которым нужно получить торговые предложения

// получаем товары
$arSelect = Array('ID', 'NAME');  
$arFilter = Array('IBLOCK_ID' => $IBLOCK_ID, 'ID' => $IDS);  
$res = CIBlockElement::GetList(Array(), $arFilter, false, Array(), $arSelect);  

// по товарам получаем торговые предложения
while ($ob = $res->GetNextElement()) {  
    $arElement = $ob->GetFields(); 
    $mxResult = CCatalogSKU::getOffersList( 
        $arElement['ID'], 
        0, 
        array('CATALOG_AVAILABLE' => 'Y', 'ACTIVE' => 'Y'), // берем только активные и в наличии
        array('ID', '*'), 
        array()  
    ); 
    if (is_array($mxResult[$arElement['ID']])) { 
        foreach ($mxResult[$arElement['ID']] as $sku) { 
            // выводим массив с данными о торговых предложениях
            print '<pre>'; print_r($sku); print '</pre>';
        } 
    } 
}