Se connecter avec Microsoft
S'identifier ou créer un compte.
Bonjour,
Sélectionnez un autre compte.
Vous avez plusieurs comptes
Choisissez le compte avec lequel vous voulez vous connecter.

Cet article s’applique à Microsoft Dynamics NAV pour les paramètres régionaux de langue espagnole (es).

Symptômes

Supposons que la case à cocher Service de l’UE soit cocher dans la boîte de dialogue Configuration de la publication de la TVA dans la version espagnole de Microsoft Dynamics NAV.  Lorsque vous générez le fichier de déclaration 349, le montant dans le fichier exporté est incorrect.
Ce problème se produit dans les produits suivants :

  • Version espagnole de Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)

  • Version espagnole de Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)


Résolution

Informations sur le correctif logiciel

Un correctif logiciel pris en charge est désormais disponible auprès de Microsoft. Toutefois, il a pour but de corriger uniquement le problème décrit dans cet article. Appliquez-la uniquement aux systèmes qui rencontrent ce problème spécifique. Ce correctif peut recevoir des tests supplémentaires. Par conséquent, si vous n’êtes pas gravement affecté par ce problème, nous vous recommandons d’attendre le prochain Service Pack Microsoft Dynamics NAV 2009 ou la prochaine version de Microsoft Dynamics NAV contenant ce correctif.

Remarque Dans certains cas, les frais généralement occasionnés pour des appels de support peuvent être annulés si un professionnel du support technique pour Microsoft Dynamics et des produits associés détermine qu’une mise à jour spécifique résout votre problème. Les coûts habituels du support technique s’appliqueront aux autres questions et problèmes non directement liés à la mise à jour en question.



Informations sur l’installation

Microsoft fournit des exemples de programmation à titre d’illustration uniquement, sans garantie soit exprimée, soit implicite. Cela inclut, sans s’y limiter, les garanties implicites de qualité marchande ou d’aptitude à un usage particulier. Cet article part du principe que vous êtes familiarisé avec le langage de programmation utilisé pour créer et déboguer des procédures. Les ingénieurs du support technique Microsoft peuvent vous aider à expliquer les fonctionnalités d’une procédure particulière, mais ne modifient pas ces exemples afin de fournir des fonctionnalités supplémentaires ou des procédures de construction qui répondent à vos besoins spécifiques.

Remarque Avant d’installer ce correctif, vérifiez que tous les utilisateurs du client Microsoft Navision sont déconnectés du système. Cela inclut les utilisateurs du client Microsoft Navision Application Services (NAS). Vous devez être le seul utilisateur client à être connecté lorsque vous implémentez ce correctif.

Pour implémenter ce correctif, vous devez avoir une licence développeur.

Nous vous recommandons d’attribuer l’ID de rôle « SUPER » au compte d’utilisateur dans la fenêtre Connexions Windows ou dans la fenêtre Connexions de base de données. Si l’ID de rôle « SUPER » ne peut pas être attribué au compte d’utilisateur, vous devez vérifier que le compte d’utilisateur dispose des autorisations suivantes :

  • Autorisation Modifier pour l’objet que vous allez modifier.

  • Autorisation Exécuter pour l’objet System Object ID 5210 et l’objet System Object ID 9015.



Notez qu’il n’est pas besoin de droits sur les magasins de données, sauf si vous devez effectuer une réparation des données.

Modifications du code

Notez Toujours tester les correctifs de code dans un environnement contrôlé avant d’appliquer les correctifs à vos ordinateurs de production.
Pour résoudre ce problème, suivez ces étapes :

  1. Modifiez le code dans les sections Numéro 5 de l’élément de données dans le rapport de déclaration 349 (88) comme suit :
    Code existant 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);

    Code de remplacement 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);

    Code existant 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';

    Code de remplacement 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';

    Code existant 3

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

    Code de remplacement 3

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

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

    UNTIL VATInvSales.NEXT = 0;
    END;

    Code existant 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);

    Code de remplacement 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);

    Code existant 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

    Code de remplacement 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

    Code existant 6

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

    Code de remplacement 6

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

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

    UNTIL VATInvSales.NEXT = 0;
    END;

    Code existant 7

                                      END;

    //Delete the following line.
    VATInvSales.RESET;

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

    Code de remplacement 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);

    Code existant 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

    Code de remplacement 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

    Code existant 9

                                            END;
    END;
    UNTIL VATInvSales.NEXT = 0;

    Code de remplacement 9

                                            END;
    END;

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

    UNTIL VATInvSales.NEXT = 0;
  2. Modifiez le code dans les sections Numéro 6 des éléments de données du rapport de déclaration 349 (88) comme suit :
    Code existant 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);

    Code de remplacement 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);

    Code existant 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';

    Code de remplacement 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';

    Code existant 3

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

    Code de remplacement 3

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

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

    UNTIL VATInvPurch.NEXT = 0;
    END;

    Code existant 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);

    Code de remplacement 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);

    Code existant 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

    Code de remplacement 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

    Code existant 6

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

    Code de remplacement 6

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

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

    UNTIL VATInvPurch.NEXT = 0;
    END;

    Code existant 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);

    Code de remplacement 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);

    Code existant 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

    Code de remplacement 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

    Code existant 9

                                            END;
    END;
    UNTIL VATInvPurch.NEXT = 0;

    Code de remplacement 9

                                            END;
    END;

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

    UNTIL VATInvPurch.NEXT = 0;
  3. Ajoutez une nouvelle variable globale dans le rapport make 349 Declaration (88), puis spécifiez la variable comme suit :

    • Nom: LastTransactionNo@1100072

    • DataType: Integer

Conditions préalables

Pour appliquer ce correctif, vous devez avoir installé l’un des produits suivants :

  • Version espagnole de Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)

  • Version espagnole de Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)

Pour appliquer ce correctif, le rapport espagnol 349 doit être installé.
Pour plus d’informations, consultez le site web de Microsoft suivant : Rapport espagnol
349: le package TVA 2010 doit également être installé pour appliquer ce
correctif.
Pour plus d’informations, visitez le site web microsoft suivant
: Support de Microsoft Dynamics NAV pour la TVA 2010

Informations sur la suppression

Vous ne pouvez pas supprimer ce correctif.

État

Microsoft a confirmé l’existence de ce problème dans les produits Microsoft répertoriés dans la section « S’applique à ».

Notez qu’il s’agit d’un article « PUBLICATION RAPIDE » créé directement au sein de l’organisation de support Technique Microsoft. Les informations présentées ici sont fournies telles quelles en réponse à des problèmes nouveaux. En raison de la rapidité de leur mise à disposition, les documents peuvent contenir des erreurs typographiques et être modifiés à tout moment sans préavis. Consultez les Conditions d’utilisation pour d’autres considérations.

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.

Ces informations vous ont-elles été utiles ?

Dans quelle mesure êtes-vous satisfait(e) de la qualité de la langue ?
Qu’est-ce qui a affecté votre expérience ?
En cliquant sur Envoyer, vos commentaires seront utilisés pour améliorer les produits et services de Microsoft. Votre administrateur informatique sera en mesure de collecter ces données. Déclaration de confidentialité.

Nous vous remercions de vos commentaires.

×