SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF OBJECT_ID('fnGetDokumentumMulasztasokOsztalyonkentReszletes') IS NOT NULL BEGIN DROP FUNCTION fnGetDokumentumMulasztasokOsztalyonkentReszletes END GO CREATE FUNCTION fnGetDokumentumMulasztasokOsztalyonkentReszletes (@tanevId INT, @osztalyCsoportId INT, @iskolaErdekuSzamit BIT, @csakKivlasztottOsztalyCsoport BIT = 0, @atsoroltTanuloMulasztas BIT = 1, @idoszakEleje DATE = NULL, @idoszakVege DATE = NULL) RETURNS TABLE RETURN ( SELECT C_ORATANULOIID TanuloId ,C_OSZTALYCSOPORTID OsztalyCsoportId ,OsztalyCsoport.C_NEV OsztalyCsoportNev ,C_TIPUS Tipusa ,C_IGAZOLT Igazolt ,C_IGAZOLASTIPUSA IgazolasTipusa ,C_KESESPERCBEN KesesPercben ,C_DATUM Datum ,C_ORASZAM Oraszam ,C_TANTARGYID TantargyId ,ISNULL(t.C_NEVNYOMTATVANYBAN, t.C_NEV) TantargyNev ,NaptariHetek.C_HETSORSZAMA HetSorszama ,C_GYAKORLATI Gyakorlati FROM T_TANULOMULASZTAS_OSSZES TanuloMulasztas INNER JOIN fnGetDokumentumOsztalyokCsoportokTanuloi(@tanevId, @osztalyCsoportId, 'T') AS TANULO ON TANULO.TanuloId = TanuloMulasztas.C_ORATANULOIID INNER JOIN T_TANITASIORA_OSSZES TanitasiOra ON TanitasiOra.ID = TanuloMulasztas.C_TANITASIORAKID INNER JOIN T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON OsztalyCsoport.ID = TanitasiOra.C_OSZTALYCSOPORTID INNER JOIN T_TANTARGY_OSSZES t on t.ID = TanitasiOra.C_TANTARGYID INNER JOIN T_NAPTARIHET_OSSZES NaptariHetek ON TanitasiOra.C_DATUM BETWEEN NaptariHetek.C_HETKEZDONAPJA AND NaptariHetek.C_HETUTOLSONAPJA WHERE TanuloMulasztas.C_TIPUS IN (1499, 1500) AND TanitasiOra.C_OSZTALYCSOPORTID IN (SELECT Id FROM fnGetDokumentumOsztalyVagyTanoraiCsoport(@tanevId)) AND (@iskolaErdekuSzamit = 1 OR (C_IGAZOLASTIPUSA IS NULL OR C_IGAZOLASTIPUSA <> 1533)) AND TanuloMulasztas.TOROLT = 'F' AND NaptariHetek.C_TANEVID = @tanevId AND (@atsoroltTanuloMulasztas = 1 OR TanitasiOra.C_DATUM >= BelepesDatum ) AND (TanitasiOra.C_DATUM <= KilepesDatum OR KilepesDatum IS NULL) AND (@csakKivlasztottOsztalyCsoport = 0 OR C_OSZTALYCSOPORTID = @osztalyCsoportId) AND (@idoszakEleje IS NULL OR C_DATUM >= @idoszakEleje) AND (@idoszakVege IS NULL OR C_DATUM <= @idoszakVege) )