[QUOTE]Олег Сапегин пишет:
Кто-то на форуме сказал, что функция GetIBlockElement() давно уже устарела и ей нежелательно пользоваться, вроде замена ей CIBlockElement::GetList(). [/QUOTE]
GetIBlockElement() не устарела, а является функцией-хелпером, которая выбирает все базовые поля элемента, его свойства и информацию об инфоблоке. И использует она тот же CIBlockElement::GetList().
Вот ее код:
[CODE] $filter = Array("ID"=>IntVal($ID), "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y", "CHECK_PERMISSIONS"=>"Y");
if($TYPE!="")
$filter["IBLOCK_TYPE"]=$TYPE;
$iblockelement = CIBlockElement::GetList(Array(), $filter);
if($obIBlockElement = $iblockelement->GetNextElement())
{
$arIBlockElement = $obIBlockElement->GetFields();
if($arIBlock = GetIBlock($arIBlockElement["IBLOCK_ID"], $TYPE))
{
$arIBlockElement["IBLOCK_ID"] = $arIBlock["ID"];
$arIBlockElement["IBLOCK_NAME"] = $arIBlock["NAME"];
$arIBlockElement["~IBLOCK_NAME"] = $arIBlock["~NAME"];
$arIBlockElement["PROPERTIES"] = $obIBlockElement->GetProperties();
return $arIBlockElement;
}
}
[/CODE]
В приведенном вами примере, рациональнее работать напрямую через GetList().