Добрый день!
Возникла необходимость деактивировать ответ веб-формы в случае если он был в результате веб-формы. Т.е. если пользователь выбрал данный ответ (radio button), то в дальнейшем данного ответа в веб-форме быть уже не должно.
Использую
Код в init.php:
AddEventHandler('form', 'onBeforeResultAdd', 'my_onBeforeResultAdd');
function my_onBeforeResultAdd($WEB_FORM_ID, &$arFields, &$arrVALUES)
{
global $APPLICATION;
if ($WEB_FORM_ID == 7)
{
$answerID = $arrVALUES["form_radio_SPIKERS"]; // id ответа, который был выбран и его необходимо деактивировать
$arNewFields = array(
"FORM_ID" => $WEB_FORM_ID,
"arANSWER" => $arNewAnswer,
);
$arNewAnswer[] = array(
"ID" => $answerID,
"ACTIVE" => "N", // пытаюсь обновить статус ответа на неактивный
);
CFormField::Set($arNewFields, $answerID, "N"); // обновляю уже существующий ответ
}
}
В итоге не работает, новый результат веб-формы появляется, но ответ не деактивируется. Подскажите где ошибка у меня? Спасибо!
Возникла необходимость деактивировать ответ веб-формы в случае если он был в результате веб-формы. Т.е. если пользователь выбрал данный ответ (radio button), то в дальнейшем данного ответа в веб-форме быть уже не должно.
Использую
Код в init.php:
AddEventHandler('form', 'onBeforeResultAdd', 'my_onBeforeResultAdd');
function my_onBeforeResultAdd($WEB_FORM_ID, &$arFields, &$arrVALUES)
{
global $APPLICATION;
if ($WEB_FORM_ID == 7)
{
$answerID = $arrVALUES["form_radio_SPIKERS"]; // id ответа, который был выбран и его необходимо деактивировать
$arNewFields = array(
"FORM_ID" => $WEB_FORM_ID,
"arANSWER" => $arNewAnswer,
);
$arNewAnswer[] = array(
"ID" => $answerID,
"ACTIVE" => "N", // пытаюсь обновить статус ответа на неактивный
);
CFormField::Set($arNewFields, $answerID, "N"); // обновляю уже существующий ответ
}
}
В итоге не работает, новый результат веб-формы появляется, но ответ не деактивируется. Подскажите где ошибка у меня? Спасибо!