Dit artikel is van toepassing op Microsoft Dynamics NAV voor de taalinstelling Spaans (es).

Symptomen

Stel dat u de hotfix 2547942 in Microsoft Dynamics NAV. toegepast De btw-aangifte voor Spaans 349 exporteert echter nog steeds de bedragen in de valuta die wordt gebruikt in het document in plaats van in de lokale valuta. Als een klant of een leverancier geen valutacode op de kaart heeft, maar een document met inbegrip van een valuta wordt geboekt, worden de bedragen die worden uitgevoerd in de 349-aangifte onjuist, aangezien het geëxporteerde bedrag is het bedrag in de valuta die wordt gebruikt in het document in plaats van in de lokale valuta die de gebruiker nodig heeft om aan te melden bij de belastingdienst.Dit probleem treedt op in de volgende producten:

  • Microsoft Dynamics NAV 2013

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 servicepack 1

Oplossing

Informatie over de hotfix

Een ondersteunde hotfix is nu beschikbaar bij Microsoft. Het is echter alleen bedoeld om het probleem dat wordt beschreven in dit artikel. Pas deze alleen toe op systemen waarop dit specifieke probleem zich voordoet. Deze hotfix moet wellicht extra worden getest. Als u geen ernstige problemen ondervindt, is het daarom raadzaam te wachten op het volgende servicepack voor Microsoft Dynamics NAV 2013 of de volgende Microsoft Dynamics NAV versie waarin deze hotfix is opgenomen.Opmerking In speciale gevallen kunnen kosten die verbonden zijn aan ondersteuningsoproepen ondersteuning worden geannuleerd als een medewerker van Technical Support voor Microsoft Dynamics en verwante producten bepaalt dat een specifieke update de oplossing van uw probleem. De normale ondersteuningskosten blijven gelden voor extra ondersteuningsvragen die niet in aanmerking voor de specifieke update in kwestie komen.

Informatie over de installatie

Microsoft verstrekt programmeervoorbeelden uitsluitend ter illustratie, zonder expliciete of impliciete garantie. Dit omvat, maar is niet beperkt tot, de impliciete garanties van verkoopbaarheid of geschiktheid voor een bepaald doel. In dit artikel wordt ervan uitgegaan dat u bekend met de programmeertaal die wordt aangetoond en met de hulpprogramma's die worden gebruikt bent voor het maken van en naar procedures voor foutopsporing. Ondersteuningstechnici van Microsoft kunnen voor uitleg over de functionaliteit van een bepaalde procedure. Zij zal deze voorbeelden bieden extra functionaliteit of desgewenst uw specifieke vereisten echter niet wijzigen.Opmerking Voordat u deze hotfix hebt geïnstalleerd, controleert u of dat alle gebruikers van Microsoft Navision-clients zijn afgemeld bij het systeem. Dit geldt ook voor gebruikers van Microsoft Navision Application Services (NAS)-clients. U moet de alleen clientgebruiker die is aangemeld wanneer u deze hotfix gaat implementeren.Als u deze hotfix gaat implementeren, hebt u een ontwikkelaarslicentie voor.Is raadzaam dat de gebruikersaccount in het venster Windows-aanmeldingen of Databaseaanmeldingen de rol-id 'SUPER'. Als de gebruikersaccount kan worden toegewezen als de ID 'SUPER' rol, moet u controleren of de gebruikersaccount de volgende machtigingen heeft:

  • De machtiging wijzigen voor het object dat u wijzigt.

  • De machtiging uitvoeren voor het object System Object ID 5210 en voor het object System Object ID 9015 .

Opmerking Er geen rechten voor de opgeslagen gegevens hebben, tenzij u gegevens herstellen.

Codewijzigingen

Opmerking Altijd test code worden opgelost in een testomgeving voordat u de correcties in de productieomgeving.Wijzig de code in het rapport 349-aangifte maken (10710) voor dit probleem. Ga hiervoor als volgt te werk:

  1. Wijzig als volgt de code in de functie GetPostedCountryLocCode :Bestaande code 1

    ...                            REPEAT                              IF SalesInvLines."Location Code" <> '' THEN BEGIN                                IF Location.GET(SalesInvLines."Location Code") THEN                                  EUCountryLinesLocationCode := FindEUCountryRegionCode(Location."Country/Region Code");                                IF EUCountryLinesLocationCode THEN BEGIN// Delete the following line.                                  AmountToIncludeIn349 := AmountToIncludeIn349 + SalesInvLines.Amount;                                  IF GetCountryfromLocation(SalesInvLines."Location Code") <> CountryCode THEN                                    LocationDifferentCountryCode := TRUE;                                  TempSalesInvLines := SalesInvLines;                                  TempSalesInvLines.INSERT;                                END;...

    Nieuwe code 1

    ...                            REPEAT                              IF SalesInvLines."Location Code" <> '' THEN BEGIN                                IF Location.GET(SalesInvLines."Location Code") THEN                                  EUCountryLinesLocationCode := FindEUCountryRegionCode(Location."Country/Region Code");                                IF EUCountryLinesLocationCode THEN BEGIN// Add the following lines.                                  AmountToIncludeIn349 +=                                    GetExportedAmountIn349(SalesInvHeader."Currency Code",                                    SalesInvHeader."Currency Factor",SalesInvLines."Line Amount");// End of the lines.                                  IF GetCountryfromLocation(SalesInvLines."Location Code") <> CountryCode THEN                                    LocationDifferentCountryCode := TRUE;                                  TempSalesInvLines := SalesInvLines;                                  TempSalesInvLines.INSERT;                                END;...

    Bestaande code 2

    ...                                  TempSalesInvLines.INSERT;                                END;                              END ELSE                                IF CompInforShipToCountryCode THEN BEGIN                                  EUCountryLinesLocationCode := TRUE;// Delete the following line.                                  AmountToIncludeIn349 := AmountToIncludeIn349 + SalesInvLines.Amount;                                  TempSalesInvLines := SalesInvLines;                                  TempSalesInvLines.INSERT;                                END;                            UNTIL SalesInvLines.NEXT = 0;                        END;...

    Vervangende code 2

    ...                                  TempSalesInvLines.INSERT;                                END;                              END ELSE                                IF CompInforShipToCountryCode THEN BEGIN                                  EUCountryLinesLocationCode := TRUE;// Add the following lines.                                  AmountToIncludeIn349 +=                                    GetExportedAmountIn349(SalesInvHeader."Currency Code",                                    SalesInvHeader."Currency Factor",SalesInvLines."Line Amount");// End of the lines.                                  TempSalesInvLines := SalesInvLines;                                  TempSalesInvLines.INSERT;                                END;                            UNTIL SalesInvLines.NEXT = 0;                        END;...

    Bestaande code 3

    ...                          REPEAT                            IF PurchInvLines."Location Code" <> '' THEN BEGIN                              IF Location.GET(PurchInvLines."Location Code") THEN                                EUCountryLinesLocationCode := FindEUCountryRegionCode(Location."Country/Region Code");                              IF EUCountryLinesLocationCode THEN BEGIN// Delete the following line.                                AmountToIncludeIn349 := AmountToIncludeIn349 + PurchInvLines.Amount;                                IF GetCountryfromLocation(PurchInvLines."Location Code") <> CountryCode THEN                                  LocationDifferentCountryCode := TRUE;                                TempPurchInvLines := PurchInvLines;                                TempPurchInvLines.INSERT;                              END;...

    Vervangende code 3

    ...                          REPEAT                            IF PurchInvLines."Location Code" <> '' THEN BEGIN                              IF Location.GET(PurchInvLines."Location Code") THEN                                EUCountryLinesLocationCode := FindEUCountryRegionCode(Location."Country/Region Code");                              IF EUCountryLinesLocationCode THEN BEGIN// Add the following lines.                                AmountToIncludeIn349 +=                                  GetExportedAmountIn349(PurchInvHeader."Currency Code",                                  PurchInvHeader."Currency Factor",PurchInvLines."Line Amount");// End of the lines.                                IF GetCountryfromLocation(PurchInvLines."Location Code") <> CountryCode THEN                                  LocationDifferentCountryCode := TRUE;                                TempPurchInvLines := PurchInvLines;                                TempPurchInvLines.INSERT;                              END;...

    Bestaande code 4

    ...                                TempPurchInvLines.INSERT;                              END;                            END ELSE                              IF CompInforShipToCountryCode THEN BEGIN                                EUCountryLinesLocationCode := TRUE;// Delete the following line.                                AmountToIncludeIn349 := AmountToIncludeIn349 + PurchInvLines.Amount;                                TempPurchInvLines := PurchInvLines;                                TempPurchInvLines.INSERT;                              END;                          UNTIL PurchInvLines.NEXT = 0;                      END;...

    Vervangende code 4

    ...                                TempPurchInvLines.INSERT;                              END;                            END ELSE                              IF CompInforShipToCountryCode THEN BEGIN                                EUCountryLinesLocationCode := TRUE;// Add the following lines.                                AmountToIncludeIn349 +=                                  GetExportedAmountIn349(PurchInvHeader."Currency Code",                                  PurchInvHeader."Currency Factor",PurchInvLines."Line Amount");// End of the lines.                                TempPurchInvLines := PurchInvLines;                                TempPurchInvLines.INSERT;                              END;                          UNTIL PurchInvLines.NEXT = 0;                      END;...
  2. Wijzig als volgt de code in de functie GetExportedAmountIn349 :Bestaande code

    ...      BEGIN        IF DeliveryOperationCode = DeliveryOperationCode::" " THEN          DeliveryOperationCode := DeliveryOperationCode::E;      END;      BEGIN      END.    }    RDLDATA    {...

    Nieuwe code

    ...      BEGIN        IF DeliveryOperationCode = DeliveryOperationCode::" " THEN          DeliveryOperationCode := DeliveryOperationCode::E;      END;// Add the following lines.        LOCAL PROCEDURE GetExportedAmountIn349@1100014(CurrencyCode@1100008 : Code[20];CurrencyFactor@1100009 : Decimal;LineAmount@1100010 : Decimal) : Decimal;      VAR        Currency@1100001 : Record 4;      BEGIN        IF CurrencyCode <> '' THEN BEGIN          Currency.GET(CurrencyCode);          EXIT(ROUND(LineAmount / CurrencyFactor,Currency."Amount Rounding Precision"))        END;        EXIT(LineAmount);      END;// End of the lines.      BEGIN      END.    }    RDLDATA    {...

Vereisten

Hebt u een van de volgende producten geïnstalleerd om deze hotfix:

  • Microsoft Dynamics NAV 2013

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 servicepack 1

Informatie over verwijderen

U kunt deze hotfix niet verwijderen.

Status

Microsoft heeft bevestigd dat dit probleem kan optreden in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op'.

Opmerking Dit is een 'Snel publiceren' artikel dat rechtstreeks door het ondersteuningsteam van Microsoft is gemaakt. De informatie wordt geleverd zoals het is in reactie op de opkomende problemen. Omdat het artikel snel beschikbaar moest zijn, kunnen de materialen typografische fouten bevatten en op elk gewenst moment zonder voorafgaande kennisgeving worden gewijzigd. Zie de Gebruiksvoorwaarden voor andere overwegingen.

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.

Community's helpen u vragen te stellen en te beantwoorden, feedback te geven en te leren van experts met uitgebreide kennis.