* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*
* program uklada do souboru "davky.config" jmena souctovych davek (jako sekce - v hranatych zavorach)
* a k nim seznam davek, ze kterych se dana souctova davka sklada 
* pri spusteni nabidne jmena souctovych davek a k nim pak s predvyplnenymi fajfkami seznam davek k zaklikani.
* vyber je opet ulozen do davky.config a z vybranych davek je vytvorena souctova davka do davky.dbf
*
* 1014-08-15
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 

IF .not. FILE(m.gcdat_path + "davky.config")
    STRTOFILE(" ", m.gcdat_path + "davky.config")
ENDIF 
obsah_cfg_souboru = FILETOSTR(m.gcdat_path + "davky.config")
DEFINE POPUP vyber_davku FROM 5, 55 TITLE "Vyber davku" MARGIN RELATIVE SHADOW COLOR SCHEME 4
davka_k_souctu = ""
STORE 0 TO iii, poradi_baru
DO WHILE .T.
   iii = m.iii + 1
   pozice1 = AT("[", obsah_cfg_souboru, m.iii)
   pozice2 = AT("]", obsah_cfg_souboru, m.iii)
  
   IF BETWEEN(m.pozice1, 1, m.pozice2-1)
       davka_k_souctu = LEFT(SUBSTR(m.obsah_cfg_souboru, m.pozice1+1), m.pozice2-m.pozice1-1)

       IF .not. EMPTY( ALLTRIM(get_ini(m.davka_k_souctu, "seznam", "", m.gcdat_path + "davky.config")) )
          poradi_baru = m.poradi_baru + 1
          cmd = "DEFINE BAR " + STR(m.poradi_baru, 2) + " OF vyber_davku PROMPT '" + m.davka_k_souctu + "'"
          &cmd
       ENDIF 
       LOOP 
   ELSE 
       EXIT 
   ENDIF 
ENDDO 
DEFINE BAR 999 OF vyber_davku PROMPT "\-"
ON SELE POPUP vyber_davku DEACTIVATE POPUP

IF m.poradi_baru < 1
   MESSAGEBOX("Neni definovana zadna souctova davka",1+16,"",4444)
ELSE 
   ACTIVATE SCREEN 
   ACTIVATE POPUP vyber_davku
   davka_k_souctu = PROMPT()
   DO secti_davky_2 WITH m.davka_k_souctu
ENDIF 
RELEASE POPUP vyber_davku

*   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   
PROCEDURE secti_davky_2 
LPARAMETERS davka_k_souctu
IF ! EMPTY(m.davka_k_souctu)
    davka_k_souctu = UPPER(m.davka_k_souctu)
    DO pozavirej WITH "seldruhy, sectene_davky, sectene_davky_1"

    SELECT DISTINCT davka as druh, .F. AS lbl WHERE davka # "__INVENTURA__  " ;
           FROM (m.gcdat_path + "davky") INTO TABLE(m.gcpri_path + "seldruhy")
    DELETE FOR "[" + ALLTRIM(druh) + "]" $ m.obsah_cfg_souboru

    davky = get_ini(m.davka_k_souctu, "seznam", "", m.gcdat_path + "davky.config")
    SCAN 
       IF ALLTRIM(druh) $ m.davky
           REPLACE lbl WITH .T.
       ENDIF 
    ENDSCAN 

    LOCATE FOR !EMPTY(lbl)
    IF FOUND()
        SELECT * FROM davky WHERE davka IN (SELECT druh FROM seldruhy WHERE lbl) INTO TABLE (m.gcpri_path + 'sectene_davky_1')
        SELECT c_karty, nazev, id_kas, m.gic_stredisk as c_stredisk, SUM(mnozstvi) as mnozstvi, m.davka_k_souctu as davka, 00000 as poradi ;
               GROUP BY 1 FROM (m.gcpri_path + 'sectene_davky_1') INTO TABLE (m.gcpri_path + 'sectene_davky')
        REPLACE ALL poradi WITH RECNO()
        SELECT davky
        DELETE FOR davka = m.davka_k_souctu
        APPEND FROM (m.gcpri_path + 'sectene_davky')

        davky = ""
        SELECT seldruhy
        SCAN FOR lbl
           davky = m.davky + chr(13) + ALLTRIM(druh)
        ENDSCAN 
        MESSAGEBOX(m.davky ,1+64, "Davka " + m.davka_k_souctu + " sectena", 5555)
    ENDIF

ENDIF 
DO pozavirej WITH "seldruhy, sectene_davky, sectene_davky_1"
