Iznos PDV-a knjiži se na račun zaokruživanja umesto na račun ostvarenog dobitka/gubitka kada primenjujete uplatu na fakturu za nabavku u stranoj valuti u češkoj verziji programa Microsoft Dynamics NAV 2009 R2

Primenjuje se na
Microsoft Dynamics NAV 2009 R2

Ovaj članak se odnosi na lokalni standard Microsoft Dynamics NAV za češki (cz).

Simptomi

Pretpostavimo da ste knjižili fakturu za nabavku u stranoj valuti pomoću prilagođenog iznosa PDV-a (LCY) za češku verziju modela Microsoft Dynamics NAV 2009 R2. Zatim objavljujete uplatu pomoću drugog deviznog kursa. U ovom slučaju, kada primenite plaćanje na fakturu za kupovinu, razlika u iznosu PDV-a između originalnog PDV-a i prilagođenog PDV-a knjiži se na račun zaokruživanja umesto na račun ostvarene dobitke/gubitka.

Rešenje

Informacije o hitnim ispravkama

Podržana hitna ispravka je sada dostupna od korporacije Microsoft. Međutim, namena je samo za rešavanje problema koji je opisan u ovom članku. Primenite je samo na sisteme koji imaju ovaj određeni problem. Ova hitna ispravka može proći dodatno testiranje. Stoga, ako ovaj problem ne utiče ozbiljno, preporučujemo da sačekate sledeći servisni paket za Microsoft Dynamics NAV 2009 ili sledeću verziju programa Microsoft Dynamics NAV koja sadrži ovu hitnu ispravku.

Napomena: U posebnim slučajevima, troškovi koji se obično nastaju za pozive podršci mogu biti otkazani ako stručnjak za tehničku podršku za Microsoft Dynamics i srodne proizvode utvrdi da će određena ispravka rešiti problem. Uobičajeni troškovi podrške primenjivaće se na dodatna pitanja podrške i probleme koji ne ispunjavaju uslove za određenu ispravku u pitanju.

Informacije o instalaciji

Microsoft pruža primere programiranja samo za ilustraciju, bez izričite ili podrazumevane garancije. Ovo uključuje, ali nije ograničeno na, podrazumevane garancije o podesnosti za prodaju ili o podesnosti za određenu namenu. U ovom članku se pretpostavlja da ste upoznati sa programskim jezikom koji se demonstrira i sa alatkama koje se koriste za kreiranje procedura i otklanjanje grešaka. Inženjeri Microsoft podrške mogu vam objasniti funkcionalnost određene procedure. Međutim, oni neće menjati ove primere da bi obezbedili dodatnu funkcionalnost ili konstruisali procedure koje ispunjavaju vaše određene zahteve.

Napomena Pre nego što instalirate ovu hitnu ispravku, proverite da li su svi korisnici Microsoft Dynamics NAV klijenta odjavljeni iz sistema. To uključuje Microsoft Dynamics NAV Application Server (NAS) usluge. Vi bi trebalo da budete jedini korisnik klijenta koji je prijavljen kada primenjujete ovu hitnu ispravku.

Da biste primenili ovu hitnu ispravku, morate imati licencu za projektante.

Preporučujemo da se korisničkom nalogu u prozoru "Prijavljivanje u operativni sistem Windows" ili u prozoru "Prijavljivanje u bazu podataka" dodeli ID uloge "SUPER". Ako korisničkom nalogu nije moguće dodeliti ID uloge "SUPER", morate da proverite da li korisnički nalog ima sledeće dozvole:

  • Dozvola "Izmeni" za objekat koji ćete menjati.

  • Dozvola za izvršavanje za objekat sistema sa ID-om 5210 i za sistemski objekat sa ID-om 9015

    objekat.

Napomena: Ne morate da imate prava na skladišta podataka osim ako ne morate da izvršite popravku podataka.

Promene kodova

Napomena: Popravke kodova uvek testirajte u kontrolisanom okruženju pre nego što ih primenite na računare proizvodnje.

Pratite ove korake da biste rešili problem:

  1. Promenite kôd u funkciji InsertVAT u gen. Jnl.-Post Line codeunit (12) na sledeći način:
    Postojeći kôd

    ...
    VATEntry."Customs Procedure Code" := "Customs Procedure Code";
    VATEntry."Registration No." := "Registration No.";
    
    // Delete the following lines.
    IF "VAT Difference" = 0 THEN
    VATDifferenceLCY := 0
    ELSE
    IF "Currency Code" = '' THEN
    VATDifferenceLCY := "VAT Difference"
    ELSE
    VATDifferenceLCY :=
    ROUND(
    CurrExchRate.ExchangeAmtFCYToLCY(
    "Posting Date","Currency Code","VAT Difference",
    CurrExchRate.ExchangeRate("Posting Date","Currency Code")));
    
    IF ("VAT Amount (LCY)" <> CalculatedVATAmountLCY) AND
    ("Currency Code" <> '')
    THEN
    VATDifferenceLCY := "VAT Amount (LCY)" - CalculatedVATAmountLCY;
    // End of the deleted lines.
    
    IF "VAT Calculation Type" = "VAT Calculation Type"::"Sales Tax" THEN BEGIN
    ...
    

    Kôd za zamenu

    ...
    VATEntry."Customs Procedure Code" := "Customs Procedure Code";
    VATEntry."Registration No." := "Registration No.";
    
    // Add the following line. 
    VATDifferenceLCY := CalcVATDiffLCY;
    // End of the added line.
    
    IF "VAT Calculation Type" = "VAT Calculation Type"::"Sales Tax" THEN BEGIN
    ...
    
  2. Promenite kôd u funkciji CalcCurrencyRealizedGainLoss u funkciji Gen. Jnl.-Post Line codeunit (12) na sledeći način:
    Postojeći kôd

    ...
    RealizedGainLossLCY :=
    
    // Delete the following line. 
    AppliedAmountLCY - ROUND(AppliedAmount / CVLedgEntryBuf."Adjusted Currency Factor");
    // End of the deleted line.
    
    IF RealizedGainLossLCY <> 0 THEN BEGIN
    ...
    

    Kôd za zamenu

    ...
    RealizedGainLossLCY :=
    
    // Add the following lines. 
    AppliedAmountLCY - ROUND(AppliedAmount / CVLedgEntryBuf."Adjusted Currency Factor") + 
    CalcVATDiffFromVATEntry(CVLedgEntryBuf);
    // End of the added lines.
    
    IF RealizedGainLossLCY <> 0 THEN BEGIN
    ...
    
  3. Kreirajte dve nove funkcije u rodnoj generaciji Jnl.-Post Line codeunit (12) na sledeći način:

    LOCAL PROCEDURE CalcVATDiffFromVATEntry@1220002(CVLedgEntryBuf@1220002 : Record 382) VATDiffAmt : Decimal;
    VAR
    CalcVATEntry@1220001 : Record 254;
    BEGIN
    IF NOT (CVLedgEntryBuf."Document Type" IN
    [CVLedgEntryBuf."Document Type"::Invoice,CVLedgEntryBuf."Document Type"::"Credit Memo"])
    THEN
    EXIT;
    
    WITH CalcVATEntry DO BEGIN
    SETRANGE("Transaction No.",CVLedgEntryBuf."Transaction No.");
    IF FINDSET THEN
    REPEAT
    VATDiffAmt := VATDiffAmt + "VAT Difference";
    UNTIL NEXT = 0;
    END;
    END;
    
    LOCAL PROCEDURE CalcVATDiffLCY@1220000() VATDifferenceLCY : Decimal;
    BEGIN 
    WITH GenJnlLine DO BEGIN
    IF ("VAT Difference" = 0) AND ("VAT Difference (LCY)" = 0) THEN
    EXIT(0);
    
    IF ("VAT Amount (LCY)" <> CalculatedVATAmountLCY) AND
    ("Currency Code" <> '')
    THEN
    EXIT("VAT Amount (LCY)" - CalculatedVATAmountLCY);
    
    IF ("VAT Difference" = 0) AND ("VAT Difference (LCY)" <> 0) THEN
    VATDifferenceLCY := "VAT Difference (LCY)"
    ELSE
    IF "Currency Code" = '' THEN
    VATDifferenceLCY := "VAT Difference"
    ELSE
    VATDifferenceLCY :=
    ROUND(
    CurrExchRate.ExchangeAmtFCYToLCY(
    "Posting Date","Currency Code","VAT Difference",
    CurrExchRate.ExchangeRate("Posting Date","Currency Code")));
    END;
    END;
    
  4. Promenite kôd u funkciji OnRun u Sales-Post kodnoj jedinici (80) na sledeći način:
    Postojeći kôd

    ...
    GenJnlLine."VAT Difference" := InvPostingBuffer[1]."VAT Difference";
    GenJnlLine."VAT Posting" := GenJnlLine."VAT Posting"::"Manual VAT Entry";
    ...
    

    Kôd za zamenu

    ...
    GenJnlLine."VAT Difference" := InvPostingBuffer[1]."VAT Difference";
    
    // Add the following line. 
    GenJnlLine."VAT Difference (LCY)" := InvPostingBuffer[1]."VAT Difference (LCY)";
    // End of the added line.
    
    GenJnlLine."VAT Posting" := GenJnlLine."VAT Posting"::"Manual VAT Entry";
    ...
    
  5. Promenite kôd u funkciji OnRun u kodnoj jedinici Purch.-Post (90) na sledeći način:
    Postojeći kôd

    ...
    GenJnlLine."VAT Difference" := InvPostingBuffer[1]."VAT Difference";
    TransferNonDedVAT(GenJnlLine,InvPostingBuffer[1]);
    ...
    

    Kôd za zamenu

    ...
    GenJnlLine."VAT Difference" := InvPostingBuffer[1]."VAT Difference";
    
    // Add the following lines. 
    GenJnlLine."VAT Difference (LCY)" := InvPostingBuffer[1]."VAT Difference (LCY)";
    // End of the added line.
    
    TransferNonDedVAT(GenJnlLine,InvPostingBuffer[1]);
    ...
    

          

Preduslovi

Morate da imate instaliranu češku verziju programa Microsoft Dynamics NAV 2009 R2 da biste primenili ovu hitnu ispravku.

Informacije o uklanjanju

Ne možete da uklonite ovu hitnu ispravku.

Status

Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku „Odnosi se na“.

Napomena: Ovo je članak "BRZO OBJAVLJIVANJE" koji je kreiran direktno u okviru organizacije Microsoft podrške. Informacije koje se nalaze ovde pružaju se kakve jesu kao odgovor na nove probleme. Kao rezultat brzine stavljanja na raspolaganje, materijali mogu sadržavati tipografske greške i mogu se revidirati u bilo kom trenutku bez prethodne najave. Pogledajte Uslove korišćenja za druga razmatranja.