Brzo objavljeni članci pružaju informacije izravno iz Microsoftove službe za podršku. Informacije koje su sadržane u ovom dokumentu stvorene su kao odgovor na nove ili jedinstvene teme ili su namijenjene kao dopuna drugim informacijama iz baze znanja.
Microsoft Business Solutions-Navision 4.0 i Microsoft Navision 4.0 sada su dio sustava Microsoft Dynamics NAV 4.0. Sve reference na Microsoft Business Solutions-Navision ili Microsoft Navision 4.0 odnose se na Microsoft Dynamics NAV.
Ovaj se članak odnosi na regionalnu shemu sustava Microsoft Dynamics NAV za portugalski (pt).
Simptomi
Pretpostavimo da ste postavili vrijednost prenesene porezne obveze PDV-a , vrijednost PDV-a D. % i vrijednost PDV N.D.% u postavljanju knjiženja poreza na dodanu vrijednost (PDV) u portugalskoj verziji sustava Microsoft Dynamics NAV. Prilikom knjiženja ugovora o dobropisu za kupnju u kojem se koriste dimenzije prikazuje vam se sljedeća dosljedna poruka o pogrešci:
Napomena
Transakcija se ne može dovršiti jer bi to moglo dovesti do nedosljednosti u tablici G/L unosa.
Da biste pronašli razlog pogreške, provjerite gdje i kako se funkcija CONSISTENT koristi u transakciji.
Obratite se svojem administratoru sustava.
Tablice se mogu označiti kao nedosljedne tijekom sveobuhvatnih zadataka, kao što je knjiženje. Time se sprječava pogrešno ažuriranje podataka.
Taj se problem pojavljuje u sljedećim proizvodima:
- Portugalska verzija sustava Microsoft Dynamics NAV 2009 Service Pack 1
- Portugalska verzija sustava Microsoft Dynamics NAV 5.0 Service Pack 1
- Portugalska verzija sustava Microsoft Dynamics NAV 4.0 Service Pack 3
Rješenje
Informacije o hitnom popravku
Microsoft sada nudi podržani hitni popravak. No njegova je namjena samo ispravljanje problema opisanog u ovom članku. Primijenite ga samo na sustave koji imaju taj specifični problem. Ovaj hitni popravak može proći dodatna testiranja. Stoga, ako se ovaj problem ne odnosi ozbiljno, preporučujemo da pričekate sljedeći servisni paket za Microsoft Dynamics NAV ili sljedeću verziju sustava Microsoft Dynamics NAV koja sadrži ovaj hitni popravak.
Napomena: U posebnim slučajevima, ako stručnjak tehničke podrške za Microsoft Dynamics i povezane proizvode utvrdi da određeno ažuriranje može riješiti problem, poziv službi podrške može biti besplatan. Uobičajene cijene poziva službi za podršku primjenjuju se na dodatna pitanja i probleme koje nemaju veze s pripadnom nadopunom.
Informacije o instalaciji
Microsoft daje primjere programiranja samo za ilustraciju, bez jamstva, bilo izričitog ili prešutnog. To uključuje, bez ograničenja, implicitna jamstva utrživosti ili prikladnosti za određenu svrhu. U članku se podrazumijeva da ste upoznati s programskim jezikom koji se pokazuje te s alatima koji se koriste za stvaranje i ispravljanje pogrešaka procedura. Microsoftovi inženjeri za podršku mogu vam pomoći objasniti funkcionalnost određene procedure, no neće mijenjati te primjere radi pružanja dodatne funkcionalnosti ili konstruirati procedure koji zadovoljavaju vaše specifične zahtjeve.
Napomena Prije nego što instalirate ovaj hitni popravak, provjerite jesu li svi korisnici Microsoft Navision klijenta odjavljeni sa sustava. To obuhvaća korisnike klijentskih usluga Microsoft Navision Application Services (NAS). Trebali biste biti jedini klijentski korisnik prijavljen na vrijeme implementacije ovog hitnog popravka.
Da biste implementirali ovaj hitni popravak, morate imati licencu za razvojne inženjere.
Preporučujemo da se korisničkom računu u prozoru Prijave u sustav Windows ili u prozoru Prijave u bazu podataka dodijeli ID uloge "SUPER". Ako korisničkom računu nije moguće dodijeliti ID uloge "SUPER", morate provjeriti ima li korisnički račun sljedeće dozvole:
- Dozvola za izmjenu objekta koji ćete mijenjati.
- Dozvola za izvršavanje za objekt System Object ID 5210 i za objekt System Object ID 9015
Napomena: nemate pravo na spremišta podataka, osim ako morate popraviti podatke.
Promjene koda
Napomena: uvijek testirajte popravke koda u kontroliranom okruženju prije primjene popravaka na proizvodnim računalima.
Da biste primijenili ovaj hitni popravak, učinite sljedeće:
Promijenite kod globalnih varijabli u naredbi Gen. Jnl.-Post Line kodna jedinica (12) kako slijedi:
Postojeći kod... LastTempTransNo@1110089 : Integer; NextEntryNo2@1110152 : Integer; PROCEDURE GetGLReg@10(VAR NewGLReg@1000 : Record 45); ...Zamjenski kôd
... LastTempTransNo@1110089 : Integer; NextEntryNo2@1110152 : Integer; // Add the following line. TempVATAmount@1110024 : Decimal; // End of the added line. PROCEDURE GetGLReg@10(VAR NewGLReg@1000 : Record 45); ...Promijenite kod u funkciji InitVat u naredbi Gen. Jnl.-Post Line kodna jedinica (12) kako slijedi:
Postojeći kod 1PROCEDURE InitVat@33(); BEGIN WITH GenJnlLine DO ...Zamjenski kod 1
PROCEDURE InitVat@33(); // Add the following line. VAR TempVATDAmount@1110025 : Decimal; // End of the added line. BEGIN WITH GenJnlLine DO ...Postojeći kod 2
... //--PT---- GLEntry."VAT Amount" := ROUND(GLEntry.Amount * VATPostingSetup."VAT D. %" / 100); AddCurrGLEntryVATAmt := ROUND( ...Zamjenski kod 2
... //--PT---- GLEntry."VAT Amount" := ROUND(GLEntry.Amount * VATPostingSetup."VAT D. %" / 100); // Add the following lines. TempVATAmount := ROUND(GLEntry.Amount * VATPostingSetup."VAT %" / 100); TempVATDAmount := GLEntry."VAT Amount"; // End of the added lines. AddCurrGLEntryVATAmt := ROUND( ...Postojeći kod 3
... AddCurrency."Amount Rounding Precision"); // Delete the following lines. GLEntry.Amount := ROUND( GLEntry.Amount * (1 + VATPostingSetup."VAT N.D. %" / 100)); // End of the deleted lines. GLEntry."Additional-Currency Amount" := ROUND( ...Zamjenski kod 3
... AddCurrency."Amount Rounding Precision"); // Add the following lines. GLEntry.Amount := ROUND(GLEntry.Amount + TempVATAmount - TempVATDAmount); // End of the added lines. GLEntry."Additional-Currency Amount" := ROUND( ...Postojeći kod 4
... //--PT---- // Delete the following lines. IF VATPostingSetup."VAT %" <> 0 THEN BEGIN GLEntry.Amount := GLEntry.Amount + (GLEntry."VAT Amount" - ROUND(GLEntry."VAT Amount" * VATPostingSetup."VAT D. %" / VATPostingSetup."VAT %")) + "ND Difference"; // End of the deleted lines. // Delete the following lines. IF VATPostingSetup."VAT Calculation Type" = VATPostingSetup."VAT Calculation Type"::"Reverse Charge VAT" THEN BEGIN IF "ND Difference" > 0 THEN BEGIN IF VATPostingSetup."VAT D. %" > 0 THEN GLEntry."VAT Amount" := ROUND(GLEntry."VAT Amount" * VATPostingSetup."VAT D. %" / VATPostingSetup."VAT %") - "ND Difference" ELSE BEGIN GLEntry."VAT Amount" := ROUND(GLEntry."VAT Amount" * VATPostingSetup."VAT N.D. %" / VATPostingSetup."VAT %") - "ND Difference"; "UE Aquisition Not Accep." := TRUE; END; END ELSE BEGIN IF VATPostingSetup."VAT D. %" > 0 THEN GLEntry."VAT Amount" := ROUND(GLEntry."VAT Amount" * VATPostingSetup."VAT D. %" / VATPostingSetup."VAT %") ELSE BEGIN GLEntry."VAT Amount" := ROUND(GLEntry."VAT Amount" * VATPostingSetup."VAT N.D. %" / VATPostingSetup."VAT %"); "UE Aquisition Not Accep." := TRUE; END; END; // End of the deleted lines. END ELSE BEGIN IF "ND Difference" > 0 THEN ...Zamjenski kod 4
... // Add the following lines. TempVATAmount := GLEntry."VAT Amount"; IF VATPostingSetup."VAT %" <> 0 THEN BEGIN TempVATDAmount := ROUND(GLEntry."VAT Amount" * VATPostingSetup."VAT D. %" / VATPostingSetup."VAT %"); GLEntry.Amount := GLEntry.Amount + GLEntry."VAT Amount" - TempVATDAmount + "ND Difference"; IF VATPostingSetup."VAT Calculation Type" = VATPostingSetup."VAT Calculation Type"::"Reverse Charge VAT" THEN BEGIN IF VATPostingSetup."VAT D. %" > 0 THEN GLEntry."VAT Amount" := TempVATDAmount ELSE "UE Aquisition Not Accep." := TRUE; IF "ND Difference" > 0 THEN GLEntry."VAT Amount" := GLEntry."VAT Amount" - "ND Difference"; // End of the added lines. END ELSE BEGIN IF "ND Difference" > 0 THEN ...Postojeći kod 5
GLEntry."VAT Amount" := ROUND(GLEntry."VAT Amount" * VATPostingSetup."VAT D. %" / VATPostingSetup."VAT %") ELSE // Delete the following lines. GLEntry."VAT Amount" := GLEntry."VAT Amount" - ROUND(GLEntry."VAT Amount" * VATPostingSetup."VAT N.D. %" / VATPostingSetup."VAT %") + "VAT Difference"; // End of the deleted lines. END; END; ...Zamjenski kod 5
GLEntry."VAT Amount" := ROUND(GLEntry."VAT Amount" * VATPostingSetup."VAT D. %" / VATPostingSetup."VAT %") ELSE // Add the following line. GLEntry."VAT Amount" := TempVATDAmount + "VAT Difference"; // End of the added line. END; END; ...Promijenite kod u funkciji InsertVAT u Gen. Jnl.-Post Line kodna jedinica (12) kako slijedi:
Postojeći kod 1... VATPostingSetup."Return VAT account (Sales)", // -GLEntryVATAmount - VATBase * VATPostingSetup."VAT N.D. %" / 100, // Delete the following line. ROUND(-GLEntryVATAmount - VATBase * VATPostingSetup."VAT N.D. %" / 100), // End of the deleted line. // -SrcCurrGLEntryVATAmt - SrcCurrVATBase * VATPostingSetup."VAT N.D. %" / 100, ROUND(-SrcCurrGLEntryVATAmt - SrcCurrVATBase * VATPostingSetup."VAT N.D. %" / 100), ...Zamjenski kod 1
... VATPostingSetup."Return VAT account (Sales)", // -GLEntryVATAmount - VATBase * VATPostingSetup."VAT N.D. %" / 100, // Add the following line. -TempVATAmount, // End of the added line. // -SrcCurrGLEntryVATAmt - SrcCurrVATBase * VATPostingSetup."VAT N.D. %" / 100, ROUND(-SrcCurrGLEntryVATAmt - SrcCurrVATBase * VATPostingSetup."VAT N.D. %" / 100), ...Postojeći kod 2
... // -GLEntryVATAmount - VATBase * VATPostingSetup."VAT N.D. %" / 100, // ROUND(-GLEntryVATAmount - VATBase * VATPostingSetup."VAT N.D. %" / 100), // Delete the following line. ROUND((- VATBase * VATPostingSetup."VAT D. %" / 100) - (VATBase * VATPostingSetup."VAT N.D. %" / 100)), // End of the deleted line. // -SrcCurrGLEntryVATAmt - SrcCurrVATBase * VATPostingSetup."VAT N.D. %" / 100, ROUND(-SrcCurrGLEntryVATAmt - SrcCurrVATBase * VATPostingSetup."VAT N.D. %" / 100), ...Zamjenski kod 2
... // -GLEntryVATAmount - VATBase * VATPostingSetup."VAT N.D. %" / 100, // ROUND(-GLEntryVATAmount - VATBase * VATPostingSetup."VAT N.D. %" / 100), // Add the following line. -TempVATAmount, // End of the added line. // -SrcCurrGLEntryVATAmt - SrcCurrVATBase * VATPostingSetup."VAT N.D. %" / 100, ROUND(-SrcCurrGLEntryVATAmt - SrcCurrVATBase * VATPostingSetup."VAT N.D. %" / 100), ...
Preduvjeti
Da biste primijenili ovaj hitni popravak, morate imati instaliran neki od sljedećih proizvoda:
- Portugalska verzija sustava Microsoft Dynamics NAV 2009 Service Pack 1
- Portugalska verzija sustava Microsoft Dynamics NAV 5.0 Service Pack 1
- Portugalska verzija sustava Microsoft Dynamics NAV 4.0 Service Pack 3
Podaci o uklanjanju
Ovaj hitni popravak ne možete ukloniti.
Status
Microsoft je potvrdio da je to problem u Microsoftovim proizvodima koji su navedeni u odjeljku „Odnosi se na“.
MICROSOFT I/ILI NJEGOVI DOBAVLJAČI NE DAJU NIKAKVE IZJAVE NITI JAMSTVA U POGLEDU PRIKLADNOSTI, POUZDANOSTI ILI TOČNOSTI INFORMACIJA SADRŽANIH U DOKUMENTIMA I POVEZANOJ GRAFICI OBJAVLJENOJ NA OVOM WEB-MJESTU ("MATERIJALI") U BILO KOJU SVRHU.
MATERIJALI MOGU SADRŽAVATI TEHNIČKE NETOČNOSTI ILI TIPOGRAFSKE POGREŠKE I MOGU SE REVIDIRATI U BILO KOJEM TRENUTKU BEZ PRETHODNE OBAVIJESTI. U NAJVEĆOJ MJERI DOPUŠTENOJ MJERODAVNIM ZAKONOM, MICROSOFT I/ILI NJEGOVI DOBAVLJAČI ODRIČU SE I ISKLJUČUJU SVE IZJAVE, JAMSTVA I UVJETE, BILO IZRIČITE, IMPLICIRANE ILI ZAKONSKE, UKLJUČUJUĆI, ALI NE OGRANIČAVAJUĆI SE NA IZJAVE, JAMSTVA ILI UVJETE VLASNIŠTVA, NEPOVREDIVOSTI, ZADOVOLJAVAJUĆEG STANJA ILI KVALITETE, UTRŽIVOSTI I PRIKLADNOSTI ZA POSEBNU SVRHU U VEZI S MATERIJALIMA.