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"])) {