GetList
Описание и параметры
CDBResult CPrice::GetList( array arOrder = array(), array arFilter = array(), array arGroupBy = false, array arNavStartParams = false, array arSelectFields = array() );
Метод возвращает результат выборки записей цен в соответствии со своими параметрами. Нестатический метод.
Метод устарел, вместо него используйте метод \Bitrix\Catalog\PriceTable::getList
Примечание: Если выборку нужно произвести без учёта прав доступа, то лучше использовать метод GetListEx.
Параметры вызова
| Параметр | Описание |
|---|---|
| arOrder | Массив, в соответствии с которым сортируются результирующие записи. Массив имеет вид:
array( "название_поля1" => "направление_сортировки1", "название_поля2" => "направление_сортировки2", . . . )В качестве "название_поляN" может стоять любое поле цены, а в качестве "направление_сортировкиX" могут быть значения "ASC" (по возрастанию) и "DESC" (по убыванию). Если массив сортировки имеет несколько элементов, то результирующий набор сортируется последовательно по каждому элементу (т.е. сначала сортируется по первому элементу, потом результат сортируется по второму и т.д.). Значение по умолчанию - пустой массив array() - означает, что результат отсортирован не будет. |
| arFilter | Массив, в соответствии с которым фильтруются
записи типов цены. Массив имеет вид:
array( "[модификатор1][оператор1]название_поля1" => "значение1", "[модификатор2][оператор2]название_поля2" => "значение2", . . . )Удовлетворяющие фильтру записи возвращаются в результате, а записи, которые не удовлетворяют условиям фильтра, отбрасываются. Допустимыми являются следующие модификаторы:
Пример фильтра: array("PRODUCT_ID" => 150)
Этот фильтр означает "выбрать все записи, в которых значение в поле PRODUCT_ID (код товара) равно 150".Значение по умолчанию - пустой массив array() - означает, что результат отфильтрован не будет. |
| arGroupBy | Массив полей, по которым группируются записи типов
цены. Массив имеет вид:
array("название_поля1", "название_поля2", . . .)
В качестве "название_поляN" может стоять любое поле типов
цены. Если массив пустой, то метод вернет число записей, удовлетворяющих фильтру. Значение по умолчанию - false - означает, что результат группироваться не будет. |
| arNavStartParams | Массив параметров выборки. Может содержать следующие ключи:
|
| arSelectFields | Массив полей записей, которые будут возвращены методом. Можно указать только те поля, которые необходимы. Если в массиве присутствует значение
"*", то будут возвращены все доступные поля. Значение по умолчанию - пустой массив array() - означает, что будут возвращены все поля основной таблицы запроса. |
Возвращаемые значения
Возвращается объект класса CDBResult, содержащий набор ассоциативных массивов с ключами:
| Ключ | Описание |
|---|---|
| ID | Код ценового предложения. |
| PRODUCT_ID | Код товара или торгового предложения (ID элемента инфоблока). |
| EXTRA_ID | Код наценки. |
| CATALOG_GROUP_ID | Код типа цены. |
| PRICE | Цена. |
| CURRENCY | Валюта. |
| CAN_ACCESS | Флаг (Y/N), может ли текущий пользователь видеть эту цену. |
| CAN_BUY | Флаг (Y/N), может ли текущий пользователь покупать по этой цене. |
| CATALOG_GROUP_NAME | Название группы цен на текущем языке. |
| TIMESTAMP_X | Дата последнего изменения записи. |
| QUANTITY_FROM | Количество товара, начиная с приобретения которого действует эта цена. |
| QUANTITY_TO | Количество товара, при приобретении которого заканчивает действие эта цена. |
Если в качестве параметра arGroupBy передается пустой массив, то метод вернет число записей, удовлетворяющих фильтру.
Примеры использования
<?
// Выведем цену типа $PRICE_TYPE_ID товара с кодом $PRODUCT_ID
$db_res = CPrice::GetList(
array(),
array(
"PRODUCT_ID" => $PRODUCT_ID,
"CATALOG_GROUP_ID" => $PRICE_TYPE_ID
)
);
if ($ar_res = $db_res->Fetch())
{
echo CurrencyFormat($ar_res["PRICE"], $ar_res["CURRENCY"]);
}
else
{
echo "Цена не найдена!";
}
?>
© «Битрикс», 2001-2025, «1С-Битрикс», 2025