Momsdeklaration för spanska 349 exporterar beloppen i den valuta som används i dokumentet, även om du har installerat snabbkorrigering 254942 i Microsoft Dynamics NAV

Mall: CPR - Navision koden Fix mall

PROGRAMFEL #: 187917 (Innehållsunderhåll)

Den här artikeln gäller för Microsoft Dynamics NAV för spanska (es)-språk.

Symptom

Anta att du har installerat snabbkorrigering 2547942 i Microsoft Dynamics NAV. Momsdeklaration för spanska 349 exporterar dock fortfarande beloppen i den valuta som används i dokumentet i stället för i den lokala valutan. Om en kund eller en leverantör har ingen valutakod i kortet, men ett dokument bokförs även en valuta, är de belopp som ska exporteras i deklaration 349 felaktiga, som exporterade värde är beloppet i den valuta som används i dokumentet i stället för den lokala valutan som användaren behöver rapportera till skattemyndigheterna.

Det här problemet uppstår i följande produkter:

  • Microsoft Dynamics NAV 2013

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 servicepack 1

Lösning

Information om snabbkorrigeringen

En snabbkorrigering är nu tillgänglig från Microsoft. Den är endast avsedd att åtgärda det problem som beskrivs i denna artikel. Använd den bara på datorer där detta problem uppstår. Snabbkorrigeringen kan komma att testas igen. Om inte störs alltför mycket av detta problem rekommenderar vi att du väntar på Nästa service pack-versionen för Microsoft Dynamics NAV 2013 eller den nästa version av Microsoft Dynamics NAV som innehåller den här snabbkorrigeringen.

Obs! I särskilda fall, de avgifter som är normalt för support vara avgiftsfri om en supporttekniker för Microsoft Dynamics och relaterade produkter som bestämmer att en särskild uppdatering kan lösa ditt problem. De vanliga supportkostnaderna gäller för övriga supportfrågor och problem som inte berör den särskilda uppdateringen.

Om den här snabbkorrigeringen inte har bokförts för offentlig hämtning (vilket innebär att en offentlig URL för den här snabbkorrigeringen inte är tillgänglig i den här artikeln), distribution kräver tekniskt ansvarig, eskalering gruppmedlem eller godkännande av projektledaren och följande information gäller:

  • För att erhålla snabbkorrigeringen måste kunden ha drabbats programfel som beskrivs i avsnittet "Symptom".

  • Du måste följa de kunder du skickar korrigeringen till och förse dem med nästa service Pack-versionen när den blir tillgänglig (om ett service pack släpps).

Den här snabbkorrigeringen kommer att ingå i Service Pack 1 för Microsoft Dynamics NAV 2013.


Installationsinformation

Microsoft tillhandahåller programmeringsexempel endast utan garanti varken uttryckliga eller underförstådda. Detta inkluderar men är inte begränsat till, underförstådda garantier om säljbarhet eller lämplighet för ett särskilt ändamål. Den här artikeln förutsätter att du är bekant med det programmeringsspråk som demonstreras och de verktyg som används för att skapa och felsöka procedurer. Microsofts supporttekniker kan hjälpa till att förklara funktionen hos en viss procedur. De kommer inte ändra dessa exempel för att ge ytterligare funktioner eller skapa procedurer som motsvarar dina speciella behov.

Obs! Innan du installerar den här snabbkorrigeringen måste du kontrollera att alla användare av Microsoft Navision-klient har loggat ut. Detta inkluderar Microsoft Navision Application Services (NAS) klientanvändare. Du ska endast klientanvändare som är inloggad när du implementerar den här snabbkorrigeringen.

Om du vill genomföra den här snabbkorrigeringen måste du ha en utvecklarlicens.

Vi rekommenderar att tilldelas användarkontot i fönstret Windows-inloggningar eller i fönstret databasinloggningar "SUPER" roll-ID. Om användarkontot inte kan tilldelas "SUPER" roll-ID måste du kontrollera att användarkontot har följande behörigheter:

  • Ändra behörighet för objektet ändras.

  • Körbehörighet för systemet objektet ID 5210 objektet och objektet System objektet ID 9015 .



Obs! Du har inte behörighet för datalager inte data reparation.

Kod ändras

Obs! Alltid åtgärdas testa koden i en kontrollerad miljö innan du installerar korrigeringar för produktionsdatorer.
Lös problemet genom att ändra koden i rapporten gör 349-deklarationen (10710). Gör så här:

  1. Ändra koden i funktionen GetPostedCountryLocCode på följande sätt:
    Befintlig kod 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;
    ...

    Ersättningskod 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;
    ...

    Befintlig kod 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;
    ...

    Ersättningskod 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;
    ...

    Befintlig kod 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;
    ...

    Ersättningskod 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;
    ...

    Befintlig kod 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;
    ...

    Ersättningskod 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. Ändra koden i funktionen GetExportedAmountIn349 på följande sätt:
    Befintlig kod

    ...      BEGIN
    IF DeliveryOperationCode = DeliveryOperationCode::" " THEN
    DeliveryOperationCode := DeliveryOperationCode::E;
    END;

    BEGIN
    END.
    }
    RDLDATA
    {
    ...

    Ersättningskod

    ...      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
    {
    ...

Förutsättningar

Du måste ha någon av följande produkter som har installerat den här snabbkorrigeringen:

  • Microsoft Dynamics NAV 2013

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 servicepack 1

Information om borttagning

Du kan inte ta bort den här snabbkorrigeringen.

Status

Microsoft har bekräftat att detta är ett problem i Microsoft-produkterna som nämns i avsnittet "Gäller".

Referenser

VSFT-DynamicsNAVSE: 346621

Obs! Detta är en "SNABBPUBLICERING"-artikel skapad direkt från Microsoft support-organisationen. Informationen häri tillhandahålls i befintligt skick som svar på nya problem. Till följd av hastigheten för att göra det tillgängligt kan materialet innehålla typografiska fel och kan ändras när som helst utan föregående meddelande. Se Villkoren för användning för andra överväganden.

Författare: vagarcia
Skribent: v-brialu
Teknisk granskare: vagarcia
Redigerare:

Behöver du mer hjälp?

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Microsoft Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×