Добрый день. Прошу разъяснить мне вопрос, возможно кто то сталкивался. Как вы наверное уже знаете, события веб-форм перехватываются в файле init.php.
У меня есть простая веб форма, на основании которой я пытаюсь создать обращение в модуле "техподдрежка".
Алгоритм такой: Объявляем ожидатель события отправки формы, проверяем, наша ли форма, выбираем данные на основе созданного ответа формы, создаем обращение.
Тут есть момент который меня слегка запутал. Для начала я просто вызывал из init.php CModule::IncludeModule("support" ); затем $NEW_TICKET_ID = CTicket::Set($arFields, $MESSAGE_ID, $TICKET_ID, "N" );, где $arFields заполнен случайными данными. Все ОК, заявка появляется, идем дальше, нужно получить данные формы, хорошо используем класс CFormResult::GetDataByID, получаем данные и тут я немного застопорился.
Полсе вызова CFormResult::GetDataByID, CTicket::Set отказывается выполняться, ни с ручными данными, ни с переменными.
У меня есть простая веб форма, на основании которой я пытаюсь создать обращение в модуле "техподдрежка".
Алгоритм такой: Объявляем ожидатель события отправки формы, проверяем, наша ли форма, выбираем данные на основе созданного ответа формы, создаем обращение.
Тут есть момент который меня слегка запутал. Для начала я просто вызывал из init.php CModule::IncludeModule("support" ); затем $NEW_TICKET_ID = CTicket::Set($arFields, $MESSAGE_ID, $TICKET_ID, "N" );, где $arFields заполнен случайными данными. Все ОК, заявка появляется, идем дальше, нужно получить данные формы, хорошо используем класс CFormResult::GetDataByID, получаем данные и тут я немного застопорился.
Полсе вызова CFormResult::GetDataByID, CTicket::Set отказывается выполняться, ни с ручными данными, ни с переменными.
Код |
---|
<?php AddEventHandler('form', 'onAfterResultAdd', 'my_onAfterResultAddUpdate'); function my_onAfterResultAddUpdate($WEB_FORM_ID, $RESULT_ID) { if ($WEB_FORM_ID == 6) { $arAnswer = CFormResult::GetDataByID( $RESULT_ID, array(), $arResult, $arAnswer2 ); CModule::IncludeModule("support"); $arFields = array( "TITLE" => "hello", "MESSAGE" => "world", "OWNER_USER_ID" => 2667 ); $NEW_TICKET_ID = CTicket::Set($arFields, $MESSAGE_ID, $TICKET_ID, "N"); echo "MESSAGE_ID = ".$MESSAGE_ID; } } ?> |