diff --git a/db/postgresql/issue570_double_export.sql b/db/postgresql/issue570_double_export.sql
index 48ae6a881f6a8e65af56e9d1579ec7ca33c7634f..3070fc420fe0c49dc15f1a387baa1bb146499966 100644
--- a/db/postgresql/issue570_double_export.sql
+++ b/db/postgresql/issue570_double_export.sql
@@ -151,3 +151,88 @@ BEGIN
         where (D."IsInactive" = true and D."IsGlobal" = true) or (D."IsInactive" = false and D."IsGlobal" = false);
 end;
 $function$;
+
+DROP FUNCTION IF EXISTS public.finalreport_getbysemesteryeardisciplinegroup(pyear integer, pnum integer, pdisciplineid integer, pgroupid integer);
+CREATE OR REPLACE FUNCTION public.finalreport_getbysemesteryeardisciplinegroup(pyear integer, pnum integer, pdisciplineid integer, pgroupid integer)
+    RETURNS TABLE("SemesterYear" integer, "SemesterNum" integer, "PlanExternalID" integer, "SubjectExternalID" character varying, "RecordBookExternalID" character varying, "ExamType" exam_credit_grading_credit, "SemesterRate" bigint, "ExamRate" integer, "Exam2Rate" integer, "Exam3Rate" integer, "ExtraRate" integer, "Extra2Rate" integer, "BonusRate" integer)
+    LANGUAGE plpgsql
+AS $function$
+declare
+    vSubjectId character varying default NULL;
+    vSemesterId integer default -1;
+    vPlanExtID integer default -1;
+    vExamType exam_credit_grading_credit default 'credit';
+BEGIN
+
+    select semesters.id
+    into vSemesterId
+    from semesters
+    where semesters.year = pyear
+      and semesters.num = pnum;
+
+    select subjects.externalid
+    into vSubjectId
+    from subjects
+             join disciplines on disciplines.subjectid = subjects.id
+    where disciplines.id = pdisciplineid;
+
+    select disciplines.examtype into vExamType
+    from disciplines
+    where disciplines.id = pdisciplineid;
+
+    select study_plans.externalid into vPlanExtID
+    from study_plans
+             join disciplines_study_plans on study_plans.id = disciplines_study_plans.studyplanid
+             join disciplines on disciplines.id = disciplines_study_plans.disciplineid
+    where disciplines.id = pdisciplineid;
+
+
+    return query
+        select DisciplineGrades.SemesterYear         as "SemesterYear",
+               DisciplineGrades.SemesterNum          as "SemesterNum",
+               DisciplineGrades.PlanExternalID       as "PlanExternalID",
+               DisciplineGrades.SubjectExternalID    as "SubjectExternalID",
+               DisciplineGrades.RecordBookExternalID as "RecordBookExternalID",
+               DisciplineGrades.ExamType             as "ExamType",
+               DisciplineGrades.SemesterRate         as "SemesterRate",
+               DisciplineGrades.ExamRate             as "ExamRate",
+               DisciplineGrades.Exam2Rate            as "Exam2Rate",
+               DisciplineGrades.Exam3Rate            as "Exam3Rate",
+               DisciplineGrades.ExtraRate            as "ExtraRate",
+               DisciplineGrades.Extra2Rate           as "Extra2Rate",
+               DisciplineGrades.BonusRate            as "BonusRate"
+        from (SELECT *
+              FROM view_final_report
+              WHERE view_final_report.SemesterYear = pyear
+                and view_final_report.SemesterNum = pnum
+                and view_final_report.SubjectExternalID = vSubjectId
+                and (view_final_report.semesterrate IS NOT NULL or
+                     view_final_report.examrate IS NOT NULL or
+                     view_final_report.exam2rate IS NOT NULL or
+                     view_final_report.exam3rate IS NOT NULL or
+                     view_final_report.extrarate IS NOT NULL or
+                     view_final_report.extra2rate IS NOT null or
+                     view_final_report.bonusrate IS NOT NULL)
+              UNION
+              SELECT *
+              FROM view_global_final_report
+              WHERE view_global_final_report.SemesterYear = pyear
+                and view_global_final_report.SemesterNum = pnum
+                and view_global_final_report.SubjectExternalID = vSubjectId
+                and (view_global_final_report.semesterrate IS NOT NULL or
+                     view_global_final_report.examrate IS NOT NULL or
+                     view_global_final_report.exam2rate IS NOT NULL or
+                     view_global_final_report.exam3rate IS NOT NULL or
+                     view_global_final_report.extrarate IS NOT NULL or
+                     view_global_final_report.extra2rate IS NOT null or
+                     view_global_final_report.bonusrate IS NOT NULL)
+             ) as DisciplineGrades
+                 join record_books on record_books.externalid = DisciplineGrades.recordbookexternalid
+                 join students_groups on students_groups.recordbookid = record_books.id
+        where students_groups.semesterid = vSemesterId
+          and students_groups.groupid = pgroupid
+          and DisciplineGrades.PlanExternalID = vPlanExtID
+          and DisciplineGrades.ExamType = vExamType;
+END
+$function$;
+