Het veld Bedrag incl. btw wordt berekend ten onrechte in het formulier Verkoopfactuurstatistiek (576) nadat u hotfix 2550292 in de Tsjechische versie van Microsoft Dynamics NAV 2009 R2


Dit artikel is van toepassing op Microsoft Dynamics NAV voor de regio Tsjechisch (cz).

Symptomen


Neem het volgende scenario in de Tsjechische versie van Microsoft Dynamics NAV 2009 R2:
  • U hotfix 2550292 hebt toegepast.
    Voor meer informatie over hotfix 2550292, klikt u op het volgende artikel in de Microsoft Knowledge Base:
    2550292 de btw-afronding van works niet goed voor de correctieposten op verkoop-/ inkoopdocumenten in de Tsjechische versie van Microsoft Dynamics NAV 2009 R2
  • U stelt het veld Factuur-precisie (LV) op 1,00 in Boekhoudinstellingen in het dialoogvenster.
  • U kunt het veld BTW-afronding (LV) tot 1,00 instellen in het dialoogvenster Boekhoudinstellingen.
  • U maakt een verkoopfactuur.
In dit scenario wordt het veld Bedrag incl. btw onjuist berekend in de vorm van Verkoopfactuurstatistiek (576).

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 2009 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, maar zij zullen deze voorbeelden bieden extra functionaliteit of desgewenst uw specifieke vereisten 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.
U kunt dit probleem oplossen door de volgende stappen uit te voeren:
  1. De code in de functie CalcVATAmountLines in de tabel Verkoopregel (37) als volgt wijzigen:
    Bestaande code 1
    ..."VAT Amount (LCY)" := "Calculated VAT Amount" + "VAT Difference (LCY)";
    "Calculated VAT Amount (LCY)" := "Calculated VAT Amount";
    IF VATAmountLine."VAT %" <> 0 THEN BEGIN

    // Delete the following line.
    "Amount Including VAT (LCY)" := "Amount Including VAT";

    IF "VAT Amount (LCY)" <> 0 THEN
    VALIDATE("VAT Amount","VAT Amount (LCY)");

    IF SalesHeader."Prices Including VAT" THEN
    IF ("VAT Calculation Type" = "VAT Calculation Type"::"Normal VAT") OR
    ("VAT Calculation Type" = "VAT Calculation Type"::"Reverse Charge VAT")
    THEN
    IF GLSetup."Round VAT Coeff." THEN BEGIN
    ...
    Nieuwe code 1
    ..."VAT Amount (LCY)" := "Calculated VAT Amount" + "VAT Difference (LCY)";
    "Calculated VAT Amount (LCY)" := "Calculated VAT Amount";
    IF VATAmountLine."VAT %" <> 0 THEN BEGIN
    IF "VAT Amount (LCY)" <> 0 THEN
    VALIDATE("VAT Amount","VAT Amount (LCY)");

    IF SalesHeader."Prices Including VAT" THEN

    // Add the following lines.
    "VAT Base" := "Amount Including VAT" - "VAT Amount"
    ELSE
    "Amount Including VAT" := "VAT Base" + "VAT Amount";
    "Amount Including VAT (LCY)" := "Amount Including VAT";
    IF SalesHeader."Prices Including VAT" THEN
    //End of the lines.

    IF ("VAT Calculation Type" = "VAT Calculation Type"::"Normal VAT") OR
    ("VAT Calculation Type" = "VAT Calculation Type"::"Reverse Charge VAT")
    THEN
    IF GLSetup."Round VAT Coeff." THEN BEGIN
    ...
    Bestaande code 2
    ..."VAT Difference (LCY)" :=
    "VAT Amount (LCY)" - "Amount Including VAT (LCY)" *
    ROUND("VAT %" / (100 + "VAT %"),GLSetup."VAT Coeff. Rounding Precision");
    END;

    // Delete the following line.
    "Amount Including VAT" := "Amount Including VAT (LCY)";

    END;
    END ELSE BEGIN
    "VAT Difference (LCY)" := 0;
    ...
    Vervangende code 2
    ..."VAT Difference (LCY)" :=
    "VAT Amount (LCY)" - "Amount Including VAT (LCY)" *
    ROUND("VAT %" / (100 + "VAT %"),GLSetup."VAT Coeff. Rounding Precision");
    END;
    END;
    END ELSE BEGIN
    "VAT Difference (LCY)" := 0;
    ...
  2. De code in de functie CalcVATAmountLines in de tabel Inkoopregel (39) als volgt wijzigen:
    Bestaande code 1
    ..."Calculated VAT Amount (LCY)" := "Calculated VAT Amount";

    IF VATAmountLine."VAT %" <> 0 THEN BEGIN

    // Delete the following line.
    "Amount Including VAT (LCY)" := "Amount Including VAT";

    IF "VAT Amount (LCY)" <> 0 THEN
    VALIDATE("VAT Amount","VAT Amount (LCY)");

    IF PurchHeader."Prices Including VAT" THEN
    IF ("VAT Calculation Type" = "VAT Calculation Type"::"Normal VAT") OR
    ("VAT Calculation Type" = "VAT Calculation Type"::"Reverse Charge VAT")
    THEN
    IF GLSetup."Round VAT Coeff." THEN BEGIN
    ...
    Nieuwe code 1
    ..."Calculated VAT Amount (LCY)" := "Calculated VAT Amount";

    IF VATAmountLine."VAT %" <> 0 THEN BEGIN
    "Amount Including VAT (LCY)" := "Amount Including VAT";

    IF "VAT Amount (LCY)" <> 0 THEN
    VALIDATE("VAT Amount","VAT Amount (LCY)");

    IF PurchHeader."Prices Including VAT" THEN

    // Add the following lines.
    "VAT Base" := "Amount Including VAT" - "VAT Amount"
    ELSE
    "Amount Including VAT" := "VAT Base" + "VAT Amount";
    "Amount Including VAT (LCY)" := "Amount Including VAT";
    IF PurchHeader."Prices Including VAT" THEN
    //End of the lines.

    IF ("VAT Calculation Type" = "VAT Calculation Type"::"Normal VAT") OR
    ("VAT Calculation Type" = "VAT Calculation Type"::"Reverse Charge VAT")
    THEN
    IF GLSetup."Round VAT Coeff." THEN BEGIN
    ...
    Bestaande code 2
    ..."VAT Amount (LCY)" - "Amount Including VAT (LCY)" *
    ROUND("VAT %" / (100 + "VAT %"),GLSetup."VAT Coeff. Rounding Precision");
    END;

    // Delete the following line.
    "Amount Including VAT" := "Amount Including VAT (LCY)";

    END;
    "VAT Amount (Non Deductible)" := RoundVAT("VAT Amount (Non Deductible)");
    END ELSE BEGIN
    ...
    Vervangende code 2
    ..."VAT Amount (LCY)" - "Amount Including VAT (LCY)" *
    ROUND("VAT %" / (100 + "VAT %"),GLSetup."VAT Coeff. Rounding Precision");
    END;

    END;
    "VAT Amount (Non Deductible)" := RoundVAT("VAT Amount (Non Deductible)");
    END ELSE BEGIN
    ...

Vereisten

U moet de Tsjechische versie van Microsoft Dynamics NAV 2009 R2 zijn geïnstalleerd om deze hotfix te kunnen hebben.

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.