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

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

xml=vratsekciu("deliverynotes", m.xmlko,1,"X")
pocetfaktur=hladajsekciu("deliverynote",m.xml)
IF m.pocetfaktur>0
    FOR m.i=1 TO m.pocetfaktur
        hladajidedi=i_max("id_edi") 
        otevri_edi_hlavpol()
        insert_edihlav()
        faktura1=vratsekciu("deliverynote", m.xml,m.i,"X")
        IF hladajsekciu("client", m.faktura1)>0
            odberatel=vratsekciu("client", m.faktura1,1,"X")
            IF STRTRAN(vratsekciu("ico",m.odberatel,1,"C")," ","")=m.hotel_ico
                IF hladajsekciu("supplier", m.xml)>0
                    dodavatel=vratsekciu("supplier", m.xml,1)
                    SELECT edihlav
                    REPLACE c_faktury WITH vratsekciu("deliverynote_id",m.faktura1,1,"C")
                    REPLACE dat_vyst WITH vratsekciu("date_issue", m.faktura1,1,"D")
                    REPLACE ico WITH STRTRAN(vratsekciu("ico",m.dodavatel,1,"C")," ","")
                    REPLACE icdph WITH vratsekciu("drc",m.dodavatel,1,"C")
                    REPLACE dic WITH SUBSTR(vratsekciu("drc",m.dodavatel,1,"C"),3)
                    REPLACE partner WITH vratsekciu("name",vratsekciu("address",m.dodavatel,1,"X"),1,"C",m.kodovastranka)
                    REPLACE ulica WITH vratsekciu("street",vratsekciu("address",m.dodavatel,1,"X"),1,"C",m.kodovastranka)
                    REPLACE mesto WITH vratsekciu("city",vratsekciu("address",m.dodavatel,1,"X"),1,"C",m.kodovastranka)
                    REPLACE psc WITH vratsekciu("post_code",vratsekciu("address",m.dodavatel,1,"X"),1,"C",m.kodovastranka)
                    RELEASE m.dodavatel
                    IF m.hotel_platca_dph
                        REPLACE suma WITH vratsekciu("tax_base_1",vratsekciu("total_price",m.faktura1,1),1,"N")
                        REPLACE suma WITH suma+vratsekciu("tax_base_2",vratsekciu("total_price",m.faktura1,1),1,"N")
                        REPLACE suma WITH suma+vratsekciu("tax_base_0",vratsekciu("total_price",m.faktura1,1),1,"N")
                    ELSE
                        REPLACE suma WITH vratsekciu("total",vratsekciu("total_price",m.faktura1,1),1,"N")
                    ENDIF 
                    IF hladajsekciu("products", m.faktura1)>0
                        polozky=vratsekciu("products", m.faktura1,1)
                        pocetpoloziek=hladajsekciu("product", m.polozky)
                        sumadokladu=0
                        FOR m.ii=1 TO m.pocetpoloziek
                            polozka=vratsekciu("product", 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("ean",m.polozka,1,"C"),;
                                vratsekciu("product_id",m.polozka,1,"C"),;
                                vratsekciu("quantity",m.polozka,1,"N"),;
                                vratsekciu("price_discount",m.polozka,1,"N"),;
                                vratsekciu("vat",m.polozka,1,"N"),;
                                vratsekciu("text",m.polozka,1,"C",m.kodovastranka)+" "+vratsekciu("Unit",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 
                ELSE
                    chybatxt=m.chybatxt+CRLF+"Chybaju udaje o dodavatelovi v doklade "+ALLTRIM(edihlav.c_faktury)
                ENDIF 
            ELSE 
                chybatxt=m.chybatxt+CRLF+"Faktura nie je pre toto ICO. Cislo faktury: "+ALLTRIM(edihlav.c_faktury)
            ENDIF
            RELEASE m.odberatel
        ELSE
            chybatxt=m.chybatxt+CRLF+"Chybaju udaje o odberatelovi v doklade "+vratsekciu("Document_Number",m.faktura1,1)
        ENDIF 
        DO pozavirej WITH "edihlav, edipol"
    ENDFOR  
ELSE 
    m.chybatxt=m.chybatxt+CRLF+"Subor neobsahuje faktury"
ENDIF 

era_and_ok_or_err()

