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

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
Наверх