Для того чтобы отсортировать выборку запроса к хайлоадблоку по полю UF_DATE_OPERATION сначала по пустым значениям, а затем по убыванию этого поля, вам понадобится использовать метод AddOrder для установки нужной сортировки.
Пример кода на языке PHP для запроса к хайлоадблоку и установки описанной сортировки:
use BitrixHighloadblockHighloadBlockTable; $hlblockId = 1; // ID вашего хайлоадблока $hlblock = HighloadBlockTable::getById($hlblockId)->fetch(); $entity = HighloadBlockTable::compileEntity($hlblock); $entityDataClass = $entity->getDataClass(); $entityName = $hlblock['NAME']; $hlData = $entityDataClass::getList(array( 'select' => array('*'), 'order' => array( 'UF_DATE_OPERATION' => 'ASC', // Первыми пустые значения 'ID' => 'ASC' // Если есть одинаковые даты, сортируем по ID ), 'filter' => array('!UF_DATE_OPERATION' => false) // Фильтр для пустых значений )); while ($item = $hlData->fetch()) { // Действия с полученными данными }
В данном примере мы используем метод getList для получения выборки из хайлоадблока, задаем сортировку по полю UF_DATE_OPERATION сначала по возрастанию (пустые значения будут первыми), затем по полю ID, чтобы учесть случай одинаковых дат. Также устанавливаем фильтр для исключения пустых значений поля UF_DATE_OPERATION.
Не забудьте подставить корректные значения для ID вашего хайлоадблока, а также адаптировать код под свои нужды, если это необходимо.