/** * <p>Возвращает вопрос плана тестирования по идентификатору ID.</p> * * * * * @param int $ID Идентификатор вопроса в плане тестирования. * * * * @return CDBResult <p>Возвращается объект <a * href="http://dev.1c-bitrix.ru/api_help/main/reference/cdbresult/index.php">CDBResult</a>.</p> * * * <h4>Example</h4> * <pre> * <? * if (CModule::IncludeModule("learning")) * { * $TEST_RESULT_ID = 2894; * * $res = CTestResult::GetByID($TEST_RESULT_ID); * * if ($arResult = $res->GetNext()) * { * echo " Question name: ".$arResult["QUESTION_NAME"]; * echo " Answered: ".$arResult["ANSWERED"]; * echo " Point: ".$arResult["POINT"]; * } * } * ?> * </pre> * * * * <h4>See Also</h4> * <ul> <li> <a href="http://dev.1c-bitrix.ru/api_help/main/reference/cdbresult/index.php">CDBResult</a> </li> <li> <a * href="../../fields.php#test_result">Поля плана тестирования</a> </li> <li> <a * href="index.php">CTestResult</a>::<a href="getlist.php">GetList</a> </li> </ul><a name="examples"></a> * * * @static * @link http://dev.1c-bitrix.ru/api_help/learning/classes/ctestresult/getbyid.php * @author Bitrix */ public static function GetByID($ID) { return CTestResult::GetList(Array(), Array("ID"=>$ID)); }
@set_time_limit(0); $DB->StartTransaction(); if (!CTestResult::Delete($ID)) { $DB->Rollback(); $lAdmin->AddGroupError(GetMessage("LEARNING_DELETE_ERROR"), $ID); } else { CTestAttempt::RecountQuestions($ATTEMPT_ID); CTestAttempt::OnAttemptChange($ATTEMPT_ID); } $DB->Commit(); break; } } } // fetch data $rsData = CTestResult::GetList(array($by => $order), $arFilter); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); // navigation string setup $lAdmin->NavText($rsData->GetNavPrint(GetMessage("LEARNING_ADMIN_RESULTS"))); // list header $lAdmin->AddHeaders(array(array("id" => "ID", "content" => "ID", "sort" => "id", "default" => true), array("id" => "QUESTION_NAME", "content" => GetMessage('LEARNING_ADMIN_QUESTION_NAME'), "sort" => "question_name", "default" => true), array("id" => "ANSWERED", "content" => GetMessage('LEARNING_ADMIN_ANSWERED'), "sort" => "answered", "default" => true), array("id" => "CORRECT", "content" => GetMessage('LEARNING_ADMIN_CORRECT'), "sort" => "correct", "default" => true), array("id" => "POINT", "content" => GetMessage('LEARNING_ADMIN_POINT'), "sort" => "point", "default" => true), array("id" => "RESPONSE_TEXT", "content" => GetMessage('LEARNING_ADMIN_USER_RESPONSE_TEXT'), "sort" => "point", "default" => true))); // building list while ($arRes = $rsData->NavNext(true, "f_")) { $arRes['RESPONSE_TEXT'] = ''; $result = CLQuestion::GetByID($arRes['QUESTION_ID']); $arData = $result->Fetch(); if ($arData['QUESTION_TYPE'] === 'T') { $arRes['RESPONSE_TEXT'] = $arRes['RESPONSE']; } elseif (!empty($arRes['RESPONSE'])) { $arResponseIDs = explode(',', $arRes['RESPONSE']);
$arProgress = CTestResult::GetProgress($sessAttemptID); if ($arProgress["TODO"] == 0) { $rsTestAttempt = new CTestAttempt(); $rsTestAttempt->AttemptFinished($sessAttemptID); $rsAtt = CTestAttempt::GetByID((int) $sessAttemptID); if (($arAtt = $rsAtt->GetNext()) && $arTest["APPROVED"] == "Y") { $arAtt["CORRECT_COUNT"] = CTestResult::GetCorrectCount($arAtt["ID"]); $sessAttempt = $arAtt; } $sessAttemptID = null; $sessAttemptFinished = true; LocalRedirect($arResult["REDIRECT_PAGE"]); } } //Get questions $rsTestResult = CTestResult::GetList(array("ID" => "ASC"), array("ATTEMPT_ID" => $sessAttemptID, 'CHECK_PERMISSIONS' => 'N')); $rsTestResult->NavStart(10000); $arResult["NAV"]["PAGE_COUNT"] = $rsTestResult->SelectedRowsCount(); //If no questions if ($arResult["NAV"]["PAGE_COUNT"] <= 0) { $rsTestAttempt = new CTestAttempt(); $rsTestAttempt->AttemptFinished($sessAttemptID); $sessAttemptID = null; $sessAttemptFinished = true; LocalRedirect($arResult["REDIRECT_PAGE"]); } if ($arResult["NAV"]["PAGE_NUMBER"] > $arResult["NAV"]["PAGE_COUNT"]) { $arResult["NAV"]["PAGE_NUMBER"] = 1; $arResult["REDIRECT_PAGE"] = str_replace("#PAGE_ID#", $arResult["NAV"]["PAGE_NUMBER"] + 1, $arResult["PAGE_TEMPLATE"]); } $questionPageIndex = 1;
function GetByID($ID) { return CTestResult::GetList(array(), array("ID" => $ID)); }