Можете использовать следующий код в качестве примера:
$arFields = $USER_FIELD_MANAGER->GetUserFields("IBLOCK_33_SECTION");
$obEnum = new CUserFieldEnum;
$rsEnum = $obEnum->GetList(array(), array("USER_FIELD_ID" => $arFields["UF_MY_LIST"]["ID"]));
while($arEnum = $rsEnum->GetNext())
{
}
Для получения строкового значения пользовательского свойства типа "список" используйте следующий код:
$rsEnum = CUserFieldEnum::GetList(array(), array("ID" =>$ENUM_ID));
// $ENUM_ID - возвращаемый ID значения
$arEnum = $rsEnum->GetNext();
echo $arEnum["VALUE"];
Чтобы не использовать API классов пользовательских полей для получения значений, Вы можете поступить проще, используя компонент bitrix:system.field.view:
$arUserFields = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFields("IBLOCK_30_SECTION", 144, LANGUAGE_ID);
foreach ($arUserFields as $FIELD_NAME => $arUserField):
$APPLICATION->IncludeComponent(
"bitrix:system.field.view",
$arUserField["USER_TYPE"]["USER_TYPE_ID"],
array("arUserField" => $arUserField), null, array("HIDE_ICONS"=>"Y"));
endforeach;
где IBLOCK_30_SECTION - объект (группа инфоблока 30)
144 - ID группы