ловлю ошибку. http://prntscr.com/hz0ef3 так же ругается на SECTION_ID и IBLOCK_SECTION_CODE . Это getList в D7 не допилен или я добавил в arSelect ошибочные поля ?
Свойства через getList не тянутся. d7 ElementTable::getList не аналог CIblockElement::getList() Нужно проверять описания getMap для проверки доступных полей
Вы можете прицепить к ElementTable необходимые свойства с помощью runtime-полей. Но лучше использовать уже готовые решения, которые разработали другие. Например вот это - https://github.com/maximaster/tools.orm.
Мой скромный бложик о битрикс, php и не только. Добро пожаловать! zhurov.me
// Это чтобы получить красиво в массиве ARTNUMBER_VALUE значение сразу. Но можете сделать так и посмотреть результат $query->setSelect(['ID', 'NAME', 'ARTNUMBER_VALUE' => 'ARTNUMBER.VALUE']);
// Но можно сделать так, тоже сработает, но это больше для работы с объектами а не массивом (см. fetchObject()) // $query->setSelect(['ID', 'NAME', 'ARTNUMBER']);