*    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    
*PROCEDURE spracujlabas
PARAMETERS xmlko, m.edipor, m.orimeno, m.edimeno, m.kodedistred
PRIVATE m.hladajidedi
LOCAL pocetfaktur, faktura1, odberatel, dodavatel, polozky, polozka, pocetpoloziek, sumadokladu

#DEFINE CRLF CHR(13)+CHR(10)

xml=m.xmlko
pocetfaktur=hladajsekciu("Obsah",m.xml)
IF m.pocetfaktur>0
    FOR m.i=1 TO m.pocetfaktur
        hladajidedi=i_max("id_edi") 
        otevri_edi_hlavpol()
        insert_edihlav()

        SELECT edihlav
        dodavatel=vratsekciu("Odosielatel", m.xmlko,1)
        REPLACE ico WITH STRTRAN(vratsekciu("ICO",vratsekciu("Firma",m.dodavatel,1,"C"),1,"C")," ","")
        REPLACE icdph WITH vratsekciu("DIC",vratsekciu("Firma",m.dodavatel,1,"X"),1,"C")
        REPLACE partner WITH vratsekciu("Nazov",vratsekciu("Firma",m.dodavatel,1,"X"),1,"C",m.kodovastranka)
        REPLACE ulica WITH vratsekciu("Ulica",vratsekciu("Adresa",vratsekciu("firma",m.dodavatel,1,"X"),1,"X"),1,"C",m.kodovastranka)
        REPLACE mesto WITH vratsekciu("Mesto",vratsekciu("Adresa",vratsekciu("firma",m.dodavatel,1,"X"),1,"X"),1,"C",m.kodovastranka)
        RELEASE m.dodavatel

        dodavatel=vratsekciu("Hlavicka", m.xmlko,1)
        REPLACE c_faktury WITH vratsekciu("varsymbol",m.dodavatel,1,"C")
        REPLACE dat_vyst WITH vratsekciu("datum", m.dodavatel,1,"D")
        IF m.hotel_platca_dph
            REPLACE suma WITH vratsekciu("zakladdph0",vratsekciu("zakladdph",m.dodavatel,1),1,"N")
            REPLACE suma WITH suma+vratsekciu("zakladdph1",vratsekciu("zakladdph",m.dodavatel,1),1,"N")
            REPLACE suma WITH suma+vratsekciu("zakladdph2",vratsekciu("zakladdph",m.dodavatel,1),1,"N")
        ELSE
            REPLACE suma WITH vratsekciu("sumacelkom",m.dodavatel,1,"N")
        ENDIF 
        RELEASE m.dodavatel
        polozky=vratsekciu("Obsah", m.xml,1,"X")
        pocetpoloziek=hladajsekciu("Polozka", m.polozky)
        IF m.pocetpoloziek>0
            sumadokladu=0
            FOR m.ii=1 TO m.pocetpoloziek
                polozka=vratsekciu("Polozka", m.polozky, m.ii)
                INSERT INTO edipol (id_edi, c_data, riadok, ean, kod_zak, mnozstvo, cena, dan, nazov) VALUES ;
                    (m.hladajidedi, m.cdata,;
                        m.ii,;
                    vratsekciu("CiarovyKod",m.polozka,1,"C"),;
                    vratsekciu("IntKod",m.polozka,1,"C"),;
                    vratsekciu("Pocet",m.polozka,1,"N"),;
                    vratsekciu("CenaKonecna",m.polozka,1,"N"),;
                    vratsekciu("DPH",m.polozka,1,"N"),;
                    vratsekciu("NazovTovaru",m.polozka,1,"C",m.kodovastranka))
                SELECT edipol
                IF !m.hotel_platca_dph
                    REPLACE cena WITH cena*(dan/100+1)
                ENDIF 
                REPLACE cena_celk WITH cena*mnozstvo
                sumadokladu=m.sumadokladu+cena_celk
            ENDFOR
            RELEASE m.polozka 

            druhy_doklad_z_minusu()
            uloz_a_zavri_hlav_a_pol()
        ELSE
            chybatxt=m.chybatxt+CRLF+"Chybaju polozky v doklade "+ALLTRIM(edihlav.c_faktury)
        ENDIF 
        DO pozavirej WITH "edihlav, edipol"
    ENDFOR  
ELSE 
    chybatxt=m.chybatxt+CRLF+"Subor neobsahuje faktury"
ENDIF 
era_and_ok_or_err()

