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

Add

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

mixed
CFormResult::Add(
 int form_id,
 array values = false,
 string check_rights = "Y",
 int user_id = false
)

Создает новый результат веб-формы. В случае успеха - возвращает ID нового результата, в противном случае - "false". Метод нестатический.

Данный метод не создает почтовое событие, связанное с формой. Для этого нужно использовать CFormResult::Mail.

Примечание: в случае неактивных вопросов данные из формы в них не сохраняются и сообщения об ошибках не выводятся.

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

Параметр Описание
form_id ID веб-формы.
values Массив со значениями ответов. Массив имеет следующую структуру:
array(
    "имя HTML поля ответа 1" => "значение ответа 1",
    "имя HTML поля ответа 2" => "значение ответа 2",
    ...
    "имя HTML поля ответа N" => "значение ответа N"
)
Правила формирования "имен HTML полей ответов" и "значений ответов" описаны в разделе "Имена HTML полей веб-форм".
Пример:
Array
(
    [form_text_586] => Иванов Иван Иванович
    [form_date_587] => 10.03.1992
    [form_textarea_588] => г. Мурманск
    [form_radio_VS_MARRIED] => 589
    [form_checkbox_VS_INTEREST] => Array
        (
            [0] => 592
            [1] => 593
            [2] => 594
        )

    [form_dropdown_VS_AGE] => 597
    [form_multiselect_VS_EDUCATION] => Array
        (
            [0] => 603
            [1] => 604
        )

    [form_text_606] => 2345
    [form_image_607] => 1045
)
Параметр необязательный. По умолчанию - "false" (будет взят стандартный массив $_REQUEST).
check_rights Флаг необходимости проверки прав текущего пользователя. Возможны следующие значения:
  • Y - права необходимо проверить;
  • N - право не нужно проверять.
Для создания нового результата необходимо иметь право [10] Заполнение веб-формы на веб-форму form_id.

Параметр необязательный. По умолчанию - "Y" (права необходимо проверить).
user_id ID пользователя, который будет записан как создатель данного результата.

Параметр необязательный. По умолчанию - "false" (будет взят ID текущего пользователя).

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

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

// массив описывающий загруженную на сервер фотографию
$arImage = CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"]."/images/photo.gif");

// массив значений ответов
$arValues = array (
    "form_text_586"                 => "Иванов Иван",    // "Фамилия, имя, отчество"
    "form_date_587"                 => "01.06.1904",     // "Дата рождения"
    "form_textarea_588"             => "г. Москва",      // "Адрес"
    "form_radio_VS_MARRIED"         => 590,              // "Женаты/замужем?"
    "form_checkbox_VS_INTEREST"     => array(612, 613),  // "Увлечения"
    "form_dropdown_VS_AGE"          => 601,              // "Возраст"
    "form_multiselect_VS_EDUCATION" => array(602, 603),  // "Образование"
    "form_text_606"                 => 300,              // "Доход"
    "form_image_607"                => $arImage          // "Фотография"
);

// создадим новый результат
if ($RESULT_ID = CFormResult::Add($FORM_ID, $arValues))
{
    echo "Результат #".$RESULT_ID." успешно создан";
}
else
{
    global $strError;
    echo $strError;
}
?>


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

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

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

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

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
0
Екатерина Федоткина
Сообщение непромодерировано, возможны ошибки и неточности.
Если используете разработки студии Аспро, то возможно появление ошибки при заполнении формы: Согласитесь с условиями.
Для решения добавьте в массив полей пару ключ-значение:
'licenses_inline' => 'Y'
0
AlexGil
Если настроена интеграция с CRM, то после добавления результата нужно дополнительно вызывать метод:  
Код
 CFormCrm::AddLead($FORM_ID, $RESULT_ID);
7
Виктор Карионов
Что бы создать почтовое событие и событие отправки данных в CRM после отправки нужно сделать следующее.
Код
$RESULT_ID = CFormResult::Add($FORM_ID, $arValues);

CFormCRM::onResultAdded($FORM_ID, $RESULT_ID);
CFormResult::SetEvent($RESULT_ID);
CFormResult::Mail($RESULT_ID);
© «Битрикс», 2001-2020, «1С-Битрикс», 2020
Наверх