давайте рассмотрим алгоритм этого действия 1. открывается раздел и если в разделе нет активных товаров то не не выводить умный фильтр 2. т.е. Вам в файле section.php (шаблона компонента) в самом верху вставить код который проверяет на наличие элементов - если элементы есть то делаем $arParams['USE_FILTER']="Y" если нет то $arParams['USE_FILTER']='N';
3. сам код проверки у нас есть ID раздела $arResult["VARIABLES"]["SECTION_ID"] значит остальное можно легко получить используя API модуля инфоблоков [URL=http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/getlist.php]http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/getlist.php[/URL]
а Вы попробуйте не в модуле все это сделать а сделайте сначала в init.php без всяких классов просто функция на обработчик [COLOR=#660000]OnOrderAdd [/COLOR] и в конце поставьте die();
оформите заказ и посмотрите на значения....
кстати на событие [COLOR=#008000]OnSaleComponentOrderComplete [/COLOR]Вы у вас компонент оформления заказа какой стоит???? Вызывается в компоненте [B]bitrix:sale.order.full[/B] после создания заказа и всех его параметров.
посмотрите тут [URL=https://dev.1c-bitrix.ru/api_help/sale/events/events_components.php]https://dev.1c-bitrix.ru/api_help/sale/events/events_components.php[/URL] может что интересное найдете