*    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    *    
*PROCEDURE spracuj_xmlbidfood
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)

hladajidedi=i_max("id_edi") 
otevri_edi_hlavpol()
insert_edihlav()
faktura1=m.xmlko
IF hladajsekciu("purchaser", m.faktura1)>0
    odberatel=vratsekciu("purchaser", m.faktura1,1,"X")
    IF INLIST(STRTRAN(vratsekciu("regnumber",m.odberatel,1,"C")," ",""),m.hotel_ico,"35781319") .or. ATC("GOLD GROUP", m.faktura1) > 0
        IF hladajsekciu("supplier", m.faktura1)>0
            dodavatel=vratsekciu("supplier", m.xmlko,1)
            SELECT edihlav
            REPLACE c_faktury WITH vratsekciu("id",m.faktura1,1,"C")
            IF EMPTY(c_faktury)
                REPLACE c_faktury WITH vratsekciu("numberDL",m.faktura1,1,"C")
            ENDIF 
            REPLACE dat_vyst WITH vratsekciu("documentdate", m.faktura1,1,"D")
            REPLACE ico WITH STRTRAN(vratsekciu("regnumber",m.dodavatel,1,"C")," ","")
            REPLACE icdph WITH vratsekciu("taxid",m.dodavatel,1,"C")
            REPLACE dic WITH SUBSTR(vratsekciu("taxid",m.dodavatel,1,"C"),3)
            REPLACE partner WITH vratsekciu("name",m.dodavatel,1,"C",m.kodovastranka)
            REPLACE ulica WITH vratsekciu("street",vratsekciu("address",m.dodavatel,1,"X"),1,"C",m.kodovastranka)+" "+vratsekciu("housenumber",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("zip",vratsekciu("address",m.dodavatel,1,"X"),1,"C",m.kodovastranka)

            IF hladajsekciu("deliveryPlace", m.faktura1)>0
                dodavatel=vratsekciu("deliveryPlace", m.faktura1,1)
                REPLACE edi_stred WITH vratsekciu("name",m.dodavatel, 1,"C",m.kodovastranka)
            ENDIF 
            RELEASE m.dodavatel

            REPLACE suma WITH vratsekciu("total_base",m.faktura1,1,"N")
            IF !m.hotel_platca_dph
                REPLACE suma WITH suma+vratsekciu("total_vat",m.faktura1,1,"N")
            ENDIF 
            IF hladajsekciu("items", m.faktura1)>0
                polozky=vratsekciu("items", m.faktura1,1)
                pocetpoloziek=hladajsekciu("item", m.polozky)
                sumadokladu=0
                FOR m.ii=1 TO m.pocetpoloziek
                    polozka=vratsekciu("item", m.polozky, m.ii)
                    IF hladajsekciu("costPerUnitBNet", m.polozka)>0
                        jednotkova_cena = vratsekciu("costPerUnitBNet",m.polozka,1,"N")
                    ELSE 
                        jednotkova_cena = vratsekciu("costPerUnitNet" ,m.polozka,1,"N")
                    ENDIF 
                    INSERT INTO edipol (id_edi, c_data, riadok, ean, kod_zak, mnozstvo, cena, dan, nazov) VALUES ;
                               (m.hladajidedi, m.cdata, m.ii+5000,   "",;
                        vratsekciu("itemid",m.polozka,1,"C"),;
                        vratsekciu("quantity",vratsekciu("itemqty",m.polozka,1,"X"),1,"N"),;
                        m.jednotkova_cena,;
                        vratsekciu("vatRate",m.polozka,1,"N"),;
                        vratsekciu("itemName",m.polozka,1,"C",m.kodovastranka)+" "+vratsekciu("Unit",vratsekciu("itemqty",m.polozka,1,"X"),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"

era_and_ok_or_err()

