Den här artikeln gäller Microsoft Dynamics NAV för språkspråket för spanska (es).
Symptom
Anta att kryssrutan för EU-tjänsten är markerad i dialogrutan Inställningar för momsregistrering i den spanska versionen av Microsoft Dynamics NAV. När du genererar 349-deklarationsfilen blir beloppet i den exporterade filen felaktigt.Det här problemet uppstår i följande produkter:
-
Den spanska versionen av Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
-
Den spanska versionen av Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)
Lösning
Information om snabbkorrigering
En snabbkorrigering som stöds är nu tillgänglig från Microsoft. Det är dock bara avsett att korrigera problemet som beskrivs i den här artikeln. Använd den bara på system där det här specifika problemet finns. Den här snabbkorrigeringen kan få ytterligare tester. Om du inte påverkas allvarligt av det här problemet rekommenderar vi därför att du väntar på nästa Microsoft Dynamics NAV 2009-service pack eller nästa Microsoft Dynamics NAV-version som innehåller den här snabbkorrigeringen. Obs! I specialfall kan avgifter som vanligtvis uppstår för supportsamtal avbrytas om en teknisk support för Microsoft Dynamics och relaterade produkter anser att en viss uppdatering kommer att lösa problemet. Normala supportavgifter tas ut för ytterligare supportfrågor och problem som inte gäller den aktuella uppdateringen.
Installationsinformation
Microsoft tillhandahåller programmeringsexempel endast för illustration, utan garantier som vare sig uttrycks eller underförstådda. Detta omfattar, men är inte begränsat till, underförstådda garantier om säljbarhet eller lämplighet för ett visst ändamål. Den här artikeln förutsätter att du är bekant med programmeringsspråket som demonstreras och med de verktyg som används för att skapa och felsöka procedurer. Microsofts supporttekniker kan förklara funktionerna i en viss procedur, men de kommer inte att ändra de här exemplen för att ge ytterligare funktioner eller konstruera procedurer som uppfyller dina specifika krav.Innan du installerar den här snabbkorrigeringen kontrollerar du att alla Microsoft Navision-klientanvändare är inloggade från systemet. Det inkluderar Microsoft Navision Application Services (NAS)-klientanvändare. Du bör vara den enda klientanvändaren som är inloggad när du implementerar den här snabbkorrigeringen.Du måste ha en utvecklarlicens för att implementera den här snabbkorrigeringen.Vi rekommenderar att användarkontot i fönstret Windows-inloggningar eller i fönstret Databasinloggningar tilldelas roll-ID:t "SUPER". Om användarkontot inte kan tilldelas roll-ID:t "SUPER" måste du kontrollera att användarkontot har följande behörigheter:
-
Behörigheten Ändra för det objekt som du vill ändra.
-
Körbehörigheten för Systemobjekt-ID 5210-objektet och för Systemobjekt-ID 9015-objektet.
Observera att du inte behöver ha rättigheter till datakällorna såvida du inte måste utföra datareparation.
Kodändringar
Note Always test code fixes in a controlled environment before you apply the fixes to your production computers. Lös problemet genom att följa de här stegen:
-
Ändra koden i dataobjektets nummer 5 avsnitt i 349-deklarationsrapporten (88) enligt följande: Befintlig kod 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);
Ersättningskod 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);
Befintlig kod 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';
Ersättningskod 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';
Befintlig kod 3
// OpTriang := 'X'; // AmountOpTri := AmountOpTri + VATInvSales.Base; UNTIL VATInvSales.NEXT = 0; END;
Ersättningskod 3
// OpTriang := 'X'; // AmountOpTri := AmountOpTri + VATInvSales.Base; //Add the following line. LastTransactionNo := VATInvSales."Transaction No."; UNTIL VATInvSales.NEXT = 0; END;
Befintlig kod 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);
Ersättningskod 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);
Befintlig kod 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
Ersättningskod 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
Befintlig kod 6
END; // NormalAmount := NormalAmount + VATInvSales.Base; UNTIL VATInvSales.NEXT = 0; END;
Ersättningskod 6
END; // NormalAmount := NormalAmount + VATInvSales.Base; //Add the following line. LastTransactionNo := VATInvSales."Transaction No."; UNTIL VATInvSales.NEXT = 0; END;
Befintlig kod 7
END; //Delete the following line. VATInvSales.RESET; VATInvSales.SETRANGE(Type,VATInvSales.Type::Sale); VATInvSales.SETRANGE("Document Type",VATInvSales."Document Type"::Invoice);
Ersättningskod 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);
Befintlig kod 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
Ersättningskod 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
Befintlig kod 9
END; END; UNTIL VATInvSales.NEXT = 0;
Ersättningskod 9
END; END; //Add the following line. LastTransactionNo := VATInvSales."Transaction No."; UNTIL VATInvSales.NEXT = 0;
-
Ändra koden i avsnitten för dataobjekt nummer 6 i 349-deklarationsrapporten (88) enligt följande: Befintlig kod 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);
Ersättningskod 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);
Befintlig kod 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';
Ersättningskod 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';
Befintlig kod 3
// OpTriang := 'X'; // AmountOpTri := AmountOpTri + VATInvPurch.Base; UNTIL VATInvPurch.NEXT = 0; END;
Ersättningskod 3
// OpTriang := 'X'; // AmountOpTri := AmountOpTri + VATInvPurch.Base; //Add the following line. LastTransactionNo := VATInvPurch."Transaction No."; UNTIL VATInvPurch.NEXT = 0; END;
Befintlig kod 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);
Ersättningskod 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);
Befintlig kod 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
Ersättningskod 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
Befintlig kod 6
END; // NormalAmount := NormalAmount + VATInvPurch.Base; UNTIL VATInvPurch.NEXT = 0; END;
Ersättningskod 6
END; // NormalAmount := NormalAmount + VATInvPurch.Base; //Add the following line. LastTransactionNo := VATInvPurch."Transaction No."; UNTIL VATInvPurch.NEXT = 0; END;
Befintlig kod 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);
Ersättningskod 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);
Befintlig kod 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
Ersättningskod 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
Befintlig kod 9
END; END; UNTIL VATInvPurch.NEXT = 0;
Ersättningskod 9
END; END; //Add the following line. LastTransactionNo := VATInvPurch."Transaction No."; UNTIL VATInvPurch.NEXT = 0;
-
Lägg till en ny global variabel i make 349-deklarationsrapporten (88) och ange sedan variabeln enligt följande:
-
Namn:LastTransactionNo@1100072
-
DataType: Integer
-
Krav
Du måste ha någon av följande produkter installerad för att kunna använda den här snabbkorrigeringen:
-
Den spanska versionen av Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
-
Den spanska versionen av Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)
Du måste ha den spanska 349-rapporten installerad för att kunna använda den här snabbkorrigeringen.Om du vill ha mer information går du till följande Microsoft-webbplats: Spanska 349-rapporten Måste du ha moms 2010-paketet installerat för att kunna använda den här snabbkorrigeringen.Mer information finns på microsofts webbplats: Microsoft Dynamics NAV Support för moms 2010
Information om borttagning
Du kan inte ta bort den här snabbkorrigeringen.
Status
Microsoft har bekräftat att det är ett problem i de Microsoft-produkter som listas i avsnittet "Gäller för".
Observera att det här är en "FAST PUBLISH"-artikel som skapats direkt från Microsoft Support-organisationen. Informationen i artikeln tillhandahålls i befintligt skick som en reaktion på växande problem. På grund av den hastiga publiceringen kan det hända att materialet innehåller tryckfel och det kan därför utan föregående meddelande ändras. Mer information finns i Användningsvillkor.