После обновления Битрикс со старых версий на 16-ую может возникнуть ситуация с нерабочей сортировкой по цене в CIBlockElement::GetList и компонентах каталога.

С версии catalog 16.0.3 сортировка идет по столбцу b_catalog_price.PRICE_SCALE, который может не заполниться при конвертации магазина. Если такое случилось и у вас этот столбец пустой для всех товаров, сделайте следующее:

  • Зайдите в редактирование валют и просто пересохраните вашу базовую валюту.
  • Запустите SQL-запрос
    UPDATE b_catalog_price CPR
    INNER JOIN b_catalog_currency CC ON CC.CURRENCY = CPR.CURRENCY
    SET CPR.PRICE_SCALE = CPR.PRICE*CC.CURRENT_BASE_RATE

Теперь поле вашей валюты b_catalog_currency.CURRENT_BASE_RATE и поля цена товаров b_catalog_price.PRICE_SCALE должны быть заполнены и сортировка работает как надо.

Reg.ru

P.S. Небольшой совет по решению других подобных проблем: в файле /bitrix/modules/updater.log хранится лог обновлений, где можно посмотреть какие запросы выполнялись при обновлении системы и проанализировать, что могло пойти не так.