Systemet skapar en felaktig "Korrigering av återstående belopp" detaljerad kundreskontratransaktion i den tjeckiska versionen av Microsoft Dynamics NAV


Den här artikeln gäller för Microsoft Dynamics NAV för tjeckiska (cz) språk.

Symptom


Anta att du skapar en faktura i utländsk valuta i den tjeckiska versionen av Microsoft Dynamics NAV 2009 R2 och Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1). Du kan justera värdet Momsbeloppet (BVA) i en faktura i utländsk valuta och bokför fakturan. I det här fallet, när du bokför betalningen i utländsk valuta gäller systemet transaktioner som förväntat. Däremot skapar systemet en felaktig "Korrigering av återstående belopp" detaljerad kundreskontratransaktion med hjälp av ett belopp som är lika med värdet Skillnaden Momsbeloppet (BVA) på försäljningsfakturan. Dessutom bokförs systemet felaktigt redovisningstransaktionen för beloppet.

Orsak


Det här problemet uppstår eftersom Momsbeloppet (BVA) kan vara uppdateras den tjeckiska versionen av Microsoft Dynamics NAV. Momsbeloppet värdet ändras dock inte. Det belopp och Belopp (BVA) värdet kan därför ha olika valutafaktorn som det definieras i tabellen Valutakurs.

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 2009 eller nästa Microsoft Dynamics NAV-version 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.


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 med att förklara funktionen hos en viss procedur, men kan 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 så här:
  1. Ändra koden i utlösaren OnRun i codeunit försäljningspost (80) enligt följande:
    Befintlig kod
    ...  GenJnlLine."Amount (LCY)" := GenJnlLine."Amount (LCY)" - TotalVATDifferenceLCY;
    IF "Currency Code" = '' THEN
    GenJnlLine."Currency Factor" := 1

    // Delete the following lines.
    ELSE
    GenJnlLine."Currency Factor" := "Currency Factor";
    // End of the deleted lines.

    GenJnlLine.Correction := Correction;
    GenJnlLine."Sales/Purch. (LCY)" := -TotalSalesLineLCY.Amount;
    GenJnlLine."Profit (LCY)" := -(TotalSalesLineLCY.Amount - TotalSalesLineLCY."Unit Cost (LCY)");
    ...

    Ersättningskod
    ...  GenJnlLine."Amount (LCY)" := GenJnlLine."Amount (LCY)" - TotalVATDifferenceLCY;
    IF "Currency Code" = '' THEN
    GenJnlLine."Currency Factor" := 1

    // Add the following lines.
    ELSE BEGIN
    IF (TotalVATDifferenceLCY <> 0) AND (GenJnlLine.Amount <> 0) AND (GenJnlLine."Amount (LCY)" <> 0) THEN
    GenJnlLine."Currency Factor" := GenJnlLine.Amount / GenJnlLine."Amount (LCY)"
    ELSE
    GenJnlLine."Currency Factor" := "Currency Factor";
    END;
    // End of the added lines.

    GenJnlLine.Correction := Correction;
    GenJnlLine."Sales/Purch. (LCY)" := -TotalSalesLineLCY.Amount;
    GenJnlLine."Profit (LCY)" := -(TotalSalesLineLCY.Amount - TotalSalesLineLCY."Unit Cost (LCY)");
    ...

  2. Ändra koden i utlösaren OnRun i inköp.-bokför kodmodul (90) enligt följande:
    Befintlig kod
    ...  GenJnlLine."Amount (LCY)" := GenJnlLine."Amount (LCY)" - TotalVATDifferenceLCY;
    IF "Currency Code" = '' THEN
    GenJnlLine."Currency Factor" := 1

    // Delete the following lines.
    ELSE
    GenJnlLine."Currency Factor" := "Currency Factor";
    // End of the deleted lines.

    GenJnlLine."Sales/Purch. (LCY)" := -TotalPurchLineLCY.Amount;
    GenJnlLine.Correction := Correction;
    GenJnlLine."Inv. Discount (LCY)" := -TotalPurchLineLCY."Inv. Discount Amount";
    ...

    Ersättningskod
    ...  GenJnlLine."Amount (LCY)" := GenJnlLine."Amount (LCY)" - TotalVATDifferenceLCY;
    IF "Currency Code" = '' THEN
    GenJnlLine."Currency Factor" := 1

    // Add the following lines.
    ELSE BEGIN
    IF (TotalVATDifferenceLCY <> 0) AND (GenJnlLine.Amount <> 0) AND (GenJnlLine."Amount (LCY)" <> 0) THEN
    GenJnlLine."Currency Factor" := GenJnlLine.Amount / GenJnlLine."Amount (LCY)"
    ELSE
    GenJnlLine."Currency Factor" := "Currency Factor";
    END;
    // End of the added lines.

    GenJnlLine."Sales/Purch. (LCY)" := -TotalPurchLineLCY.Amount;
    GenJnlLine.Correction := Correction;
    GenJnlLine."Inv. Discount (LCY)" := -TotalPurchLineLCY."Inv. Discount Amount";
    ...

Förutsättningar

Du måste ha någon av följande produkter som har installerat den här snabbkorrigeringen:
  • Den tjeckiska versionen av Microsoft Dynamics NAV 2009 R2
  • Den tjeckiska versionen av Microsoft Dynamics NAV 5.0 Service Pack 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".
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.