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

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-2024, «1С-Битрикс», 2024