GetList
Описание и параметры
CDBResult CSaleUserTransact::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", . . . )Удовлетворяющие фильтру записи возвращаются в результате, а записи, которые не удовлетворяют условиям фильтра, отбрасываются. Допустимыми являются следующие модификаторы:
Пример фильтра: array( "USER_ID" => 150 )Этот фильтр означает "выбрать все записи, в которых значение в поле USER_ID (код пользователя) равно 150". Значение по умолчанию - пустой массив array() - означает, что результат отфильтрован не будет. |
arGroupBy | Массив полей, по которым группируются записи
транзакций. Массив имеет вид:
array( "название_поля1", "группирующая_функция2" => "название_поля2", . . . )В качестве "название_поляN" может стоять любое поле транзакций. В качестве группирующей функции могут стоять:
Значение по умолчанию - false - означает, что результат группироваться не будет. |
arNavStartParams | Массив параметров выборки. Может содержать следующие ключи:
|
arSelectFields | Массив полей записей, которые будут возвращены методом. Можно указать только те поля, которые необходимы. Если в массиве присутствует значение
"*", то будут возвращены все доступные поля. Значение по умолчанию - пустой массив array() - означает, что будут возвращены все поля основной таблицы запроса. |
Возвращаемые значения
Возвращается объект класса CDBResult, содержащий набор ассоциативных массивов параметров транзакций:
- ID - код транзакции;
- USER_ID - код пользователя;
- AMOUNT - сумма;
- CURRENCY - валюта суммы;
- DEBIT - "Y", если занесение денег на счет, и "N", если списание денег со счета;
- DESCRIPTION - описание;
- ORDER_ID - код заказа, если транзакция относится к заказу;
- EMPLOYEE_ID - код пользователя, осуществившего транзакцию;
- TIMESTAMP_X - дата последнего изменения записи;
- TRANSACT_DATE - дата транзакции;
- USER_LOGIN - логин пользователя;
- USER_ACTIVE - флаг активности пользователя;
- USER_NAME - имя пользователя;
- USER_LAST_NAME - фамилия пользователя;
- USER_EMAIL - E-Mail пользователя.
Если в качестве параметра arGroupBy передается пустой массив, то метод вернет число записей, удовлетворяющих фильтру.
Пример использования
//пример формирования отчета по транзакциям личного счета клиента <table cellpadding="0" cellspacing="0" border="0" class="data-table"> <thead> <tr> <td>№</td> <td>Дата транзакции</td> <td>Сумма</td> <td>Описание</td> </tr> </thead> <tbody> <? CModule::IncludeModule("sale"); $res = CSaleUserTransact::GetList(Array("ID" => "DESC"), array("USER_ID" => $USER->GetID())); while ($arFields = $res->Fetch()) {?> <tr> <td><?=$arFields["ID"]?></td> <td><?=$arFields["TRANSACT_DATE"]?></td> <td><?=($arFields["DEBIT"]=="Y")?"+":"-"?><?=SaleFormatCurrency($arFields["AMOUNT"], $arFields["CURRENCY"])?><br /><small>(<?=($arFields["DEBIT"]=="Y")?"на счет":"со счета"?>)</small></td> <td><?=$arFields["NOTES"]?></td> </tr> <?}?> <tbody> </table>
© «Битрикс», 2001-2024, «1С-Битрикс», 2024