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

GetOffersArray

array CIBlockPriceTools::GetOffersArray(
  mixed arFilter, 
  array arElementID, 
  array arOrder, 
  array arSelectFields, 
  array arSelectProperties, 
  int limit, 
  array arPrices, 
  bool vat_include, 
  array arCurrencyParams = array(),
  int USER_ID = 0,
  string LID = SITE_ID
)

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

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

Параметр ОписаниеС версии
arFilter Целое число - идентификатор инфоблока или ассоциативный массив с ключами:
  • IBLOCK_ID - идентификатор инфоблока;
  • HIDE_NOT_AVAILABLE - флаг "Скрывать предложения, отсутствующие на складе" (Y/N);
  • CHECK_PERMISSIONS - флаг проверки прав доступа к инфоблоку (Y/N).
До версии 12.5.4 мог задаваться только код инфоблока.
arElementID Массив элементов инфоблока. Пустой массив array() означает, что будут возвращены все торговые предложения.
arOrder Ассоциативный массив для сортировки результирующего набора торговых предложений. Набор сортируется последовательно по каждой паре ключ-значение массива. Ключами массива являются названия параметров торгового предложения, по значениям которых осуществляется сортировка. Значениями являются направления сортировки.

Допустимые ключи и значения аналогичны ключам и значениям массива arOrder метода CIBlockElement::GetList.
arSelectFields Массив полей торговых предложений, которые должны быть возвращены методом. Допустимые ключи - все поля элементов инфоблока торговых предложений.

Пустой массив array() означает, что будут возвращены следующие поля:
  • ID - код торгового предложения;
  • IBLOCK_ID - код инфоблока торгового предложения;
  • PROPERTY_код_свойства - значение свойства привязки торгового предложения (фактически - идентификатор товара);
  • CATALOG_XXX (где XXX - это QUANTITY, QUANTITY_TRACE, QUANTITY_TRACE_ORIG, CAN_BUY_ZERO и т.д.) - все поля класса CCatalogProduct для торгового предложения.
arSelectProperties Массив символьных или цифровых кодов тех свойств торговых предложений, которые должны быть возвращены методом. Если массив задан непустым, то в ключе PROPERTIES будут возвращены значения всех свойств торгового предложения, а в ключе DISPLAY_PROPERTIES - непустые значения свойств, отформатированные для показа в публичных компонентах и перечисленные в этом массиве.
limit Максимальное число предложений для одного товара. Если задано значение 0, то будут возвращены все торговые предложения для указанных товаров.
arPrices Массив типов цен, возвращенный методом CIBlockPriceTools::GetCatalogPrices. Для типов цен считаются скидки, минимальная цена и т.п.
vat_include Признак включения НДС в цену при показе, если он еще не включен.
arCurrencyParams Массив параметров для показа цен в одной валюте. Если в переданном массиве заполнено поле CURRENCY_ID, то произойдет конвертация цен в валюту CURRENCY_ID по текущему курсу. Необязательный параметр. 11.5.1
USER_ID Идентификатор пользователя. Значение непусто, если расчеты проводятся не для текущего пользователя. Необязательный параметр.12.0.0
LID Идентификатор сайта. Значение непусто, если расчеты проводятся не для текущего сайта. Необязательный параметр.12.0.0

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

Ассоциативный массив торговых предложений, включающий в себя все запрошенные в методе поля, поля класса CCatalogProduct, а также следующие ключи:

  • PRICES - цены, которые вернет CIBlockPriceTools::GetItemPrice;
  • MIN_PRICE - массив, описывающий минимальную цену;
  • CAN_BUY - доступность к покупке (true/false);
  • LINK_ELEMENT_ID - код товара для предложения;
  • PROPERTIES - неотформатированные значения всех свойств элемента инфоблока, в т.ч. пустые (массив непуст, если запросили хоть одно свойство в $arSelectProperties);
  • DISPLAY_PROPERTIES - только те свойства, что непусты (из перечня $arSelectProperties);
  • CATALOG_MEASURE_NAME - название единицы измерения (сокращенное);
  • CATALOG_MEASURE - код единицы измерения;
  • CATALOG_RATIO - коэффициент единицы измерения.


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

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

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

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

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