Estrarre l'intero Corpo di un Fattura Elettronica in XML

di il
3 risposte

Estrarre l'intero Corpo di un Fattura Elettronica in XML

Ciao a tutti,

sto lavorando per poter visualizzare sul mio database, le fatture elettroniche che ricevo sul cassetto fiscale dell'agenzia delle entrate.

Io all'interno della maschera ho un WebBrowser che visualizza la fattura.

Ma per poterla visualizzare col foglio di stile assosoftware, devo inserire al suo interno una determinata intestazione in alto, e una in basso.

la mia idea è quella di estrarre il contenuto del file, e rigenerare il file fattura con l'intestazione iniziale e l'intestazione finale così finalmente da poterla visualizzare.

per estrarre il contenuto centrale del file, sto riscontrando parecchi problemi, e per questo vi scrivo:

Che metodo utilizzereste voi per estrarre dal file, tutto il contenuto compreso da un determinato punto, che potrebbe essere questo:
PUNTO INIZIALE <DatiTrasmissione>

al punto finale che potrebbe essere questo
PUNTO FINALE </FatturaElettronicaBody>

io per estrarre piccole stringhe dal documento ho utilizzato questo codice e funziona:


     Dim pat                       As String
    Dim percorso2                 As String
    'pat = ThisWorkbook.Path
    percorso2 = pat & [fullPathPDFfile_elettronica]
    Dim caratteri                 As Single
    Dim testoricerca              As String
    Dim linea                     As String
    Dim linea2                    As String
    Dim rs                        As DAO.Recordset

        ' INIZIO STRINGA=================================
    
    testoricerca1 = "<comune>"
    testoricerca2 = "</comune>"
    If Dir(percorso2) = vbNullString Then
        MsgBox "File non trovato.", vbExclamation
        Exit Sub
    End If
    Open percorso2 For Input As #1
    Do
        Input #1, linea
        If InStr(linea, testoricerca1) Then
            caratteri = Len(linea)
            For A = 1 To caratteri
                valore = Mid(linea, A, Len(testoricerca1))
                If valore = testoricerca1 Then
                    posizione1 = A
                    Exit For
                End If
            Next A
            For B = 1 To caratteri
                valore = Mid(linea, B, Len(testoricerca2))
                If valore = testoricerca2 Then
                    posizione2 = B
                    Exit For
                End If
            Next B
            Set rs = CurrentDb.OpenRecordset("tab_Importa_Fattura_Elettronica")
            rs.Edit
            rs!DatiTrasmissione = Mid(linea, A + Len(testoricerca1), B - (A + Len(testoricerca1)))
            rs.Update
            rs.Close
            Set rs = Nothing
            Exit Do
        End If
    Loop Until EOF(1) = True
    Close
    ' ===================================FINE STRINGA


Così per esempio mi estrae il comune, me lo inserisce in tabella, e diciamo che tutto funziona, ma appena c'è da estrarre l'intero documento questo sistema non funziona più.

Qualcuno di voi, può aiutarmi a risolvere questo problema?

Grazie di tutto anticipatamente.

Cordiali saluti.

3 Risposte

  • Re: Estrarre l'intero Corpo di un Fattura Elettronica in XML

    Giuseppe85 ha scritto:


    ...
    per estrarre il contenuto centrale del file, sto riscontrando parecchi problemi, e per questo vi scrivo:

    Che metodo utilizzereste voi per estrarre dal file, tutto il contenuto compreso da un determinato punto, che potrebbe essere questo:
    PUNTO INIZIALE <DatiTrasmissione>

    al punto finale che potrebbe essere questo
    PUNTO FINALE </FatturaElettronicaBody>
    Utilizzerei la libreria Microsoft XML per accedere al DOM.
    (E' per affrontare delle forniture xml toste che mi sono lanciato seriamente su Access. Quel lavoro là non l'ho mai finito come si deve ma nel frattempo ho imparato parecchio)
  • Re: Estrarre l'intero Corpo di un Fattura Elettronica in XML

    Giuseppe85 ha scritto:


    Ciao a tutti,

    sto lavorando per poter visualizzare sul mio database, le fatture elettroniche che ricevo sul cassetto fiscale dell'agenzia delle entrate.

    Io all'interno della maschera ho un WebBrowser che visualizza la fattura.

    Ma per poterla visualizzare col foglio di stile assosoftware, devo inserire al suo interno una determinata intestazione in alto, e una in basso.

    la mia idea è quella di estrarre il contenuto del file, e rigenerare il file fattura con l'intestazione iniziale e l'intestazione finale così finalmente da poterla visualizzare.

    per estrarre il contenuto centrale del file, sto riscontrando parecchi problemi, e per questo vi scrivo:

    Che metodo utilizzereste voi per estrarre dal file, tutto il contenuto compreso da un determinato punto, che potrebbe essere questo:
    PUNTO INIZIALE <DatiTrasmissione>

    al punto finale che potrebbe essere questo
    PUNTO FINALE </FatturaElettronicaBody>

    ....
    Se leggi l'intero contenuto del FILE con FSO con ReadAll, poi con INSTR(...) cerchi l'EntryPoint ed anche l'EndPoint non basta poi con MID$ andare a prelevare la Sezione compresa...?
  • Re: Estrarre l'intero Corpo di un Fattura Elettronica in XML

    Gentilissimo Alex,

    ti ringrazio, perchè ho esattamente fatto come hai detto, e ad una prima occhiata, sembra funzionare benissimo...

    Grazie ancora, e complimenti, per come sei riuscito a capire l'esigenza e a trovare la soluzione... il tuo spunto è stato davvero risolutivo.

    Alla prossima!
Devi accedere o registrarti per scrivere nel forum
3 risposte