diff --git a/db/Sample.sql b/db/Sample.sql
index de7f9a74c9ee529c3ce24914bfbaf898aa20557e..34e91239609a1cc751d72fcae7d8c16090a31f09 100644
--- a/db/Sample.sql
+++ b/db/Sample.sql
@@ -3,7 +3,7 @@
 -- http://www.phpmyadmin.net
 --
 -- РҐРѕСЃС‚: 127.0.0.1:3306
--- Время создания: Авг 22 2014 г., 14:07
+-- Время создания: Авг 28 2014 г., 19:29
 -- Версия сервера: 5.5.37-log
 -- Версия PHP: 5.3.28
 
@@ -25,28 +25,30 @@ SET time_zone = "+00:00";
 --
 
 INSERT INTO `accounts` (`ID`, `Login`, `Password`, `EMail`, `UserRoleID`, `ActivationCode`, `isEnabled`, `UserAgent`) VALUES
-(6, 'Abbadon', 'ff6cfea689c242780b084583790e39f5eb03bb91', 'solidovic@gmail.com', 3, NULL, 1, NULL),
-(7, NULL, NULL, NULL, 1, 'code2', 1, NULL);
-
---
--- Дамп данных таблицы `job_positions`
---
-
-INSERT INTO `job_positions` (`ID`, `Name`) VALUES
-(1, 'Аспирант'),
-(2, 'Ассистент'),
-(3, 'Ведущий научный сотрудник'),
-(4, 'Главный научный сотрудник'),
-(5, 'Докторант'),
-(6, 'Доцент'),
-(7, 'Младший научный сотрудник'),
-(8, 'Научный сотрудник'),
-(9, 'Преподаватель'),
-(10, 'Профессор'),
-(11, 'Старший преподаватель'),
-(12, 'Стажер'),
-(13, 'Старший научный сотрудник'),
-(14, 'Доцент');
+(1, 'student1', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student1@mail.ru', 1, NULL, 1, NULL),
+(2, 'student2', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student2@mail.ru', 1, NULL, 1, NULL),
+(3, 'student3', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student3@mail.ru', 1, NULL, 1, NULL),
+(4, 'student4', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student4@mail.ru', 1, NULL, 1, NULL),
+(5, 'student5', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student5@mail.ru', 1, NULL, 1, NULL),
+(6, 'student6', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student6@mail.ru', 1, NULL, 1, NULL),
+(7, 'student7', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student7@mail.ru', 1, NULL, 1, NULL),
+(8, 'student8', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student8@mail.ru', 1, NULL, 1, NULL),
+(9, 'student9', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student9@mail.ru', 1, NULL, 1, NULL),
+(10, 'student10', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student10@mail.ru', 1, NULL, 1, NULL),
+(11, 'student11', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student11@mail.ru', 1, NULL, 1, NULL),
+(12, 'student12', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student12@mail.ru', 1, NULL, 1, NULL),
+(13, 'student13', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student13@mail.ru', 1, NULL, 1, NULL),
+(14, 'student14', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student14@mail.ru', 1, NULL, 1, NULL),
+(15, 'student15', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student15@mail.ru', 1, NULL, 1, NULL),
+(16, 'student16', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'student16@mail.ru', 1, NULL, 1, NULL),
+(17, 'teacher1', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'teacher1@mail.ru', 3, NULL, 1, NULL),
+(18, 'teacher2', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'teacher2@mail.ru', 2, NULL, 1, NULL),
+(19, 'teacher3', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'teacher3@mail.ru', 2, NULL, 1, NULL),
+(20, 'teacher4', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'teacher4@mail.ru', 2, NULL, 1, NULL),
+(21, 'teacher5', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'teacher5@mail.ru', 2, NULL, 1, NULL),
+(22, 'teacher6', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'teacher6@mail.ru', 3, NULL, 1, NULL),
+(23, 'teacher7', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'teacher7@mail.ru', 2, NULL, 1, NULL),
+(24, 'teacher8', '7b21848ac9af35be0ddb2d6b9fc3851934db8420', 'teacher8@mail.ru', 2, NULL, 1, NULL);
 
 --
 -- Дамп данных таблицы `faculties`
@@ -65,12 +67,28 @@ INSERT INTO `departments` (`ID`, `Name`, `FacultyID`) VALUES
 (2, 'Кафедра магического анализа', 1);
 
 --
--- Дамп данных таблицы `general_settings`
+-- Дамп данных таблицы `subjects`
 --
 
-INSERT INTO `general_settings` (`ID`, `Val`, `ValS`) VALUES
-(1, 1, NULL),
-(2, NULL, 'hfkshfkjdshkjfsdj');
+INSERT INTO `subjects` (`ID`, `Name`, `Abbr`) VALUES
+(1, 'Математический анализ', 'Матан'),
+(2, 'Дифференциальные уравнения', 'Диф. ур-я'),
+(3, 'Иностранный язык', 'Ин.яз.'),
+(4, 'Операционные системы', 'ОС');
+
+--
+-- Дамп данных таблицы `teachers`
+--
+
+INSERT INTO `teachers` (`ID`, `LastName`, `FirstName`, `SecondName`, `JobPositionID`, `DepartmentID`, `AccountID`) VALUES
+(1, 'teacher1', 'First', 'Second', 1, 1, 17),
+(2, 'teacher2', 'First', 'Second', 2, 1, 18),
+(3, 'teacher3', 'First', 'Second', 3, 2, 19),
+(4, 'teacher4', 'First', 'Second', 3, 2, 20),
+(5, 'teacher5', 'First', 'Second', 3, 2, 21),
+(6, 'teacher6', 'First', 'Second', 13, 1, 22),
+(7, 'teacher7', 'First', 'Second', 13, 1, 23),
+(8, 'teacher8', 'First', 'Second', 8, 2, 24);
 
 --
 -- Дамп данных таблицы `semesters`
@@ -94,31 +112,178 @@ INSERT INTO `specializations` (`ID`, `Name`, `Abbr`, `FacultyID`) VALUES
 --
 
 INSERT INTO `study_groups` (`ID`, `Grade`, `GroupNum`, `SpecializationID`, `Name`) VALUES
-(1, 1, 1, 1, NULL);
+(1, 1, 1, 1, NULL),
+(2, 1, 2, 1, NULL),
+(3, 1, 3, 2, NULL),
+(4, 2, 1, 1, NULL);
+
+--
+-- Дамп данных таблицы `disciplines`
+--
+
+INSERT INTO `disciplines` (`ID`, `Grade`, `SubjectID`, `AuthorID`, `ExamType`, `SemesterID`, `PracticeCount`, `LectionCount`, `DepartmentID`) VALUES
+(1, 1, 4, 1, 'exam', 1, 20, 20, 1),
+(2, 1, 3, 3, 'exam', 1, 20, 15, 2),
+(3, 1, 3, 4, 'exam', 1, 20, 15, 2),
+(4, 1, 3, 5, 'exam', 1, 20, 15, 2),
+(5, 1, 1, 6, 'credit', 1, 15, 15, 1),
+(6, 1, 2, 8, 'credit', 1, 10, 10, 2),
+(7, 1, 2, 1, 'credit', 1, 10, 10, 1);
+
+--
+-- Дамп данных таблицы `disciplines_groups`
+--
+
+INSERT INTO `disciplines_groups` (`ID`, `DisciplineID`, `StudyGroupID`) VALUES
+(1, 1, 3),
+(2, 2, 1),
+(3, 2, 2),
+(4, 2, 3),
+(5, 3, 1),
+(6, 3, 2),
+(7, 3, 3),
+(8, 4, 1),
+(9, 4, 2),
+(10, 4, 3),
+(11, 5, 1),
+(12, 5, 2),
+(13, 6, 2);
 
 --
 -- Дамп данных таблицы `students`
 --
 
 INSERT INTO `students` (`ID`, `StudyGroupID`, `AccountID`, `LastName`, `FirstName`, `SecondName`) VALUES
-(1, 1, 7, 'Иванов', 'Иван', 'Иванович');
+(1, 1, 1, 'student1_c1g1', 'First', 'Second'),
+(2, 1, 2, 'student2_c1g1', 'First', 'Second'),
+(3, 1, 3, 'student3_c1g1', 'First', 'Second'),
+(4, 1, 4, 'student4_c1g1', 'First', 'Second'),
+(5, 1, 5, 'student5_c1g1', 'First', 'Second'),
+(6, 2, 6, 'student1_c1g2', 'First', 'Second'),
+(7, 2, 7, 'student2_c1g2', 'First', 'Second'),
+(8, 2, 8, 'student3_c1g2', 'First', 'Second'),
+(9, 2, 9, 'student4_c1g2', 'First', 'Second'),
+(10, 2, 10, 'student5_c1g2', 'First', 'Second'),
+(11, 3, 11, 'student1_c1g3', 'First', 'Second'),
+(12, 3, 12, 'student2_c1g3', 'First', 'Second'),
+(13, 3, 13, 'student3_c1g3', 'First', 'Second'),
+(14, 3, 14, 'student4_c1g3', 'First', 'Second'),
+(15, 3, 15, 'student5_c1g3', 'First', 'Second'),
+(16, 4, 16, 'student1_c2g1', 'First', 'Second');
 
 --
--- Дамп данных таблицы `subjects`
+-- Дамп данных таблицы `disciplines_students`
 --
 
-INSERT INTO `subjects` (`ID`, `Name`, `Abbr`) VALUES
-(1, 'Математический анализ', 'Матан'),
-(2, 'Конституционное право', 'КП'),
-(3, 'Операционные системы', 'ОС'),
-(4, 'История', 'История');
+INSERT INTO `disciplines_students` (`ID`, `DisciplineID`, `StudentID`, `Type`) VALUES
+(1, 5, 1, 'detach'),
+(2, 5, 6, 'detach'),
+(3, 6, 6, 'detach'),
+(4, 6, 7, 'detach'),
+(5, 1, 15, 'detach'),
+(6, 2, 3, 'detach'),
+(7, 2, 4, 'detach'),
+(8, 2, 4, 'detach'),
+(9, 2, 3, 'detach'),
+(10, 2, 4, 'detach'),
+(11, 2, 5, 'detach'),
+(12, 2, 8, 'detach'),
+(13, 2, 9, 'detach'),
+(14, 2, 9, 'detach'),
+(15, 2, 8, 'detach'),
+(16, 2, 9, 'detach'),
+(17, 2, 10, 'detach'),
+(18, 2, 12, 'detach'),
+(19, 2, 13, 'detach'),
+(20, 2, 14, 'detach'),
+(21, 2, 14, 'detach'),
+(22, 2, 12, 'detach'),
+(23, 2, 13, 'detach'),
+(24, 2, 14, 'detach'),
+(25, 2, 15, 'detach'),
+(26, 3, 1, 'detach'),
+(27, 3, 2, 'detach'),
+(28, 3, 5, 'detach'),
+(29, 3, 11, 'detach'),
+(30, 3, 12, 'detach'),
+(31, 3, 12, 'detach'),
+(32, 3, 1, 'detach'),
+(33, 3, 2, 'detach'),
+(34, 3, 5, 'detach'),
+(35, 3, 11, 'detach'),
+(36, 3, 14, 'detach'),
+(37, 3, 15, 'detach'),
+(38, 3, 6, 'detach'),
+(39, 3, 7, 'detach'),
+(40, 3, 9, 'detach'),
+(41, 3, 9, 'detach'),
+(42, 3, 6, 'detach'),
+(43, 3, 7, 'detach'),
+(44, 3, 9, 'detach'),
+(45, 3, 10, 'detach'),
+(46, 4, 1, 'detach'),
+(47, 4, 2, 'detach'),
+(48, 4, 3, 'detach'),
+(49, 4, 4, 'detach'),
+(50, 4, 7, 'detach'),
+(51, 4, 8, 'detach'),
+(52, 4, 9, 'detach'),
+(53, 4, 11, 'detach'),
+(54, 4, 12, 'detach'),
+(55, 4, 12, 'detach'),
+(56, 4, 1, 'detach'),
+(57, 4, 2, 'detach'),
+(58, 4, 3, 'detach'),
+(59, 4, 4, 'detach'),
+(60, 4, 7, 'detach'),
+(61, 4, 8, 'detach'),
+(62, 4, 9, 'detach'),
+(63, 4, 11, 'detach'),
+(64, 4, 12, 'detach'),
+(65, 4, 13, 'detach'),
+(66, 1, 15, 'detach'),
+(67, 6, 11, 'attach'),
+(68, 1, 6, 'attach'),
+(69, 1, 6, 'attach'),
+(70, 6, 11, 'attach'),
+(71, 1, 6, 'attach'),
+(72, 1, 16, 'attach');
 
 --
--- Дамп данных таблицы `teachers`
+-- Дамп данных таблицы `disciplines_teachers`
 --
 
-INSERT INTO `teachers` (`ID`, `LastName`, `FirstName`, `SecondName`, `JobPositionID`, `DepartmentID`, `AccountID`) VALUES
-(1, 'Колобок', 'Фазиль', 'Евреивич', 9, 1, 6);
+INSERT INTO `disciplines_teachers` (`ID`, `DisciplineID`, `TeacherID`) VALUES
+(1, 1, 1),
+(7, 1, 2),
+(2, 2, 3),
+(3, 3, 4),
+(4, 4, 5),
+(5, 5, 6),
+(8, 5, 7),
+(9, 6, 1),
+(6, 6, 8),
+(10, 7, 1);
+
+--
+-- Дамп данных таблицы `job_positions`
+--
+
+INSERT INTO `job_positions` (`ID`, `Name`) VALUES
+(1, 'Аспирант'),
+(2, 'Ассистент'),
+(3, 'Ведущий научный сотрудник'),
+(4, 'Главный научный сотрудник'),
+(5, 'Докторант'),
+(6, 'Доцент'),
+(7, 'Младший научный сотрудник'),
+(8, 'Научный сотрудник'),
+(9, 'Преподаватель'),
+(10, 'Профессор'),
+(11, 'Старший преподаватель'),
+(12, 'Стажер'),
+(13, 'Старший научный сотрудник'),
+(14, 'Доцент');
 
 /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
 /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
diff --git a/db/StoredProcedures.sql b/db/StoredProcedures.sql
index e8b555d290bae720b60fff51c20f5eea711c2964..62630c5a5ccf1bc24d1cdd48b7fd44a25466dd24 100644
--- a/db/StoredProcedures.sql
+++ b/db/StoredProcedures.sql
@@ -255,7 +255,7 @@ BEGIN
 			specializations.FacultyID	AS 'FacultyID'
 	FROM `study_groups`
 	INNER JOIN `specializations` ON specializations.ID = study_groups.SpecializationID
-	WHERE 	study_groups.Grade = Grade AND 
+	WHERE 	( Grade = 0 OR study_groups.Grade = Grade ) AND 
 			specializations.FacultyID = FacultyID
 	ORDER BY specializations.ID ASC, study_groups.Grade ASC, study_groups.GroupNum ASC;
 END //
@@ -277,7 +277,7 @@ BEGIN
 	INNER JOIN `specializations` ON specializations.ID = study_groups.SpecializationID
 	WHERE 	study_groups.Grade = Grade AND 
 			specializations.FacultyID = FacultyID
-	ORDER BY study_groups.Grade ASC, study_groups.GroupNum ASC;
+	ORDER BY study_groups.GroupNum ASC;
 END //
 
 
@@ -390,7 +390,8 @@ BEGIN
 	FROM `disciplines_groups`
 	INNER JOIN `study_groups` 		ON study_groups.ID = disciplines_groups.StudyGroupID
 	INNER JOIN `specializations` 	ON study_groups.SpecializationID = specializations.ID
-	WHERE disciplines_groups.DisciplineID = DisciplineID;
+	WHERE disciplines_groups.DisciplineID = DisciplineID
+	ORDER BY study_groups.Grade ASC, study_groups.GroupNum ASC;
 
 END //
 
@@ -1062,6 +1063,7 @@ BEGIN
 
 	SELECT DISTINCT disciplines.ID 			AS 'DisciplineID',
                     disciplines.ExamType 	AS 'DisciplineType',
+                    disciplines.Grade 		AS 'DisciplineGrade',
                     subjects.ID 			AS 'SubjectID',
                     subjects.Name 			AS 'SubjectName',
                     disciplines_teachers.ID AS 'DisciplineTeacherID',