getList
\Bitrix\Catalog\EO_Discount_Result public static \Bitrix\Catalog\DiscountTable::getList( array $parameters = [] );
Метод возвращает скидки каталога по параметрам ORM-запроса. Статический метод.
Параметры
| Параметр | Описание |
|---|---|
$parameters |
Массив параметров запроса. По умолчанию метод выбирает все поля без фильтра, сортировки, группировки и ограничения количества записей |
Ключи массива $parameters
| Ключ | Описание |
|---|---|
select |
Массив полей, которые нужно вернуть. Псевдоним поля указывают в ключе массива
[ "DISCOUNT_ID" => "ID", "NAME", "VALUE", "CURRENCY" ]Если ключ не передан, метод выбирает все скалярные поля скидки |
filter |
Массив условий отбора или объект \Bitrix\Main\ORM\Query\Filter\ConditionTree
[ "=ACTIVE" => "Y", "=SITE_ID" => "s1", ">VALUE" => 0 ] Доступные операторы:
Условия можно объединять во вложенные группы. Ключ |
group |
Поле или массив полей для группировки результата
[ "SITE_ID", "ACTIVE" ]Если ключ не передан или массив пуст, метод не группирует записи |
order |
Массив полей и направлений сортировки
[ "SORT" => "ASC", "ID" => "DESC" ] Направления сортировки:
Метод применяет поля последовательно в порядке элементов массива. Если ключ не передан, результат не имеет заданной сортировки. |
limit |
Максимальное количество записей в результате. Если ключ не передан, количество записей не ограничено |
offset |
Количество записей, которые нужно пропустить от начала выборки. Если ключ не передан, метод начинает выборку с первой записи |
count_total |
Значение true включает подсчет общего количества записей без учета limit и offset. Количество возвращает метод getCount() объекта результата. По умолчанию подсчет отключен |
runtime |
Массив полей, которые ORM создает на время запроса. В ключе указывают имя поля, в значении — описание поля или объект поля |
data_doubling |
Логическое значение, которое включает или отключает обработку дублирования данных при фильтрации по связям |
private_fields |
Логическое значение, которое разрешает или запрещает использовать приватные поля ORM-объекта |
cache |
Настройки кеширования запроса
[ "ttl" => 3600, "cache_joins" => true ]Ключ ttl задает время хранения результата в секундах. Ключ cache_joins разрешает кешировать запросы с объединениями таблиц. По умолчанию время хранения равно нулю, а кеширование объединений отключено
|
Возвращаемое значение
Метод возвращает объект \Bitrix\Catalog\EO_Discount_Result. Метод fetch() объекта последовательно возвращает скидки как ассоциативные массивы или false, когда записи закончились.
Если ключ select не задан, массив записи содержит поля:
| Ключ | Описание |
|---|---|
| ID | Идентификатор скидки каталога, целое число |
| XML_ID | Внешний идентификатор, строка или null |
| SITE_ID | Идентификатор сайта, строка |
| TYPE | Тип скидки, целое число |
| ACTIVE | Признак активности, логическое значение |
| ACTIVE_FROM | Дата и время начала активности или null |
| ACTIVE_TO | Дата и время окончания активности или null |
| RENEWAL | Признак применения к продлению, логическое значение |
| NAME | Название скидки, строка |
| SORT | Индекс сортировки, целое число или null |
| MAX_DISCOUNT | Максимальная величина скидки, число или null |
| VALUE_TYPE | Тип величины скидки: P, F или S |
| VALUE | Величина скидки, число |
| CURRENCY | Код валюты, строка |
| TIMESTAMP_X | Дата и время изменения скидки |
| COUNT_PERIOD | Тип периода подсчета заказов: U, D или P |
| COUNT_SIZE | Размер периода подсчета заказов, целое число |
| COUNT_TYPE | Единица периода подсчета: D, M или Y |
| COUNT_FROM | Дата и время начала периода подсчета или null |
| COUNT_TO | Дата и время окончания периода подсчета или null |
| ACTION_SIZE | Размер периода действия скидки, целое число |
| ACTION_TYPE | Единица периода действия: D, M или Y |
| MODIFIED_BY | Идентификатор пользователя, который изменил скидку, или null |
| DATE_CREATE | Дата и время создания скидки или null |
| CREATED_BY | Идентификатор пользователя, который создал скидку, или null |
| PRIORITY | Приоритет применения скидки, целое число |
| LAST_DISCOUNT | Признак прекращения дальнейшего применения скидок, логическое значение |
| VERSION | Версия формата скидки: 1 или 2 |
| NOTES | Комментарий к скидке, строка или null |
| CONDITIONS | Сериализованные условия скидки, строка или null |
| CONDITIONS_LIST | Условия скидки после десериализации |
| UNPACK | Подготовленное выражение условий скидки, строка или null |
| USE_COUPONS | Признак наличия купонов, логическое значение |
| SALE_ID | Идентификатор связанной скидки модуля sale, целое число или null |
Исключения
\Bitrix\Main\ArgumentException— передан неизвестный параметр, неверное направление сортировки или некорректное описание запроса;\Bitrix\Main\ObjectPropertyException— ORM не может получить свойство объекта;\Bitrix\Main\SystemException— ORM не может построить или выполнить запрос.
Пример
<?php
use Bitrix\Catalog\DiscountTable;
use Bitrix\Main\Loader;
if (!Loader::includeModule('catalog'))
{
throw new RuntimeException('Не удалось подключить модуль catalog');
}
// Идентификатор существующего сайта
$siteId = 's1';
try
{
$result = DiscountTable::getList([
'select' => [
'ID',
'NAME',
'VALUE',
'VALUE_TYPE',
'CURRENCY',
],
'filter' => [
'=SITE_ID' => $siteId,
'=ACTIVE' => 'Y',
],
'order' => [
'SORT' => 'ASC',
'ID' => 'ASC',
],
'limit' => 20,
]);
while ($discount = $result->fetch())
{
print_r($discount);
}
}
catch (Throwable $exception)
{
echo $exception->getMessage();
}
© «Битрикс», 2001-2026, «1С-Битрикс», 2026