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