Dit artikel is van toepassing op Microsoft Dynamics NAV voor de Spaanse taal (es).
Symptomen
Stel dat het selectievakje Service in de EU is ingeschakeld in het dialoogvenster Btw-instelling in de Spaanse versie van Microsoft Dynamics NAV. Wanneer u het declaratiebestand 349 genereert, is de hoeveelheid in het geëxporteerde bestand onjuist.Dit probleem doet zich voor in de volgende producten:
-
De Spaanse versie van Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
-
De Spaanse versie van Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)
Oplossing
Hotfix-informatie
Er is nu een ondersteunde hotfix beschikbaar bij Microsoft. Het is echter alleen bedoeld om het probleem te corrigeren dat in dit artikel wordt beschreven. Alleen toepassen op systemen die dit specifieke probleem ondervinden. Voor deze hotfix kunnen aanvullende tests worden uitgevoerd. Als u niet ernstig door dit probleem wordt getroffen, is het raadzaam te wachten op het volgende Microsoft Dynamics NAV 2009-servicepack of de volgende microsoft Dynamics NAV-versie met deze hotfix. Opmerking In speciale gevallen kunnen kosten die gewoonlijk worden gemaakt voor ondersteuningsoproepen worden geannuleerd als door een Technical Support Professional voor Microsoft Dynamics en gerelateerde producten wordt bepaald dat het probleem wordt opgelost met een specifieke update. De normale ondersteuningskosten blijven gelden voor extra ondersteuningsvragen die niet in aanmerking komen voor de specifieke update.
Installatiegegevens
Microsoft biedt alleen programmeervoorbeelden ter illustratie, zonder garantie, uitgedrukt of impliciet. Dit omvat, maar niet beperkt tot, de impliciete garanties van verkoopbaarheid of geschiktheid voor een bepaald doel. In dit artikel wordt ervan uitgenomen dat u bekend bent met de programmeertaal die wordt gedemonstreerd en met de hulpmiddelen die worden gebruikt voor het maken en opsporen van fouten in procedures. Ondersteuningsingenieurs van Microsoft kunnen de functionaliteit van een bepaalde procedure uitleggen, maar ze zullen deze voorbeelden niet wijzigen om extra functionaliteit te bieden of procedures te bouwen om te voldoen aan uw specifieke vereisten.Opmerking Voordat u deze hotfix installeert, moet u controleren of alle gebruikers van de Microsoft Navision-client zijn afgemeld bij het systeem. Dit geldt ook voor gebruikers van Microsoft Navision Application Services (NAS). U moet de enige clientgebruiker zijn die is aangemeld wanneer u deze hotfix implementeert.Als u deze hotfix wilt implementeren, moet u een licentie voor ontwikkelaars hebben.U wordt aangeraden de rol-id SUPER toe te staan aan het gebruikersaccount in het venster Aanmeldingen voor Windows of in het venster Database-aanmelding. Als de rol-id SUPER niet aan het gebruikersaccount kan worden toegewezen, moet u controleren of het gebruikersaccount de volgende machtigingen heeft:
-
De machtiging Wijzigen voor het object dat u wilt wijzigen.
-
De machtiging Uitvoeren voor het Systeemobject-id 5210-object en voor het object System Object ID 9015.
Opmerking U hoeft geen rechten te hebben voor de gegevensopslag, tenzij u gegevens moet herstellen.
Codewijzigingen
Let op: oplossingen voor code in een gecontroleerde omgeving altijd testen voordat u de oplossingen op uw productiecomputers toe passen. Ga als volgt te werk om dit probleem op te lossen:
-
De code in de secties Nummer 5 van gegevensitem in het declaratierapport 349 maken (88) als volgt wijzigen: Bestaande code 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);
Vervangende code 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);
Bestaande code 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';
Vervangende code 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';
Bestaande code 3
// OpTriang := 'X'; // AmountOpTri := AmountOpTri + VATInvSales.Base; UNTIL VATInvSales.NEXT = 0; END;
Vervangende code 3
// OpTriang := 'X'; // AmountOpTri := AmountOpTri + VATInvSales.Base; //Add the following line. LastTransactionNo := VATInvSales."Transaction No."; UNTIL VATInvSales.NEXT = 0; END;
Bestaande code 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);
Vervangende code 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);
Bestaande code 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
Vervangende code 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
Bestaande code 6
END; // NormalAmount := NormalAmount + VATInvSales.Base; UNTIL VATInvSales.NEXT = 0; END;
Vervangende code 6
END; // NormalAmount := NormalAmount + VATInvSales.Base; //Add the following line. LastTransactionNo := VATInvSales."Transaction No."; UNTIL VATInvSales.NEXT = 0; END;
Bestaande code 7
END; //Delete the following line. VATInvSales.RESET; VATInvSales.SETRANGE(Type,VATInvSales.Type::Sale); VATInvSales.SETRANGE("Document Type",VATInvSales."Document Type"::Invoice);
Vervangende code 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);
Bestaande code 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
Vervangende code 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
Bestaande code 9
END; END; UNTIL VATInvSales.NEXT = 0;
Vervangende code 9
END; END; //Add the following line. LastTransactionNo := VATInvSales."Transaction No."; UNTIL VATInvSales.NEXT = 0;
-
De code in de secties Nummer 6 van gegevensitem in het declaratierapport 349 maken (88) als volgt wijzigen: Bestaande code 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);
Vervangende code 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);
Bestaande code 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';
Vervangende code 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';
Bestaande code 3
// OpTriang := 'X'; // AmountOpTri := AmountOpTri + VATInvPurch.Base; UNTIL VATInvPurch.NEXT = 0; END;
Vervangende code 3
// OpTriang := 'X'; // AmountOpTri := AmountOpTri + VATInvPurch.Base; //Add the following line. LastTransactionNo := VATInvPurch."Transaction No."; UNTIL VATInvPurch.NEXT = 0; END;
Bestaande code 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);
Vervangende code 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);
Bestaande code 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
Vervangende code 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
Bestaande code 6
END; // NormalAmount := NormalAmount + VATInvPurch.Base; UNTIL VATInvPurch.NEXT = 0; END;
Vervangende code 6
END; // NormalAmount := NormalAmount + VATInvPurch.Base; //Add the following line. LastTransactionNo := VATInvPurch."Transaction No."; UNTIL VATInvPurch.NEXT = 0; END;
Bestaande code 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);
Vervangende code 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);
Bestaande code 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
Vervangende code 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
Bestaande code 9
END; END; UNTIL VATInvPurch.NEXT = 0;
Vervangende code 9
END; END; //Add the following line. LastTransactionNo := VATInvPurch."Transaction No."; UNTIL VATInvPurch.NEXT = 0;
-
Voeg een nieuwe globale variabele toe aan het declaratierapport Make 349 (88) en geef de variabele als volgt op:
-
Naam: LastTransactionNo@1100072
-
DataType: Integer
-
Vereisten
U moet een van de volgende producten hebben geïnstalleerd om deze hotfix toe te passen:
-
De Spaanse versie van Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
-
De Spaanse versie van Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)
U moet het Spaanse 349-rapport hebben geïnstalleerd om deze hotfix toe te passen.Ga voor meer informatie naar de volgende Microsoft-website: Spaans 349-rapportBovendien moet het btw-pakket zijn geïnstalleerd om deze hotfix toe te passen.Ga voor meer informatie naar de volgende Microsoft-website: Microsoft Dynamics NAV-ondersteuning voor btw 2010
Informatie over verwijderen
U kunt deze hotfix niet verwijderen.
Status
Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.
Opmerking Dit is een 'FAST PUBLISH'-artikel dat rechtstreeks vanuit de Microsoft-ondersteuningsorganisatie is gemaakt. De informatie in dezen wordt verstrekt in reactie op nieuwe problemen. Als gevolg van de snelheid waarmee het materiaal beschikbaar komt, kunnen er typefouten in het materiaal zijn en kunnen de materialen op elk moment zonder kennisgeving worden aangepast. Zie de gebruiksvoorwaarden voor andere overwegingen.