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:
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 ...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 ...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;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"; ...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.