Понадобилось тут создать страницу, на которую выводятся все товары, имеющие скидку.
Решение простое. Себе на будущее ...
Итак, код:
ну и сама функция получения товаров, имеющих скидку:
					Решение простое. Себе на будущее ...
Итак, код:
$arElements = GET_SALE_FILTER(); global $searchFilter; $searchFilter = array( "=ID" => $arElements, ); $APPLICATION->IncludeComponent( "bitrix:catalog.section", "template", array( ... "FILTER_NAME" => "searchFilter", ... ), );  | 
ну и сама функция получения товаров, имеющих скидку:
function GET_SALE_FILTER(){
      global $DB;
      $arDiscountElementID = array();
      $dbProductDiscounts = CCatalogDiscount::GetList(
         array("SORT" => "ASC"),
         array(
            "ACTIVE" => "Y",
            "!>ACTIVE_FROM" => $DB->FormatDate(date("Y-m-d H:i:s"),
                  "YYYY-MM-DD HH:MI:SS",
                  CSite::GetDateFormat("FULL")),
            "!<ACTIVE_TO" => $DB->FormatDate(date("Y-m-d H:i:s"),
                  "YYYY-MM-DD HH:MI:SS",
                  CSite::GetDateFormat("FULL")),
         ),
         false,
         false,
         array(
            "ID", "SITE_ID", "ACTIVE", "ACTIVE_FROM", "ACTIVE_TO",
            "RENEWAL", "NAME", "SORT", "MAX_DISCOUNT", "VALUE_TYPE",
            "VALUE", "CURRENCY", "PRODUCT_ID"
         )
      );
      while ($arProductDiscounts = $dbProductDiscounts->Fetch())
      {
         if($res = CCatalogDiscount::GetDiscountProductsList(array(), array(">=DISCOUNT_ID" => $arProductDiscounts['ID']), false, false, array())){
            while($ob = $res->GetNext()){
               if(!in_array($ob["PRODUCT_ID"],$arDiscountElementID))
                  $arDiscountElementID[] = $ob["PRODUCT_ID"];
            }}
      }
      return $arDiscountElementID;
   }  |