Fatturazione elettronica B2B

di il
1159 risposte

1159 Risposte - Pagina 25

  • Re: Fatturazione elettronica B2B

    ettore56 ha scritto:


    jugin ha scritto:


    Nella creazione dei file XML ho incontrato errori quando nelle stringhe tipo ragione sociale cliente
    si trovano caratteri come la e commerciale.
    Immagino che anche altri caratteri (" ' < > ; + ) creino dei problemi ma vorrei una lista per poterli escludere tutti
    che non trovo.
    Qualcuno ha risolto il problema ?
    Devi sostituire tutti i "caratteri speciali"
    ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝßàáâãäåæçèéêë&ìíîïñòóôõöùúûüýÿ
    con corrispondenti caratteri validi
    AAAAAAACEEEEIIIIDNOOOOOUUUUYBaaaaaaaceeeeeiiiinooooouuuuyy
    grazie, nel frattempo ne avevo fatta una molto più drastica
    che sostituiva tutti i caratteri sospetti con uno spazio

    function StripStr(cString:string):string;
    var
    v_inp: integer;
    strout: string;
    ty: integer;
    lstrinp: integer;

    begin
    v_inp:=0;
    strout:='';
    ty:=0;
    lstrinp:=length(cString);
    for ty:=1 to lstrinp do begin
    v_inp:=ord(cString[ty]);
    case v_inp of
    1..47: strout:=strout+chr(32);
    123..255: strout:=strout+chr(32);
    58..64: strout:=strout+chr(32);
    91..96: strout:=strout+chr(32);
    else
    strout:=strout+cString[ty];
    end;
    end;
    result:=strout;
    end;
  • Re: Fatturazione elettronica B2B

    .
  • Re: Fatturazione elettronica B2B

    jugin ha scritto:


    ettore56 ha scritto:


    jugin ha scritto:


    ...grazie, nel frattempo ne avevo fatta una molto più drastica
    che sostituiva tutti i caratteri sospetti con uno spazio...
    Ti consiglio di creare una tabella, che così potrai sempre aggiornare i dati senza intervenire sul codice, nella quale posizionerai in una colonna tutti i caratteri speciali ed in un'altra colonna tutti i corrispondenti caratteri validi.
  • Re: Fatturazione elettronica B2B

    ettore56 ha scritto:


    jugin ha scritto:


    ettore56 ha scritto:


    ...grazie, nel frattempo ne avevo fatta una molto più drastica
    che sostituiva tutti i caratteri sospetti con uno spazio...
    Ti consiglio di creare una tabella, che così potrai sempre aggiornare i dati senza intervenire sul codice, nella quale posizionerai in una colonna tutti i caratteri speciali ed in un'altra colonna tutti i corrispondenti caratteri validi.
    Potrei anche modificare il componente della classe Tedit...
    ma ora vedo di finire il pezzo poi lucido e spazzolo
  • Re: Fatturazione elettronica B2B

    jugin ha scritto:


    ettore56 ha scritto:


    jugin ha scritto:


    Nella creazione dei file XML ho incontrato errori quando nelle stringhe tipo ragione sociale cliente
    si trovano caratteri come la e commerciale.
    Immagino che anche altri caratteri (" ' < > ; + ) creino dei problemi ma vorrei una lista per poterli escludere tutti
    che non trovo.
    Qualcuno ha risolto il problema ?
    Devi sostituire tutti i "caratteri speciali"
    ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝßàáâãäåæçèéêë&ìíîïñòóôõöùúûüýÿ
    con corrispondenti caratteri validi
    AAAAAAACEEEEIIIIDNOOOOOUUUUYBaaaaaaaceeeeeiiiinooooouuuuyy
    grazie, nel frattempo ne avevo fatta una molto più drastica
    che sostituiva tutti i caratteri sospetti con uno spazio

    function StripStr(cString:string):string;
    var
    v_inp: integer;
    strout: string;
    ty: integer;
    lstrinp: integer;

    begin
    v_inp:=0;
    strout:='';
    ty:=0;
    lstrinp:=length(cString);
    for ty:=1 to lstrinp do begin
    v_inp:=ord(cString[ty]);
    case v_inp of
    1..47: strout:=strout+chr(32);
    123..255: strout:=strout+chr(32);
    58..64: strout:=strout+chr(32);
    91..96: strout:=strout+chr(32);
    else
    strout:=strout+cString[ty];
    end;
    end;
    result:=strout;
    end;

    Io ho optato per una soluzione più soft: ognuno di questi caratteri lo sostituisco con la corrispondente sequenza di escape, in questo modo la descrizione rimane "fedele". Ad es° "à" diventa "&#224;" e così via.
  • Re: Fatturazione elettronica B2B

    ettore56 ha scritto:


    Ti consiglio di creare una tabella, che così potrai sempre aggiornare i dati senza intervenire sul codice, nella quale posizionerai in una colonna tutti i caratteri speciali ed in un'altra colonna tutti i corrispondenti caratteri validi.
    Concordo con Ettore,
    così facendo, ogni qualvolta devi generare un xml, potrai far riferimento sempre alla stessa tabella per le conversioni.
  • Re: Fatturazione elettronica B2B

    [Neapolis] ha scritto:


    ettore56 ha scritto:


    Ti consiglio di creare una tabella, che così potrai sempre aggiornare i dati senza intervenire sul codice, nella quale posizionerai in una colonna tutti i caratteri speciali ed in un'altra colonna tutti i corrispondenti caratteri validi.
    Concordo con Ettore,
    così facendo, ogni qualvolta devi generare un xml, potrai far riferimento sempre alla stessa tabella per le conversioni.
    
    /// nota: char è un po' generico, tipicamente diventano WideChar. Dipende dalla versione del compilatore (>=D2009)
    const
       arrayconversione:array [161..255] of Char= ('¡','¢','£','¤','¥','¦','§','¨','©','ª','«','¬','­','®','¯','°','±','²','³','´','ì','¶','·','¸','¹','º','»','¼','½','¾','¿','À','Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ð','Ñ','Ò','Ó','Ô','Õ','Ö','×','Ø','Ù','Ú','Û','Ü','Ý','Þ','ß','à','á','â','ã','ä','å','æ','ç','è','é','ê','ë','ì','í','î','ï','ð','ñ','ò','ó','ô','õ','ö','÷','ø','ù','ú','û','ü','ý','þ','ÿ');
    function g_purgaxml(i_stringa:string):string;
    var
       i:Integer;
    begin
       Result:=i_stringa;
       if i_stringa='' then Exit;
    
       for i:=Low(arrayconversione) to High(arrayconversione) do
           Result:=StringReplace(result,arrayconversione[i],'&#'+inttostr(i)+';',[rfreplaceall]);
    
       Result:=StringReplace(result,'<','<',[rfreplaceall]);
       Result:=StringReplace(result,'&','&',[rfreplaceall]);
       Result:=StringReplace(result,'"','"',[rfreplaceall]);
       Result:=StringReplace(result,'''','&apos;',[rfreplaceall]);
       Result:=StringReplace(result,#10,' ',[rfreplaceall]);
       Result:=StringReplace(result,#13,' ',[rfreplaceall]);
    end;
    
  • Re: Fatturazione elettronica B2B

    Normalmente le fatture che creavo con il mio gestionale
    avevano nel corpo fatture delle righe descrittive tipo:

    D.D.T. nr. A 333 del : gg/mm/aaaa
    sotto seguivano tutte le righe del ddt con
    codice articolo, descrizione, quantità, ecc.. ecc..
    Poi una nuova riga con:
    D.D.T. nr. A 333 del : gg/mm/aaaa
    e così fino all'ultimo ddt.

    Non riesco ad inserire la riga descrittiva con D.D.T ...
    ho provato con : AltriDatiGestionali
    e anche con la riga Descrizione del cod articolo
    ma sembra che il controllo non la accetti
    perchè non in sequenza e segnala:

    Invalid content was found starting with element 'numero linea'

    Togliendo la riga descrittiva invece il file risulta corretto.

    Qualcuno ha risolto?
  • Re: Fatturazione elettronica B2B

    Cosa intendi per riga descrittiva? Il numero del ddt?
  • Re: Fatturazione elettronica B2B

    +m2+ ha scritto:


    Cosa intendi per riga descrittiva? Il numero del ddt?
    questa:
    D.D.T. nr. A 333 del : gg/mm/aaaa

    numero e data del ddt ma non uno solo

    numero e data ddt seguite dalle righe del ddt per ogni ddt
  • Re: Fatturazione elettronica B2B

    Hai provato a mettere quantita uno importo zero? Per simulare una riga descrittiva.
    tieni presente che i ddt andrebbero indicati con tanto di riferimento alla riga della fattura.
    Sono a casa non ho materiale disponibile in questo momento

    Tieni presente che chi riceve la fattura dovrebbe poter caricare i dati.
    cioè senza righe descrittive che rompono solo le @@.

    Tuttavia proverei anche il programma ufficiale agenzia entrate java
  • Re: Fatturazione elettronica B2B

    jugin ha scritto:


    Normalmente le fatture che creavo con il mio gestionale
    avevano nel corpo fatture delle righe descrittive tipo:

    D.D.T. nr. A 333 del : gg/mm/aaaa
    sotto seguivano tutte le righe del ddt con
    codice articolo, descrizione, quantità, ecc.. ecc..
    Poi una nuova riga con:
    D.D.T. nr. A 333 del : gg/mm/aaaa
    e così fino all'ultimo ddt.

    Non riesco ad inserire la riga descrittiva con D.D.T ...
    ho provato con : AltriDatiGestionali
    e anche con la riga Descrizione del cod articolo
    ma sembra che il controllo non la accetti
    perchè non in sequenza e segnala:

    Invalid content was found starting with element 'numero linea'

    Togliendo la riga descrittiva invece il file risulta corretto.

    Qualcuno ha risolto?
    Io ho risolto così:
    1) Lascio la riga descrittiva, come la realizzi anche tu, nella tabella dei dettagli fatture, ma con un flag che mi indica che è riferita al riferimento ddt (scusa il gioco di parole!).
    2) nel recordset da dove estraggo i dati per la fattura elettronica, escludo i records dove il sopracitato flag è impostato a vero.
    3) nella fattura cartacea normale continuerà ad essere presente il riferimento del dtt, mentra nella fattura elettronica quella riga non verrà importata.
    4) nella fattura elettronica vado invece a valorizzare il tag 2.1.8 <DatiDDT>, valorizzando il numero del Ddt, la data dello stesso e la riga (o le righe) del dettaglio fattura a cui si riferisce.
  • Re: Fatturazione elettronica B2B

    Salve a tutti. Innanzitutto grazie per le informazioni che fornite, decisamente utili.
    Volevo chiedere se esiste un software per controllare la correttezza dell'xml generato come c'era per la fattura elettronica verso la PA.
  • Re: Fatturazione elettronica B2B

    Artik67 ha scritto:


    Salve a tutti. Innanzitutto grazie per le informazioni che fornite, decisamente utili.
    Volevo chiedere se esiste un software per controllare la correttezza dell'xml generato come c'era per la fattura elettronica verso la PA.
    http://sdi.fatturapa.gov.it/SdI2FatturaPAWeb/AccediAlServizioAction.do?pagina=controlla_fattura
  • Re: Fatturazione elettronica B2B

    Leggendo questo nelle specifiche della Fe me' scappata una risata:


    <Art73>
    Indica se il documento è stato emesso secondo modalità e termini stabiliti con decreto ministeriale
    ai sensi dell'articolo 73 del DPR 633/72
    (ciò consente al cedente/prestatore l'emissione nello stesso anno di più documenti aventi stesso numero)


    ma perchè?
Devi accedere o registrarti per scrivere nel forum
1159 risposte