unset($arFields["COMPLETED_SCORE"]); $arFields["APPROVED"] = "N"; } if (intval($arFields["PREVIOUS_TEST_ID"]) <= 0) { $arFields["PREVIOUS_TEST_ID"] = false; } if (strlen($arFields["PREVIOUS_TEST_SCORE"]) <= 0) { $arFields["PREVIOUS_TEST_SCORE"] = 0; } $DB->StartTransaction(); if ($ID > 0) { $actionType = "update"; $res = $test->Update($ID, $arFields); } else { $actionType = "add"; $ID = $test->Add($arFields); $res = $ID > 0; } if (!$res) { if ($e = $APPLICATION->GetException()) { $message = new CAdminMessage(GetMessage("LEARNING_ERROR"), $e); } $bVarsFromForm = true; } else { //Marks $marks = CLTestMark::GetList(array(), array("TEST_ID" => $ID)); $arMarks = $arScores = array(); while ($m = $marks->GetNext()) { //delete? if (${"MARK_" . $m["ID"] . "_DEL"} == "Y") { if (!CLTestMark::Delete($m["ID"])) {