Denne artikel gælder for Microsoft Dynamics NAV for det spanske (es) sprog.
Symptomer
Antag, at afkrydsningsfeltet FOR EU-tjenesten er markeret i dialogboksen Opsætning af momsopslag i den spanske version af Microsoft Dynamics NAV. Når du opretter 349-erklæringsfilen, er beløbet i den eksporterede fil forkert.Dette problem opstår i følgende produkter:
-
Den spanske version af Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
-
Den spanske version af Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)
Løsning
Oplysninger om hotfix
Et understøttet hotfix er nu tilgængeligt fra Microsoft. Det er dog kun hensigten at rette det problem, der er beskrevet i denne artikel. Anvend den kun på systemer, der oplever dette specifikke problem. Dette hotfix kan modtage yderligere test. Hvis du ikke er alvorligt påvirket af dette problem, anbefaler vi derfor, at du venter på den næste Microsoft Dynamics NAV 2009-servicepakke eller den næste Microsoft Dynamics NAV-version, der indeholder dette hotfix. Bemærk i særlige tilfælde kan gebyrer, der normalt påløber for supportopkald, blive annulleret, hvis en teknisk supportmedarbejder for Microsoft Dynamics og relaterede produkter afgør, at en bestemt opdatering løser problemet. De sædvanlige supportomkostninger gælder for supplerende supportspørgsmål og -problemer, der ikke falder ind under den omtalte opdatering.
Installationsoplysninger
Microsoft leverer kun programmeringsekse examples til illustration, uden garanti enten udtrykt eller underforstået. Dette omfatter, men er ikke begrænset til, stiltiende garantier for salgbarhed eller egnethed til et bestemt formål. Denne artikel forudsætter, at du er fortrolig med det programmeringssprog, der demonstreres, og de værktøjer, der bruges til at oprette og fejlfinde procedurer. Microsoft-supportteknikere kan hjælpe med at forklare funktionaliteten i en bestemt procedure, men de vil ikke ændre disse eksempler for at give ekstra funktionalitet eller opbygge procedurer, der opfylder dine specifikke krav.Bemærk! Før du installerer dette hotfix, skal du kontrollere, at alle brugere af Microsoft Automatisk klient er logget af systemet. Dette omfatter brugere af MicrosoftS– klientprogramtjenester (NAS). Du bør være den eneste klientbruger, der er logget på, når du implementerer dette hotfix.For at implementere dette hotfix skal du have en udviklerlicens.Vi anbefaler, at brugerkontoen i vinduet Windows-logon eller vinduet Databaselogon tildeles rolle-id'et "SUPER". Hvis brugerkontoen ikke kan tildeles rolle-id'et "SUPER", skal du kontrollere, at brugerkontoen har følgende tilladelser:
-
Tilladelsen Rediger for det objekt, du vil ændre.
-
Tilladelsen Execute for System Object ID 5210-objektet og for System Object ID 9015-objektet.
Bemærk, at du ikke behøver at have rettigheder til datalagrene, medmindre du skal udføre en datareparation.
Kodeændringer
Bemærk! Test altid koderettelser i et kontrolleret miljø, før du anvender rettelserne på dine produktionscomputere. Du kan løse problemet ved at følge disse trin:
-
Rediger koden i dataelementnummer 5 sektioner i Rapport over erklæring af 349 (88) på følgende måde: Eksisterende kode 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);
Erstatningskode 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);
Eksisterende kode 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';
Erstatningskode 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';
Eksisterende kode 3
// OpTriang := 'X'; // AmountOpTri := AmountOpTri + VATInvSales.Base; UNTIL VATInvSales.NEXT = 0; END;
Erstatningskode 3
// OpTriang := 'X'; // AmountOpTri := AmountOpTri + VATInvSales.Base; //Add the following line. LastTransactionNo := VATInvSales."Transaction No."; UNTIL VATInvSales.NEXT = 0; END;
Eksisterende kode 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);
Erstatningskode 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);
Eksisterende kode 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
Erstatningskode 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
Eksisterende kode 6
END; // NormalAmount := NormalAmount + VATInvSales.Base; UNTIL VATInvSales.NEXT = 0; END;
Erstatningskode 6
END; // NormalAmount := NormalAmount + VATInvSales.Base; //Add the following line. LastTransactionNo := VATInvSales."Transaction No."; UNTIL VATInvSales.NEXT = 0; END;
Eksisterende kode 7
END; //Delete the following line. VATInvSales.RESET; VATInvSales.SETRANGE(Type,VATInvSales.Type::Sale); VATInvSales.SETRANGE("Document Type",VATInvSales."Document Type"::Invoice);
Erstatningskode 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);
Eksisterende kode 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
Erstatningskode 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
Eksisterende kode 9
END; END; UNTIL VATInvSales.NEXT = 0;
Erstatningskode 9
END; END; //Add the following line. LastTransactionNo := VATInvSales."Transaction No."; UNTIL VATInvSales.NEXT = 0;
-
Rediger koden i dataelementnummeret 6 sektioner i Rapporten Om erklæring af 349 (88) på følgende måde: Eksisterende kode 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);
Erstatningskode 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);
Eksisterende kode 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';
Erstatningskode 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';
Eksisterende kode 3
// OpTriang := 'X'; // AmountOpTri := AmountOpTri + VATInvPurch.Base; UNTIL VATInvPurch.NEXT = 0; END;
Erstatningskode 3
// OpTriang := 'X'; // AmountOpTri := AmountOpTri + VATInvPurch.Base; //Add the following line. LastTransactionNo := VATInvPurch."Transaction No."; UNTIL VATInvPurch.NEXT = 0; END;
Eksisterende kode 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);
Erstatningskode 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);
Eksisterende kode 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
Erstatningskode 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
Eksisterende kode 6
END; // NormalAmount := NormalAmount + VATInvPurch.Base; UNTIL VATInvPurch.NEXT = 0; END;
Erstatningskode 6
END; // NormalAmount := NormalAmount + VATInvPurch.Base; //Add the following line. LastTransactionNo := VATInvPurch."Transaction No."; UNTIL VATInvPurch.NEXT = 0; END;
Eksisterende kode 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);
Erstatningskode 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);
Eksisterende kode 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
Erstatningskode 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
Eksisterende kode 9
END; END; UNTIL VATInvPurch.NEXT = 0;
Erstatningskode 9
END; END; //Add the following line. LastTransactionNo := VATInvPurch."Transaction No."; UNTIL VATInvPurch.NEXT = 0;
-
Tilføj en ny global variabel i Rapporten om erklæring af 349 (88), og angiv derefter variablen på følgende måde:
-
Navn:LastTransactionNo@1100072
-
Datatype: Heltal
-
Forudsætninger
Du skal have et af følgende produkter installeret for at anvende dette hotfix:
-
Den spanske version af Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
-
Den spanske version af Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)
Du skal have den spanske 349-rapport installeret for at anvende dette hotfix.Du kan finde flere oplysninger på følgende Microsoft-websted: Spansk 349-rapportDerudover skal du have moms 2010-pakken installeret for at anvende dette hotfix.Du kan finde flere oplysninger på følgende Microsoft-websted: Microsoft Dynamics NAV Support til moms 2010
Oplysninger om fjernelse
Du kan ikke fjerne dette hotfix.
Status
Microsoft har bekræftet, at problemet findes i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".
Bemærk, at dette er en artikel i "FAST PUBLISH", der er oprettet direkte fra Microsoft-supportorganisationen. De oplysninger, der er indeholdt i denne artikel, leveres som svar på nye problemer. På grund af hastigheden ved at gøre det tilgængeligt kan materialerne indeholde typografiske fejl og kan når som helst revideres uden varsel. Se vilkår for anvendelse for andre overvejelser.