• Модуль: form
  • Путь к файлу: ~/bitrix/modules/form/classes/general/form_callformresult.php
  • Класс: CAllFormResult
  • Вызов: CAllFormResult::GetDataByID
static function GetDataByID($RESULT_ID, $arrFIELD_SID, &$arrRES, &$arrANSWER)
{
	global $DB, $strError;
	$err_mess = (CAllFormResult::err_mess())."
Function: GetDataByID
Line: "; $arrReturn = array(); $RESULT_ID = intval($RESULT_ID); $z = CFormResult::GetByID($RESULT_ID); if ($arrRES = $z->Fetch()) { if (is_array($arrFIELD_SID) && count($arrFIELD_SID)>0) { foreach($arrFIELD_SID as $field) $str .= ",'".$DB->ForSql($field,50)."'"; $str = TrimEx($str,","); if ($str <> '') $s = "and SID in ($str)"; } $strSql = "SELECT ID, SID, SID as VARNAME FROM b_form_field WHERE FORM_ID='".$arrRES["FORM_ID"]."' ".$s; $q = $DB->Query($strSql, false, $err_mess.__LINE__); while ($qr = $q->Fetch()) { $arrFIELDS[$qr["ID"]] = $qr["SID"]; } if (is_array($arrFIELDS)) $arrKeys = array_keys($arrFIELDS); CForm::GetResultAnswerArray($arrRES["FORM_ID"], $arrColumns, $arrAnswers, $arrAnswersSID, array("RESULT_ID"=>$RESULT_ID)); foreach ($arrAnswers[$RESULT_ID] as $fid => $arrAns) { if (is_array($arrKeys)) { if (in_array($fid,$arrKeys)) { $sid = $arrFIELDS[$fid]; $arrANSWER[$sid] = $arrAns; $arrA = array_values($arrAns); foreach($arrA as $arr) $arrReturn[$sid][] = $arr; } } } } else return false; if (is_array($arrANSWER)) reset($arrANSWER); if (is_array($arrReturn)) reset($arrReturn); if (is_array($arrRES)) reset($arrRES); return $arrReturn; }