• Модуль: learning
  • Путь к файлу: ~/bitrix/modules/learning/classes/general/gradebook.php
  • Класс: CAllGradeBook
  • Вызов: CAllGradeBook::__getSqlFromClause
static function __getSqlFromClause($SqlSearchLang)
{
	$strSqlFrom =
		"FROM b_learn_gradebook G ".
		"INNER JOIN b_learn_test T ON G.TEST_ID = T.ID ".
		"INNER JOIN b_user U ON U.ID = G.STUDENT_ID ".
		"LEFT JOIN b_learn_course C ON C.ID = T.COURSE_ID ".
		"LEFT JOIN b_learn_lesson TUL ON TUL.ID = C.LINKED_LESSON_ID ".
		"LEFT JOIN b_learn_test_mark TM ON G.TEST_ID = TM.TEST_ID ".
		"WHERE (TM.SCORE IS NULL
			OR TM.SCORE =
				(
				SELECT MIN(SCORE) AS SCORE
				FROM b_learn_test_mark
				WHERE
					TEST_ID = G.TEST_ID
						AND
					SCORE >=
						CASE WHEN G.MAX_RESULT > 0
						THEN
							(G.RESULT/G.MAX_RESULT*100)
						ELSE
							0
						END
				)
			) ".
		(mb_strlen($SqlSearchLang) <= 2?"":
			"AND
				EXISTS
				(	SELECT 'x' FROM b_learn_course_site CS
					WHERE C.ID = CS.COURSE_ID AND CS.SITE_ID IN (".$SqlSearchLang.") ) "
		);

	return ($strSqlFrom);
}