SELECT tetel.*, tetel_raktar.minimum, tetel_raktar.maximum, f1.lang_0000040e as fajta1_nev, f2.lang_0000040e as fajta2_nev, f3.lang_0000040e as fajta3_nev, f4.lang_0000040e as fajta4_nev, f5.lang_0000040e as fajta5_nev, f6.lang_0000040e as fajta6_nev, tetel_raktar.rendelt, tetel_raktar.foglalt,
   mennyisegi_egyseg.lang_0000040e as mee, null_to_zero(raktar_mozgas.mennyiseg) as keszlet, afa_kulcs.afakulcs, public.get_kiskerar(:datum_str, tetel.kod) as kiskerar_brutto, public.get_kiskerar_netto(:datum_str, tetel.kod) as kiskerar, tetel.utolsobeszerzesiar*null_to_zero(raktar_mozgas.mennyiseg) as utolsobeszerzesiar_osszeg,
    tetel_raktar.Minimum - null_to_zero(raktar_mozgas.mennyiseg) as szukseges,

   raktar_mozgas.osszeg as atlagar_osszeg, raktar_mozgas.fifo_ar as fifo_osszeg
   FROM tetel
    INNER JOIN tetel_fajtak f1 ON tetel.fajta1 = f1.kod INNER JOIN tetel_fajtak f4 ON tetel.fajta4 = f4.kod
    INNER JOIN tetel_fajtak f2 ON tetel.fajta2 = f2.kod INNER JOIN tetel_fajtak f5 ON tetel.fajta5 = f5.kod
    INNER JOIN tetel_fajtak f3 ON tetel.fajta3 = f3.kod INNER JOIN tetel_fajtak f6 ON tetel.fajta6 = f6.kod
    INNER JOIN mennyisegi_egyseg ON tetel.mennyisegi_egyseg = mennyisegi_egyseg.kod
    INNER JOIN afa_kulcs ON tetel.afa_kulcs = afa_kulcs.kod
    INNER JOIN
      (SELECT tetel_kod, SUM(minimum_keszlet) as minimum, SUM(maximum_keszlet) as maximum, SUM(rendelt) as rendelt, SUM(foglalt) as foglalt
         FROM tetel_raktar
         WHERE ((raktar_kod = :raktar))
        GROUP BY tetel_kod) as tetel_raktar ON tetel.kod = tetel_raktar.tetel_kod

    INNER JOIN
      (SELECT cel.tetel_kod, SUM(cel.mennyiseg) as mennyiseg, MAX(raktar_mozgas_fej.datum), SUM(cel.atlagar) as osszeg, SUM(cel.fifo_ar) as fifo_ar
        FROM
         ((SELECT kod as rkmozg_kod, raktar_mozgas_bizonylat, tetel_kod, mennyiseg, netto_osszeg_huf, netto_osszeg_huf as atlagar, netto_osszeg_huf as fifo_ar,
                  netto_arbevetel_huf, brutto_arbevetel_huf, cel_raktar_kod, forras_raktar_kod, fej_kod
             FROM raktar_mozgas a
             WHERE ((cel_raktar_kod = :raktar))
                AND (forras_raktar_kod = 0) AND ((mennyiseg > 0) or ((SELECT sztornozott_bizonylat_kod FROM raktar_mozgas_fej WHERE kod = a.fej_kod) <> 0) )
                AND (csak_fobizonylat_tetel = 0) )
           UNION
          (SELECT kod as rkmozg_kod, raktar_mozgas_bizonylat, tetel_kod, mennyiseg, netto_osszeg_huf, forras_raktar_atlagar*mennyiseg as atlagar, forras_raktar_fifo_ar*mennyiseg as fifo_ar,
                  netto_arbevetel_huf, brutto_arbevetel_huf, cel_raktar_kod, forras_raktar_kod, fej_kod
             FROM raktar_mozgas a
             WHERE ((cel_raktar_kod = :raktar))
                AND (forras_raktar_kod = 0) AND ((mennyiseg < 0) and ((SELECT sztornozott_bizonylat_kod FROM raktar_mozgas_fej WHERE kod = a.fej_kod) = 0) ) 
                AND (csak_fobizonylat_tetel = 0) )
           UNION
          (SELECT kod as rkmozg_kod, raktar_mozgas_bizonylat, tetel_kod, mennyiseg, netto_osszeg_huf, forras_raktar_atlagar*mennyiseg as atlagar, forras_raktar_fifo_ar*mennyiseg as fifo_ar,
                  netto_arbevetel_huf, brutto_arbevetel_huf, cel_raktar_kod, forras_raktar_kod, fej_kod
             FROM raktar_mozgas a
             WHERE ((cel_raktar_kod = :raktar))
                AND (forras_raktar_kod <> 0)
                AND (csak_fobizonylat_tetel = 0) )
           UNION
          (SELECT kod as rkmozg_kod, raktar_mozgas_bizonylat, tetel_kod, mennyiseg*-1 as mennyiseg, netto_osszeg_huf, forras_raktar_atlagar*mennyiseg*-1 as atlagar, forras_raktar_fifo_ar*mennyiseg*-1 as fifo_ar,
                  netto_arbevetel_huf, brutto_arbevetel_huf, cel_raktar_kod, forras_raktar_kod, fej_kod
             FROM raktar_mozgas b
             WHERE ((forras_raktar_kod = :raktar))
                AND (csak_fobizonylat_tetel = 0) )
               ) as cel, raktar_mozgas_fej
    WHERE cel.fej_kod = raktar_mozgas_fej.kod
       and raktar_mozgas_fej.datum <= :datum
    GROUP BY cel.tetel_kod) AS raktar_mozgas ON (raktar_mozgas.tetel_kod = tetel.kod)
         AND (null_to_zero(raktar_mozgas.mennyiseg) <> 0)
   WHERE tetel_tipus <> 0

   


























 
 
 
 














 
 
