При фильтрации по цене Компонент Умный фильтр не учитывает скидки которые в данный момент применимы к товару. И фильтрация по цене осуществляется без учета скидок выставленных на данный момент.
Решение «Аспро: Маркет» использует стандартный компонент умного фильтра 1С-Битрикс. Таким образом, проблема является особенностью работы платформы. Подтверждение проблемы на сайте 1С-Битрикс. По этой же ссылке вы можете оставить комментарий и проголосовать за то, чтобы в ядре системы исправили этот недочет.
Один из способов решения проблемы — скрыть из умного фильтра сортировку по цене и поставить сортировку по свойству, которое будет содержать минимальную цену с учетом скидки.
Для этого необходимо:
Добавить новое свойство к товару «Цена».
Вывести данное свойство в фильтр.
Само свойство будет заполняться следующим образом: автоматически при изменении товара или изменении скидок в свойство будет записана минимальная цена с учетом скидок и наценок для неавторизованных пользователей с помощью API функций Битрикса.
Недостатки способа:
Механизм работает некорректно, если на сайте существует несколько групп пользователей с разными скидками/наценками/типами цен.
Свойство может обновляться некорректно при использовании скидок с ограниченным периодом действия (скидка уже закончилась, но товар фильтруется еще по старой цене).
При наличии соответствующих навыков в программировании и знаний 1С-Битрикс на уровне разработчика вы можете добавить и вывести свойство самостоятельно. Инструкция от разработчиков платформы как получить минимальную цену с учетом скидок и базовой валюты, далее при помощи событий OnAfterIBlockElementUpdate и OnDiscountUpdate данную минимальную цену нужно сохранить в созданное свойство для товара.
Также вы можете обратиться в компанию «Аспро» или к сторонним разработчикам на 1С-Битрикс, которые смогут предложить решение данной проблемы.