Postup načtení CSV exportu vetfox do Pohody - Faktury Vydané a vytvoření pokladní dokladů na faktury placené hotově

  1. Převedení dokumentu na xls/xlsx
    • Otevřít CSV (Microsoft Excel) a uložit jako .xls nebo .xlsx
  2. Vytvoření xml souborů
    • Načíst uložený soubor tlačítkem Choose file
    • Tlačítkem Konvertovat se vytvoří 2 xml dokumenty (pokladna a FAV)
    • Uložit soubory do samostatné složky (složka obsahuje POUZE 2 xml soubory)
  3. Načtení xml do Pohody
    • Datová komunikace -> Export/Import XML
    • Načíst SLOŽKU a vybrat umístění xml souborů
    • Zkontrolovat výstup načtení souborů (zkontrolovat zda jsou zprávy error). Pokud některé položky mají stav Error, nebyly tyto položky načteny do Pohody. Zprávy Varování jsou v pořádku.
  4. Vytvořit vazby likvidací v hotovosti
    • Zavřít účetní jednotku v Pohodě - jinak vazby nebudou moci být načteny do databáze
    • V umístění POHODA/DATA vyhledat databázi dle ičo a otevřít ji v Access
    • Na kartě DATA -> Visual Basic (vlevo uprostřed)
    • Po otevření nového okna zkontrolovat zda modul již existuje/neexistuje (každým převedením databáze - Nová verze Pohody je modul smazán)
      1. Modul existuje
        1. Na liště kliknout na zelenou šipku "run" a vybrat "runAllFunctions" funkci
        2. Pokud vše proběhlo v pořádku vazby likvidací jsou vytvořeny v databázi
        3. Error: "user defined type not defined"
          • Ve VBA editoru na liště mune TOOLS -> References
          • Vybrat "Microsoft DAO x.x Object Library" a zavřít
      2. Modul neexistuje
        1. Na horní liště vybrat Insert -> Modul
        2. Po otevření nováho okna kopírovat následující kod:
          Kopírovat
          
              Option Compare Database
          
              Sub RunAllFunctions()
                  On Error GoTo ErrorHandler
          
                  ' Call each of the functions
                  InsertIntoUhrada
                  UpdateValuesFA
                  UpdateValuesHO
          
                  ' Display a message indicating that all functions have been executed
                  MsgBox "All functions executed successfully."
                  Exit Sub
          
              ErrorHandler:
                  MsgBox "An error occurred: " & Err.Description, vbCritical
          
              End Sub
          
              Sub InsertIntoUhrada()
                  Dim db As DAO.Database
                  Dim strSQL As String
          
                  ' Initialize the database object
                  Set db = CurrentDb()
          
                  ' Construct the SQL query
                  strSQL = "INSERT INTO Uhrady (DatumU, RelAgH, RelIDH, CisloH, VarSymH, RelAgU, RelIDU, CisloU, KcU, CmH, CmU) " & _
                          "SELECT FA.Datum, 2, FA.ID, FA.VarSym, FA.VarSym, 27, HO.ID, HO.Cislo, FA.KcCelkem, FA.KcCelkem, FA.KcCelkem " & _
                          "FROM FA " & _
                          "INNER JOIN HO ON FA.VarSym = HO.ParSym " & _
                          "WHERE FA.ID NOT IN (SELECT RelIDH FROM Uhrady);"
          
                  ' Execute the query
                  db.Execute strSQL, dbFailOnError
          
                  ' Close the database
                  db.Close
          
                  ' Release the database object
                  Set db = Nothing
          
                  ' Display a message box indicating successful execution
                  MsgBox "Data inserted into Uhrady table."
              End Sub
          
              Sub UpdateValuesFA()
                  Dim db As DAO.Database
                  Dim strSQL As String
          
                  ' Initialize the database object
                  Set db = CurrentDb()
          
                  ' Construct the SQL query to update FA values
                  strSQL = "UPDATE FA " & _
                          "SET FA.KcLikv = 0, FA.KcU = FA.KcCelkem " & _
                          "WHERE FA.ID IN (SELECT RelIDH FROM Uhrady);"
          
                  ' Execute the query to update FA values
                  db.Execute strSQL, dbFailOnError
          
                  ' Close the database
                  db.Close
          
                  ' Release the database object
                  Set db = Nothing
              End Sub
          
              Sub UpdateValuesHO()
                  Dim db As DAO.Database
                  Dim strSQL As String
          
                  ' Initialize the database object
                  Set db = CurrentDb()
          
                  ' Construct the SQL query to update HO.KcLikv and HO.KcU
                  strSQL = "UPDATE HO " & _
                          "SET HO.KcU = HO.KcCelkem " & _
                          "WHERE HO.ID IN (SELECT RelIDU FROM Uhrady) AND HO.KcU = 0 ;"
          
                  ' Execute the query to update HO.KcLikv and HO.KcU
                  db.Execute strSQL, dbFailOnError
          
                  ' Release the database object
                  Set db = Nothing
          
                  Exit Sub
              End Sub
          
                                                          
                                                      
        3. Uložit - tlačítko na liště
        4. Dále postupovat dle instrukcí "Modul existuje"
    • Ukončit Access databaze
    • Zkontrolovat zda byly vazby vytvořeny v Pohodě