{$IFNOTEXISTS select * from RDB$PROCEDURES p
where p.rdb$procedure_name = 'W_SVI_ARTIKLI'
}

SET TERM ^ ;

create or alter procedure W_SVI_ARTIKLI
returns (
    VAZECI_CENOVNIK integer,
    SIFRA_ROBE integer,
    KOD varchar(20),
    KOD_PR varchar(20),
    ARTIKAL varchar(255),
    LOKALNI_NAZIV varchar(255),
    OPIS varchar(32000),
    KRATAK_OPIS varchar(3000),
    IMA_SLIKU integer,
    SIFRA_PROIZVODJACA integer,
    NAZIV_PROIZVODJACA varchar(255),
    SIFRA_KATEGORIJE integer,
    NAZIV_KATEGORIJE varchar(255),
    CENA decimal(18,4),
    CENAVP decimal(18, 4),
    CENAMP decimal(18, 4),
    SIFRA_POREZA integer,
    STOPA decimal(15,2),
    KOLICINA decimal(18,4))
as
begin
    select first 1 c.id from tip_cenovnika c where c.vrsta_komitenta = 3
    order by c.datum_prav desc
    into :vazeci_cenovnik;
 for 
 select c.sifra_robe, a.kod, a.kod_pr, a.artikal, a.lokalni_naziv, cast(a.opis as varchar(32000)),a.kratak_opis, a.cenavp, a.cenamp, a.slika, a.sifra_proizvodjaca, pr.proizvodjac, v.sifra_kategorije, v.kategorija_grupe, c.cena, p.sifra_poreza, p.stopa1,
 (
    select sum(l.kolicina)
    from tlokacija l
    join tblmagacin m on l.sifra_magacina = m.sifra_magacina
    join WEB_MAGACIN_KOLICINE k on m.sifra_magacina = k.sifra_magacina and k.aktivan = 1
    where l.sifra_robe = c.sifra_robe
 )
    
 from tbl_cenovnik c
 join tblartikli a on c.sifra_robe = a.sifra_robe
 join tblporez p on a.sifra_poreza = p.sifra_poreza
 join tblvrstarobe v on a.sifra_kategorije = v.sifra_kategorije
 join tblproizvodjac pr on a.sifra_proizvodjaca = pr.sifra_proizvodjaca

 where c.id_cenovnika = :vazeci_cenovnik
 and c.cena > 0
 into :sifra_robe, :kod, :kod_pr, :artikal, :lokalni_naziv, :opis, :kratak_opis, :cenavp, :cenamp, :ima_sliku, :sifra_proizvodjaca, :naziv_proizvodjaca, :sifra_kategorije, :naziv_kategorije, :cena, :sifra_poreza, :stopa, :kolicina

 do
 begin
  suspend;
 end
end^

SET TERM ; ^
{$ENDIF}