В битрикс D7 для сортировки данных по полю справочника необходимо использовать класс Query.
Перед тем как начать, убедитесь, что у вас есть класс справочника, например, если ваш справочник называется "Мои элементы", то у вас должен быть класс с именем "MyElementsTable".
Для начала создайте экземпляр класса Query с помощью метода getlist:
$query = MyElementsTable::getList(array(
'order' => array('NAME' => 'ASC'), // здесь указывается поле, по которому нужно выполнить сортировку
));
Здесь мы указали сортировку по полю "NAME" в порядке возрастания. Если вы хотите отсортировать в обратном порядке, замените 'ASC' на 'DESC'. Для сортировки по нескольким полям, укажите их в массиве 'order'.
После этого вы можете получить отсортированный список элементов с помощью метода fetch:
while($element = $query->fetch())
{
// действия с каждым элементом
}
В этом примере мы получаем каждый элемент справочника и выполняем какие-либо действия с ними в цикле.
Кроме того, существует возможность использования метода orderBy, который вызывается после метода getList:
$query = MyElementsTable::getList()->orderBy('NAME', 'ASC');
Если вам нужно выполнить сортировку по нескольким полям, вызывайте метод orderBy несколько раз:
$query->orderBy('FIELD1', 'ASC')->orderBy('FIELD2', 'DESC');
Таким образом, вы можете сортировать данные по полю справочника в Bitrix D7 с помощью класса Query и методов getList и orderBy.