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

GetList

CDBResult
CCatalogGroup::GetList(
 array arOrder = array(),
 array arFilter = array(),
 array arGroupBy = false,
 array arNavStartParams = false,
 array arSelectFields = array()
);

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

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

ПараметрОписание
arOrder Массив, в соответствии с которым сортируются результирующие записи. Массив имеет вид:
array(
"название_поля1" => "направление_сортировки1",
"название_поля2" => "направление_сортировки2",
. . .
)
В качестве "название_поляN" может стоять любое поле цен каталога, а в качестве "направление_сортировкиX" могут быть значения "ASC" (по возрастанию) и "DESC" (по убыванию).

Если массив сортировки имеет несколько элементов, то результирующий набор сортируется последовательно по каждому элементу (т.е. сначала сортируется по первому элементу, потом результат сортируется по второму и т.д.). 

Значение по умолчанию - пустой массив array() - означает, что результат отсортирован не будет.
arFilter Массив, в соответствии с которым фильтруются записи типов цен каталога. Массив имеет вид:
array(
"[модификатор1][оператор1]название_поля1" => "значение1",
"[модификатор2][оператор2]название_поля2" => "значение2",
. . .
)
Удовлетворяющие фильтру записи возвращаются в результате, а записи, которые не удовлетворяют условиям фильтра, отбрасываются.

Допустимыми являются следующие модификаторы:
  • ! - отрицание;
  • + - значения null, 0 и пустая строка так же удовлетворяют условиям фильтра.
Допустимыми являются следующие операторы:
  • >= - значение поля больше или равно передаваемой в фильтр величины;
  • > - значение поля строго больше передаваемой в фильтр величины;
  • <= - значение поля меньше или равно передаваемой в фильтр величины;
  • < - значение поля строго меньше передаваемой в фильтр величины;
  • @ - оператор может использоваться для целочисленных и вещественных данных при передаче набора значений (массива). В этом случае при генерации sql-запроса будет использован sql-оператор IN, дающий компактную форму записи;
  • ~ - значение поля проверяется на соответствие передаваемому в фильтр шаблону;
  • % - значение поля проверяется на соответствие передаваемой в фильтр строке в соответствии с языком запросов.
В качестве "название_поляX" может стоять любое поле цен каталога.

Пример фильтра:
array("SUBSCRIPTION" => "Y")
Этот фильтр означает "выбрать все записи, в которых значение в поле SUBSCRIPTION (флаг "Продажа контента") равно Y".

Значение по умолчанию - пустой массив array() - означает, что результат отфильтрован не будет.
arGroupBy Массив полей, по которым группируются записи типов цен каталога. Массив имеет вид:
array("название_поля1", "название_поля2", . . .)
В качестве "название_поляN" может стоять любое поле типов цен каталога.

Если массив пустой, то метод вернет число записей, удовлетворяющих фильтру.

Значение по умолчанию - false - означает, что результат группироваться не будет.
arNavStartParams Массив параметров выборки. Может содержать следующие ключи:
  • "nTopCount" - количество возвращаемых методом записей будет ограничено сверху значением этого ключа;
  • любой ключ, принимаемый методом CDBResult::NavQuery в качестве третьего параметра.
Значение по умолчанию - false - означает, что параметров выборки нет.
arSelectFields Массив полей записей, которые будут возвращены методом. Можно указать только те поля, которые необходимы. Если в массиве присутствует значение "*", то будут возвращены все доступные поля.

Значение по умолчанию - пустой массив array() - означает, что будут возвращены все поля основной таблицы запроса.

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

Объект класса CDBResult, содержащий набор ассоциативных массивов с ключами:

Ключ Описание С версии
ID Код типа цены.
NAME Внутреннее название типа цены.
BASE Флаг (Y/N) является ли тип базовым.
SORT Индекс сортировки.
CAN_ACCESS Флаг (Y/N) имеет ли текущий пользователь право видеть цены этого типа.
CAN_BUY Флаг (Y/N) имеет ли текущий пользователь право покупать товары по ценам этого типа.
NAME_LANG Название типа цены на языке lang.
XML_ID Внешний код.12.0.9
CREATED_BY Код пользователя, создавшего тип цен.12.5.5
MODIFIED_BY Код последнего пользователя, изменившего тип цен.12.5.5
TIMESTAMP_X Дата последнего изменения типа цен.12.5.5
DATE_CREATE Дата создания типа цен.12.5.5

Пример использования

<?
// Выберем типы цен с внутренним именем retail
$dbPriceType = CCatalogGroup::GetList(
        array("SORT" => "ASC"),
        array("NAME" => "retail")
    );
while ($arPriceType = $dbPriceType->Fetch())
{
    echo $arPriceType["NAME_LANG"]." - ".$arPriceType["CAN_ACCESS"]."<br>";
}
?>


© «Битрикс», 2001-2019, «1С-Битрикс», 2019
Наверх