*      *      *      *      *     *        *     *      *      *      *      *
*
*  oprava edi_prijemek od Brazda a goldgroup u hajka - lze jen snizit mnozstvi
*
* 2023-07-18
* 2023-10-11 - pridan alimpex
*
*      *      *      *      *     *BEZ HADA*     *      *      *      *      *

#DEFINE POCET_DNI 15

DO clos_data
USE (m.gcdat_path + "edi_hlav") IN 0 NOUPDATE 
USE (m.gcdat_path + "edi_pol")  IN 0

SELECT * FROM (m.gcdat_path + "edi_hlav") INTO TABLE (m.gcpri_path + "edi_hl_menaz") ;
       WHERE c_dokl = 0 AND dat_vyst >= (DATE() - POCET_DNI) AND INLIST(ico, "48109975", "28496132", "8595121810000") AND edi_kod = m.man_edi_kod

IF RECCOUNT() = 0
    SELECT * FROM (m.gcdat_path + "edi_hlav") INTO TABLE (m.gcpri_path + "edi_hl_menaz") ;
           WHERE c_dokl = 0 AND dat_vyst >= (DATE() - POCET_DNI) AND INLIST(ico, "48109975", "28496132", "8595121810000") &&.and. edi_kod = m.man_edi_kod
ENDIF 

IF RECCOUNT() = 0
    MESSAGEBOX("Nic k oprave nemas, holenku", 1+16, PROGRAM(), 3333)
ELSE 
    edi_oprava_2()
ENDIF 


*      *      *      *      *     *        *     *      *      *      *      *
PROCEDURE edi_oprava_2
DEFINE POPUP edi FROM 1, 7 TITLE " Vyber doklad k oprave " FONT m.gcdefa_font ;
       PROMPT FIELD c_faktury + " | " + DTOC(dat_vyst) + " | " + edi_kod + " | " + partner  
ON SELECT POPUP edi DEACTIVATE POPUP
ACTIVATE POPUP edi REST
IF ! EMPTY(PROMPT())
    SCATTER FIELDS id_edi MEMVAR 
    titulek = c_faktury + " | " + DTOC(dat_vyst) + " | " + edi_kod + " | " + LEFT(partner, 8)
    SELECT id_edi, mnozstvo, mnozstvo as mnoz_new, cena, nazov, idriadok ;
           FROM (m.gcdat_path + "edi_pol") INTO TABLE (m.gcpri_path + "edi_pol_edit") WHERE id_edi = m.id_edi
    ACTIVATE SCREEN 
    BROWSE FIELDS nazov, mnoz_new:v=(IIF(mnozstvo > 0, BETWEEN(mnoz_new, 0, mnozstvo), BETWEEN(mnoz_new, mnozstvo, 0))), mnozstvo ;
           FREEZE mnoz_new NOAPPEND NODELETE TITLE m.titulek
    SET FILTER TO mnoz_new # mnozstvo
    COUNT TO pocet_oprav
    IF m.pocet_oprav # 0
        seznamoprav = ""
        SCAN
            seznamoprav = m.seznamoprav + CHR(13) + ALLTRIM(nazov) + STR(mnozstvo, 9,2) + " -> " + STR(mnoz_new, 9,2)
        ENDSCAN 
        IF MESSAGEBOX("Chcete zapsat opravy? " + seznamoprav, 3+32, "Oprava EDI") = 6
            small_log ("     id_edi  c_faktury      | dat_vyst   | edi_kod         | dodavatel   idriadok   nazev mnozstvi   mnoz_new", "edi_edit")
            SCAN
                small_log (STR(id_edi) + "  " + m.titulek + STR(idriadok,8) + " " + ALLTRIM(nazov) + STR(mnozstvo, 9,2) + " -> " + ALLTRIM(STR(mnoz_new, 9,2)), "edi_edit")
                REPLACE mnozstvo WITH edi_pol_edit.mnoz_new, cena_celk WITH mnozstvo * cena FOR id_edi = m.id_edi .and. idriadok = edi_pol_edit.idriadok IN edi_pol
            ENDSCAN 
        ENDIF 
    ENDIF 
ENDIF

