Пользовательские поля Битрикс D7

Обновление ПП у Пользователя

global $USER_FIELD_MANAGER;
if ($USER_FIELD_MANAGER->Update('USER', $idUser, ['UF_FAVOURITES' => $arProducts])) {
    $response = [
        'result' => $result,
        'message' => 'success',
    ];

use Bitrix\Iblock\SectionTable;
use Bitrix\Main\Diag\Debug;
use Bitrix\Main\Loader;

Loader ::includeModule('iblock');

$arSections = [];
$sections = SectionTable ::getList([
   'select' => [
      'ID',
      'IBLOCK_ID',
      'IBLOCK_SECTION_ID',
      'CODE',
      'NAME',
      'DESCRIPTION',
      'SECTION_PAGE_URL' => 'IBLOCK.SECTION_PAGE_URL',
   ],
   'order' => ['SORT' => 'ASC'],
   'limit' => '*',
   'filter' => [
      'IBLOCK_ID' => $arParams['IBLOCK_ID'],
      'ACTIVE' => 'Y',
      'GLOBAL_ACTIVE' => 'Y',
   ],
]);

while($section = $sections -> fetch()){
   $section['SECTION_PAGE_URL'] = CIBlock ::ReplaceDetailUrl($section['SECTION_PAGE_URL'], $section['DESCRIPTION'], $section, false, 'S');
   // Получаем пользовательские свойства раздела
   $userFields = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFields('IBLOCK_' . $section['IBLOCK_ID'] . '_SECTION', $section['ID']);
   // Добавляем пользовательские свойства в массив
   foreach ($userFields as $fieldName => $userField) {
      $section[$fieldName] = $userField['VALUE'];
   }
   $arSections[ $section['ID'] ] = $section;
}
Debug::dump($arSections)