Документация для разработчиков

GetDiscount

array
CCatalogDiscount::GetDiscount(
 int intProductID,
 int intIBlockID,
 array arCatalogGroups = array(),
 array arUserGroups = array(),
 string strRenewall = "N",
 string siteID = false,
 array arDiscountCoupons = false,
 boolean boolSKU = true,
 boolean boolGetIDS = false
);

Метод возвращает перечень скидок, которые могут быть применены к товару, для показа в публичном разделе сайта.

Возвращаемый результат (перечень скидок) зависит от настройки опции Использовать только правила корзины в модуле Интернет-магазин:

  • Если опция не отмечена, то возвращается перечень скидок модуля Торговый каталог.
  • Если опция отмечена, то метод возвращает список правил корзины, которые могут быть показаны в каталоге товаров и в корзине покупателя. То есть, возвращаются правила, не завязанные на конкретного пользователя и сущности корзины/заказа.

Метод статический.

Параметры вызова

ПараметрОписаниеС версииДо версии
intProductID Идентификатор товара.
intIBlockID Идентификатор инфоблока.
arCatalogGroups Массив идентификаторов типов цен. Необязательный, по умолчанию array().

Если передан пустой массив, то внутри метода будут взяты типы цен, доступные к показу и/или покупке для переданного массива arUserGroups.

Если значение параметра - отрока, то в обработчике события в этом случае необходимо привести строку к массиву:
if (!is_array($arCatalogGroups))
            $arCatalogGroups = array($arCatalogGroups);
arUserGroups Массив групп, которым принадлежит пользователь. Необязательный, по умолчанию array().

Если передать пустой массив, будет использоваться группа с кодом 2 (все пользователи, в том числе неавторизованные).

Если значение параметра - отрока, то в обработчике события в этом случае необходимо привести строку к массиву:
if (!is_array($arCatalogGroups))
            $arUserGroups = array($arCatalogGroups);
strRenewal (Y|N) Флаг получения скидок для продления подписки (Y) или для товара (N). Необязательный, по умолчанию N.

siteID Идентификатор сайта. Необязательный, по умолчанию false.

arDiscountCoupons Массив купонов, которые будут использованы для выборки скидок. Необязательный, по умолчанию false.

Если передать false, то будут взяты текущие купоны из менеджера купонов. Если нужен выбор скидок без купонов (для каталога товаров), то следует передавать в этом параметре array().
boolSKU Флаг проверки наличия скидок не только для торгового предложения, но и для его основного товара. Необязательный, по умолчанию true. Параметр устарел. Рекомендуется использовать значение по умолчанию.

Для простого товара смысла не имеет. Для торгового предложения можно выбрать либо только те скидки, что действуют на само предложение, либо и те, что действуют и на его основной товар.
11.0.214.5.9
boolGetIDS Флаг возврата только идентификаторов скидок (идентификаторы накопительных скидок не возвращаются). По умолчанию false.

Имеет смысл лишь для скидок торгового каталога (флаг с опции Использовать только правила корзины снят).

Примечание: параметр устарел. Рекомендуется использовать только значение по умолчанию. В противном случае корректная работа не гарантируется.
11.0.214.5.9

Возвращаемые значения

Метод возвращает массив скидок или false в случае ошибки. Скидки возвращаются с учетом дат их активности. Если возвращаемый массив пустой, то это означает, что скидки отсутствуют.



Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2019, «1С-Битрикс», 2019
Наверх