Расскажу про подводные камни передачи данных из модуля Webform БУС в CRM Битрикс 24.
Про заполнение полей и ответов в результатах форм я писал в предыдущей статье.
Первоначальная настройка интеграции
Добавляем сервер Б24 в настройках модуля вебформ, вкладка Связь с CRM. Тут всё понятно, указываем адрес портала, данные для авторизации, после добавления появляется кнопка проверки соединения - проверяем.
Далее в каждой форме, данные из которой надо передавать в Б24 на вкладке CRM надо установить соответствия полей в форме и лиде Б24 и выбрать сервер, добавленный ранее.
Подводные камни
Нельзя передавать через интеграцию файлы.
Если в форме у вас есть поле с файлом, просматривать файл можно будет только в админке битрикса.
Чтобы быстрее переходить в админку из б24, создайте в Б24 поле "Ссылка в админке" типа текст. На сайте в вебформе добавьте поле "Ссылка на результат"
Добавьте следующий код в init.php (подробнее про заполнение полей можно почитать тут):
$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler(
'form',
'onAfterResultAdd',
'addFormResultLink'
);
/*
* В результаты формы добавляем ссылку на результат, чтобы в последующем передать его в CRM
*/
function addFormResultLink($WEB_FORM_ID, $RESULT_ID)
{
$resultLink = "http://{$_SERVER['HTTP_HOST']}/bitrix/admin/form_result_edit.php?lang=ru&WEB_FORM_ID={$WEB_FORM_ID}&RESULT_ID={$RESULT_ID}";
CFormResult::SetField($RESULT_ID, 'RESULT_URL', $resultLink);
}
Свяжите поле Ссылка в админке и Ссылка на результат в настройках интеграции с Б24
Поле типа список в Б24 и Поля в вебформах
Поле типа список в Б24 не получится заполнить ответом из поля в вебформах, только через вопросы.
Дело в том, что в поле типа список битрикс передает не значение, которое ввел пользователь, а параметр ANSWER_TEXT, который устанавливается в настройках вопроса