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

GetList

Описание и параметры

CDBResult
CFormField::GetList(
 int form_id,
 string get_only_fields,
 string &by = "s_sort",
 string &order = "asc",
 array filter = array(),
 bool &is_filtered
)

Возвращает список вопросов/полей веб-формы в виде объекта класса CDBResult. Метод нестатический.

Параметры метода

Параметр Описание
form_id ID веб-формы.
get_only_fields Может принимать следующие значения:
  • Y - возвращаемый список должен содержать только поля веб-формы;
  • N - возвращаемый список должен содержать только вопросы веб-формы;
  • ALL - возвращаемый список должен содержать и вопросы и поля веб-формы.
by Ссылка на переменную с полем для сортировки результирующего списка, может принимать значения:
  • s_id - ID;
  • s_active - флаг активности;
  • s_sid - символьный идентификатор;
  • s_sort - индекс сортировки;
  • s_title - текст вопроса или заголовок поля веб-формы;
  • s_comments - служебный комментарий;
  • s_required - флаг обязательности ответа на вопрос веб-формы;
  • s_in_results_table - флаг включения в HTML таблицу результатов;
  • s_in_excel_table - флаг включения в Excel таблицу результатов;
  • s_field_type - тип поля веб-формы.
оrder Ссылка на переменную с порядком сортировки, может принимать значения:
  • asc - по возрастанию;
  • desc - по убыванию.
filter Массив для фильтрации. Необязательный параметр. В массиве допустимы следующие ключи:
  • ID* - ID вопроса/поля (по умолчанию будет искаться точное совпадение);
  • ID_EXACT_MATCH - если значение равно "N", то при фильтрации по ID будет искаться вхождение;
  • SID* - символьный идентификатор вопроса/поля (по умолчанию будет искаться точное совпадение);
  • SID_EXACT_MATCH - если значение равно "N", то при фильтрации по SID будет искаться вхождение;
  • TITLE* - текст вопрос или заголовок поля веб-формы (по умолчанию будет искаться вхождение);
  • TITLE_EXACT_MATCH - если значение равно "Y", то при фильтрации по TITLE будет искаться точное совпадение;
  • COMMENTS* - служебный комментарий (по умолчанию будет искаться вхождение);
  • COMMENTS_EXACT_MATCH - если значение равно "Y", то при фильтрации по COMMENTS будет искаться точное совпадение;
  • ACTIVE - флаг активности [Y|N]
  • IN_RESULTS_TABLE - флаг включения в HTML таблицу результатов [Y|N];
  • IN_EXCEL_TABLE - флаг включения в Excel таблицу результатов [Y|N];
  • IN_FILTER - флаг включения в HTML таблицу результатов [Y|N];
  • REQUIRED - флаг обязательности ответа на вопрос веб-формы [Y|N].
* - допускается сложная логика
is_filtered Ссылка на переменную, хранящую флаг отфильтрованности результирующего списка. Если значение равно "true", то список был отфильтрован.

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

<?
$FORM_ID = 4; // ID веб-формы

// сформируем массив фильтра
$arFilter = Array(
  "ID"                    => "140 | 141",     // вопрос с ID=140 или с ID=141
  "ID_EXACT_MATCH"        => "Y",             // точное совпадение при фильтрации по ID
  "SID"                   => "VS_BIRTHDAY",   // символьный идентификатор
  "SID_EXACT_MATCH"       => "Y",             // точное совпадение с симв. идентификатором
  "TITLE"                 => "День рождения", // текст вопроса
  "TITLE_EXACT_MATCH"     => "N",             // вхождение при фильтрации по тексту вопроса
  "ACTIVE"                => "Y",             // флаг активности
  "IN_RESULTS_TABLE"      => "Y",             // флаг вхождение в HTML таблицу результатов
  "IN_EXCEL_TABLE"        => "N",             // флаг вхождения в Excel таблицу результатов
  "IN_FILTER"             => "Y",             // флаг вхождения в фильтр
  "REQUIRED"              => "Y",             // флаг обязательности ответа на вопрос
);

// получим список всех вопросов веб-формы #4
$rsQuestions = CFormField::GetList(
    $FORM_ID, 
    "N", 
    $by="s_id", 
    $order="desc", 
    $arFilter, 
    $is_filtered
    );
while ($arQuestion = $rsQuestions->Fetch())
{
    echo "<pre>"; print_r($arQuestion); echo "</pre>";
}
?>


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

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

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

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

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