Небольшая, но весьма полезная функция получения минимальной цены среди торговых предложений товара в Битрикс:
/*
* функция получения минимальной цены среди торговых предложений товара с id = $item_id
*/
function get_offer_min_price($item_id){
$ret = 0;
CModule::IncludeModule("iblock");
CModule::IncludeModule("catalog");
// ID инфоблока товаров
$IBLOCK_ID = 7;
$ID = $item_id;
$arInfo = CCatalogSKU::GetInfoByProductIBlock($IBLOCK_ID);
if (is_array($arInfo)) {
$res = CIBlockElement::GetList(Array("PRICE"=>"asc"),
array('IBLOCK_ID'=>$arInfo['IBLOCK_ID'], 'ACTIVE'=>'Y', 'PROPERTY_'.$arInfo['SKU_PROPERTY_ID'] => $ID),
false,
false,
array('ID', 'NAME'))->GetNext();
if ($res){
$ret = GetCatalogProductPrice($res["ID"], 1);
if ($ret['PRICE']){
$ret = $ret['PRICE'];
}
}
}
return $ret;
}
Второй параметр у функции:
GetCatalogProductPrice($res["ID"], 1);
это ID типа цены.
Если же мы хотим, чтобы цена была с отступами тысячей и округлённая (выглядит так симпатичнее):

то можно воспользоваться округлением:
$ret = round($ret);
и реализацией отступов:
$ret = number_format($ret, 0, '', ' ' );