L'importo nel file di dichiarazione 349 non è corretto se nella versione spagnola di Microsoft Dynamics NAV è selezionata la casella di controllo Servizio UE nella finestra di dialogo Impostazione registrazione IVA

Questo articolo si applica a Microsoft Dynamics NAV per le impostazioni locali della lingua spagnola (es).

Sintomi

Si supponga che la casella di controllo Servizio UE sia selezionata nella finestra di dialogo Impostazioni registrazione IVA nella versione spagnola di Microsoft Dynamics NAV. Quando si genera il file di dichiarazione 349, l'importo nel file esportato non è corretto.
Questo problema si verifica nei prodotti seguenti:

  • Versione spagnola di Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)

  • Versione spagnola di Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)


Risoluzione

Informazioni sull'aggiornamento rapido

Microsoft ha ora installato un aggiornamento rapido supportato. Tuttavia, è destinato solo a correggere il problema descritto in questo articolo. Applicarla solo ai sistemi in cui è stato riscontrato questo problema specifico. Questo aggiornamento rapido potrebbe ricevere ulteriori test. Pertanto, se non si è severamente interessati da questo problema, è consigliabile attendere il Service Pack di Microsoft Dynamics NAV 2009 successivo o la successiva versione di Microsoft Dynamics NAV che contiene questo aggiornamento rapido.

Nota In casi speciali, gli addebiti normalmente sostenuti per le chiamate di supporto possono essere annullati se un professionista del supporto tecnico per Microsoft Dynamics e prodotti correlati stabilisce che un aggiornamento specifico risolverà il problema. I soliti costi di supporto si applicano ad altre domande e problemi di supporto che non sono idonei per l'aggiornamento specifico in questione.



Informazioni sull'installazione

Microsoft fornisce esempi di programmazione solo a scopo di illustrazione, senza garanzie espresse o implicite. Ciò include, ma non solo, le garanzie implicite di merchantability o idoneità per uno scopo specifico. In questo articolo si presuppone che si abbia familiarità con il linguaggio di programmazione illustrato e con gli strumenti usati per creare ed eseguire il debug di routine. I tecnici del supporto Microsoft possono spiegare la funzionalità di una procedura specifica, ma non modificano questi esempi per fornire funzionalità aggiuntive o creare procedure che soddisfino i requisiti specifici.

Nota Prima di installare questo aggiornamento rapido, verificare che tutti gli utenti client di Microsoft Navision siano disconnessi dal sistema. Sono inclusi gli utenti client di Microsoft Navision Application Services (NAS). È consigliabile essere l'unico utente client connesso durante l'implementazione di questo aggiornamento rapido.

Per implementare questo aggiornamento rapido, è necessario avere una licenza per sviluppatori.

È consigliabile assegnare all'account utente nella finestra Accessi di Windows o database l'ID ruolo "SUPER". Se all'account utente non può essere assegnato l'ID ruolo "SUPER", è necessario verificare che l'account utente abbia le autorizzazioni seguenti:

  • Autorizzazione di modifica per l'oggetto da modificare.

  • Autorizzazione di esecuzione per l'oggetto ID oggetto di sistema 5210 e per l'oggetto ID oggetto di sistema 9015.



Nota Non è necessario avere diritti per gli archivi dati, a meno che non sia necessario eseguire il ripristino dei dati.

Modifiche al codice

Nota Prima di applicare le correzioni ai computer di produzione, testare sempre le correzioni del codice in un ambiente controllato.
Per risolvere questo problema, attenersi alla seguente procedura:

  1. Modificare il codice nelle sezioni Numero elemento dati 5 del report Dichiarazione di tipo 349 (88) nel modo
    seguente: Codice esistente 1

                                  BEGIN
    REPEAT

    //Delete the following line.
    VATInvSales.RESET;

    VATInvSales.SETRANGE(VATInvSales.Type,VATInvSales.Type::Sale);
    VATInvSales.SETRANGE(VATInvSales."Document Type",VATInvSales."Document Type"::Invoice);

    Codice sostitutivo 1

                                  BEGIN
    REPEAT

    //Add the follwing lines.
    LastTransactionNo := 0;
    VATInvSales.RESET;
    VATInvSales.SETCURRENTKEY("Transaction No.");
    //End of the lines.

    VATInvSales.SETRANGE(VATInvSales.Type,VATInvSales.Type::Sale);
    VATInvSales.SETRANGE(VATInvSales."Document Type",VATInvSales."Document Type"::Invoice);

    Codice esistente 2

                                              IF "VAT Registration No." <> '' THEN BEGIN
    IF AmountToIncludein349 <> 0 THEN BEGIN

    //Delete the following lines.
    OpTriang := 'X';
    AmountOpTri := AmountOpTri + AmountToIncludein349
    //End of the lines.

    END ELSE BEGIN
    OpTriang := 'X';

    Codice sostitutivo 2

                                              IF "VAT Registration No." <> '' THEN BEGIN
    IF AmountToIncludein349 <> 0 THEN BEGIN

    //Add the following lines.
    IF VATInvSales."Transaction No." <> LastTransactionNo THEN BEGIN
    OpTriang := 'X';
    AmountOpTri := AmountOpTri + AmountToIncludein349;
    END;
    //End of the lines.

    END ELSE BEGIN
    OpTriang := 'X';

    Codice esistente 3

                                          // OpTriang := 'X';
    // AmountOpTri := AmountOpTri + VATInvSales.Base;
    UNTIL VATInvSales.NEXT = 0;
    END;

    Codice sostitutivo 3

                                          // OpTriang := 'X';
    // AmountOpTri := AmountOpTri + VATInvSales.Base;

    //Add the following line.
    LastTransactionNo := VATInvSales."Transaction No.";

    UNTIL VATInvSales.NEXT = 0;
    END;

    Codice esistente 4

                                        UNTIL VATInvSales.NEXT = 0;
    END;

    //Delete the following line.
    VATInvSales.RESET;

    VATInvSales.SETRANGE(VATInvSales.Type,VATInvSales.Type::Sale);
    VATInvSales.SETRANGE(VATInvSales."Document Type",VATInvSales."Document Type"::Invoice);

    Codice sostitutivo 4

                                        UNTIL VATInvSales.NEXT = 0;
    END;

    //Add the following lines.
    LastTransactionNo := 0;
    VATInvSales.RESET;
    VATInvSales.SETCURRENTKEY("Transaction No.");
    //End of the lines.

    VATInvSales.SETRANGE(VATInvSales.Type,VATInvSales.Type::Sale);
    VATInvSales.SETRANGE(VATInvSales."Document Type",VATInvSales."Document Type"::Invoice);

    Codice esistente 5

                                              ((VATInvSales."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
    IF "VAT Registration No." <> '' THEN BEGIN

    //Delete the following lines.
    IF AmountToIncludein349 <> 0 THEN
    NormalAmount := NormalAmount + AmountToIncludein349
    ELSE
    //End of the lines.

    NormalAmount := NormalAmount + VATInvSales.Base;
    END ELSE

    Codice sostitutivo 5

                                              ((VATInvSales."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
    IF "VAT Registration No." <> '' THEN BEGIN

    //Add the following lines.
    IF AmountToIncludein349 <> 0 THEN BEGIN
    IF VATInvSales."Transaction No." <> LastTransactionNo THEN
    NormalAmount := NormalAmount + AmountToIncludein349;
    END ELSE
    //End of the lines.

    NormalAmount := NormalAmount + VATInvSales.Base;
    END ELSE

    Codice esistente 6

                                          END;
    // NormalAmount := NormalAmount + VATInvSales.Base;
    UNTIL VATInvSales.NEXT = 0;
    END;

    Codice sostitutivo 6

                                          END;
    // NormalAmount := NormalAmount + VATInvSales.Base;

    //Add the following line.
    LastTransactionNo := VATInvSales."Transaction No.";

    UNTIL VATInvSales.NEXT = 0;
    END;

    Codice esistente 7

                                      END;

    //Delete the following line.
    VATInvSales.RESET;

    VATInvSales.SETRANGE(Type,VATInvSales.Type::Sale);
    VATInvSales.SETRANGE("Document Type",VATInvSales."Document Type"::Invoice);

    Codice sostitutivo 7

                                      END;

    //Add the following lines.
    LastTransactionNo := 0;
    VATInvSales.RESET;
    VATInvSales.SETCURRENTKEY("Transaction No.");
    //End of the lines.

    VATInvSales.SETRANGE(Type,VATInvSales.Type::Sale);
    VATInvSales.SETRANGE("Document Type",VATInvSales."Document Type"::Invoice);

    Codice esistente 8

                                              ((VATInvSales."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
    IF "VAT Registration No." <> '' THEN BEGIN

    //Delete the following lines.
    IF AmountToIncludein349 <> 0 THEN
    AmountEUService := AmountEUService + AmountToIncludein349
    ELSE
    //End of the lines.

    AmountEUService := AmountEUService + VATInvSales.Base;
    END ELSE

    Codice sostitutivo 8

                                              ((VATInvSales."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
    IF "VAT Registration No." <> '' THEN BEGIN

    //Add the following lines.
    IF AmountToIncludein349 <> 0 THEN BEGIN
    IF VATInvSales."Transaction No." <> LastTransactionNo THEN
    AmountEUService := AmountEUService + AmountToIncludein349;
    END ELSE
    //End of the lines.

    AmountEUService := AmountEUService + VATInvSales.Base;
    END ELSE

    Codice esistente 9

                                            END;
    END;
    UNTIL VATInvSales.NEXT = 0;

    Codice sostitutivo 9

                                            END;
    END;

    //Add the following line.
    LastTransactionNo := VATInvSales."Transaction No.";

    UNTIL VATInvSales.NEXT = 0;
  2. Modificare il codice nelle sezioni Numero elemento dati 6 del report Dichiarazione di tipo 349 (88) nel modo
    seguente: Codice esistente 1

                                  BEGIN
    REPEAT

    //Delete the following line.
    VATInvPurch.RESET;

    VATInvPurch.SETRANGE(VATInvPurch.Type,VATInvPurch.Type::Purchase);
    VATInvPurch.SETRANGE(VATInvPurch."Document Type",VATInvPurch."Document Type"::Invoice);

    Codice sostitutivo 1

                                  BEGIN
    REPEAT

    //Add the following lines.
    LastTransactionNo := 0;
    VATInvPurch.RESET;
    VATInvPurch.SETCURRENTKEY("Transaction No.");
    //End of the lines.

    VATInvPurch.SETRANGE(VATInvPurch.Type,VATInvPurch.Type::Purchase);
    VATInvPurch.SETRANGE(VATInvPurch."Document Type",VATInvPurch."Document Type"::Invoice);

    Codice esistente 2

                                              IF "VAT Registration No." <> '' THEN BEGIN
    IF AmountToIncludein349 <> 0 THEN BEGIN

    //Delete the following lines.
    OpTriang := 'X';
    AmountOpTri := AmountOpTri + AmountToIncludein349;
    //End of the lines.

    END ELSE BEGIN
    OpTriang := 'X';

    Codice sostitutivo 2

                                              IF "VAT Registration No." <> '' THEN BEGIN
    IF AmountToIncludein349 <> 0 THEN BEGIN

    //Add the following lines.
    IF VATInvPurch."Transaction No." <> LastTransactionNo THEN BEGIN
    OpTriang := 'X';
    AmountOpTri := AmountOpTri + AmountToIncludein349;
    END;
    //End of the lines.

    END ELSE BEGIN
    OpTriang := 'X';

    Codice esistente 3

                                          // OpTriang := 'X';
    // AmountOpTri := AmountOpTri + VATInvPurch.Base;
    UNTIL VATInvPurch.NEXT = 0;
    END;

    Codice sostitutivo 3

                                          // OpTriang := 'X';
    // AmountOpTri := AmountOpTri + VATInvPurch.Base;

    //Add the following line.
    LastTransactionNo := VATInvPurch."Transaction No.";

    UNTIL VATInvPurch.NEXT = 0;
    END;

    Codice esistente 4

                                        UNTIL VATInvPurch.NEXT = 0;
    END;

    //Delete the following line.
    VATInvPurch.RESET;

    VATInvPurch.SETRANGE(VATInvPurch.Type,VATInvPurch.Type::Purchase);
    VATInvPurch.SETRANGE(VATInvPurch."Document Type",VATInvPurch."Document Type"::Invoice);

    Codice sostitutivo 4

                                        UNTIL VATInvPurch.NEXT = 0;
    END;

    //Add the following lines.
    LastTransactionNo := 0;
    VATInvPurch.RESET;
    VATInvPurch.SETCURRENTKEY("Transaction No.");
    //End of the lines.

    VATInvPurch.SETRANGE(VATInvPurch.Type,VATInvPurch.Type::Purchase);
    VATInvPurch.SETRANGE(VATInvPurch."Document Type",VATInvPurch."Document Type"::Invoice);

    Codice esistente 5

                                              ((VATInvPurch."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
    IF "VAT Registration No." <> '' THEN BEGIN

    //Delete the following lines.
    IF AmountToIncludein349 <> 0 THEN
    NormalAmount := NormalAmount + AmountToIncludein349
    ELSE
    //End of the lines.

    NormalAmount := NormalAmount + VATInvPurch.Base;
    END ELSE

    Codice sostitutivo 5

                                              ((VATInvPurch."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
    IF "VAT Registration No." <> '' THEN BEGIN

    //Add the following lines.
    IF AmountToIncludein349 <> 0 THEN BEGIN
    IF VATInvPurch."Transaction No." <> LastTransactionNo THEN
    NormalAmount := NormalAmount + AmountToIncludein349;
    END ELSE
    //End of the lines.

    NormalAmount := NormalAmount + VATInvPurch.Base;
    END ELSE

    Codice esistente 6

                                          END;
    // NormalAmount := NormalAmount + VATInvPurch.Base;
    UNTIL VATInvPurch.NEXT = 0;
    END;

    Codice sostitutivo 6

                                          END;
    // NormalAmount := NormalAmount + VATInvPurch.Base;

    //Add the following line.
    LastTransactionNo := VATInvPurch."Transaction No.";

    UNTIL VATInvPurch.NEXT = 0;
    END;

    Codice esistente 7

                                        UNTIL VATInvPurch.NEXT = 0;
    END;

    //Delete the following line.
    VATInvPurch.RESET;

    VATInvPurch.SETRANGE(Type,VATInvPurch.Type::Purchase);
    VATInvPurch.SETRANGE("Document Type",VATInvPurch."Document Type"::Invoice);

    Codice sostitutivo 7

                                        UNTIL VATInvPurch.NEXT = 0;
    END;

    //Add the following lines.
    LastTransactionNo := 0;
    VATInvPurch.RESET;
    VATInvPurch.SETCURRENTKEY("Transaction No.");
    //End of the lines.

    VATInvPurch.SETRANGE(Type,VATInvPurch.Type::Purchase);
    VATInvPurch.SETRANGE("Document Type",VATInvPurch."Document Type"::Invoice);

    Codice esistente 8

                                            THEN BEGIN
    IF "VAT Registration No." <> '' THEN BEGIN

    //Delete the following lines.
    IF AmountToIncludein349 <> 0 THEN
    AmountEUService := AmountEUService + AmountToIncludein349
    ELSE
    //End of the lines.

    AmountEUService := AmountEUService + VATInvPurch.Base;
    END ELSE

    Codice sostitutivo 8

                                            THEN BEGIN
    IF "VAT Registration No." <> '' THEN BEGIN

    //Add the following lines.
    IF AmountToIncludein349 <> 0 THEN BEGIN
    IF VATInvPurch."Transaction No." <> LastTransactionNo THEN
    AmountEUService := AmountEUService + AmountToIncludein349;
    END ELSE
    //End of the lines.

    AmountEUService := AmountEUService + VATInvPurch.Base;
    END ELSE

    Codice esistente 9

                                            END;
    END;
    UNTIL VATInvPurch.NEXT = 0;

    Codice sostitutivo 9

                                            END;
    END;

    //Add the following line.
    LastTransactionNo := VATInvPurch."Transaction No.";

    UNTIL VATInvPurch.NEXT = 0;
  3. Aggiungere una nuova variabile globale nel report Dichiarazione di tipo 349 (88) e quindi specificare la variabile come segue:

    • Nome:LastTransactionNo@1100072

    • DataType: Integer

Requisiti

Per applicare questo aggiornamento rapido, è necessario che sia installato uno dei prodotti seguenti:

  • Versione spagnola di Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)

  • Versione spagnola di Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)

Per applicare questo aggiornamento rapido, è necessario che sia installato il report spagnolo 349.
Per altre informazioni, visitare il sito Web Microsoft seguente: Report
spagnolo 349Inoltre, per applicare questo aggiornamento rapido è necessario che sia installato il pacchetto IVA
2010.
Per altre informazioni, visitare il seguente sito Web Microsoft:
Supporto microsoft Dynamics NAV per l'IVA 2010

Informazioni sulla rimozione

Non è possibile rimuovere questo aggiornamento rapido.

Stato

Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".

Nota Si tratta di un articolo "FAST PUBLISH" creato direttamente dall'organizzazione di supporto Microsoft. Le informazioni qui contenute vengono fornite così come sono in risposta a problemi emergenti. In seguito alla rapidità con cui è disponibile, i materiali possono includere errori tipografici e possono essere rivisti in qualsiasi momento senza preavviso. Per altre considerazioni, vedere le Condizioni per l'utilizzo.

Serve aiuto?

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa a Microsoft Insider

Queste informazioni sono risultate utili?

Grazie per il feedback!

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×