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

GetList

CDBResult
CGroup::GetList(
 string &by = "c_sort",
 string &order = "asc",
 array filter,
 string SHOW_USERS_AMOUNT = "N"
)

Возвращает список групп в виде объекта класса CDBResult. Статический метод.

Параметры

ПараметрОписание С версии
by Ссылка на переменную с полем для сортировки, может принимать следующие значения:
  • id - ID группы
  • timestamp_x - дата изменения
  • name - название
  • active - активность
  • c_sort - порядок сортировки
  • description - описание
  • users - кол-во пользователей входящих в группу
оrder Ссылка на переменную с порядком сортировки, может принимать следующие значения:
  • asc - по возрастанию
  • desc - по убыванию
filter Массив для фильтрации пользователей. В массиве допустимы следующие индексы:
  • ID - ID группы (допускается сложная логика)
  • TIMESTAMP_1 - дата изменения настроек группы "с"
  • TIMESTAMP_2 - дата изменения настроек группы "по"
  • ACTIVE - фильтр по активности (Y|N)
  • ADMIN - фильтр по типу группы ("Y" - администраторы | "N" - не администраторы)
  • NAME - по названию (допускается сложная логика)
  • DESCRIPTION - по описанию (допускается сложная логика)
  • USERS_1 - кол-во пользователей "с"
  • USERS_2 - кол-во пользователей "по"
  • STRING_ID - символьный код
SHOW_USERS_AMOUNT "Y" - в выборке будет присутствовать поле ("USERS") с количеством пользователей в каждой группе; "N" - в выборке не будет поля с количеством пользователей в каждой группе (по умолчанию); 3.3.12

См. также

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

<?
$filter = Array
(
    "ID"             => "1 | 2",
    "TIMESTAMP_1"    => "04.02.2004", // в формате текущего сайта
    "TIMESTAMP_2"    => "04.02.2005",
    "ACTIVE"         => "Y",
    "NAME"           => "Техподдержка",
    "DESCRITION"     => "специальная | поддержка",
    "USERS_1"        => "2", // от 2 пользователей
    "USERS_2"        => "10" // до 10 пользователей
);
$rsGroups = CGroup::GetList(($by="c_sort"), ($order="desc"), $filter); // выбираем группы
$is_filtered = $rsGroups->is_filtered; // отфильтрована ли выборка ?
$rsGroups->NavStart(50); // разбиваем постранично по 50 записей
echo $rsGroups->NavPrint(GetMessage("PAGES")); // печатаем постраничную навигацию
while($rsGroups->NavNext(true, "f_")) :
	echo "[".$f_ID."] ".$f_NAME." ".$f_DESCRIPTION."<br>";	
endwhile;
?>

Фильтровать можно по полю "STRING_ID" - символьному идентификатору группы. Например:

// Возвращает группу по символьному идентификатору
function GetGroupByCode ($code)
{
   $rsGroups = CGroup::GetList ($by = "c_sort", $order = "asc", Array ("STRING_ID" => $code));
   return $rsGroups->Fetch();
} 

Пример фильтрации по полю "STRING_ID" по нескольким группам:

$rsGroups = CGroup::GetList($by = "c_sort", $order = "asc", array("STRING_ID"=>'groupe code|groupe code|groupe code'));
if(intval($rsGroups->SelectedRowsCount()) > 0)
{
   while($arGroups = $rsGroups->Fetch())
   {
      $arUsersGroups[] = $arGroups;
   }
}


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2019, «1С-Битрикс», 2019
Наверх