Symptomer
Når du installerer KB2694168 i den italienske versjonen av Microsoft Dynamics NAV 2009, genereres uriktige oppføringer Hvis du bruker en kreditnota mot en salgsfaktura og urealisert mva. er involvert. Følg trinnene i delen kodeendringer for å løse dette problemet. Dette problemet oppstår i følgende produkter:
-
Den italienske versjonen av Microsoft Dynamics NAV 2009 R2
-
Den italienske versjonen av Microsoft Dynamics NAV 2009 SP1
Oppløsning
Informasjon om hurtigreparasjon
En støttet hurtigreparasjon er nå tilgjengelig fra Microsoft. Det er imidlertid bare ment å løse problemet som er beskrevet i denne artikkelen. Bruk den bare på systemer som har dette bestemte problemet. Denne hurtigreparasjonen kan gjennomgå ytterligere testing. Hvis du ikke er alvorlig påvirket av dette problemet, anbefaler vi derfor at du venter på neste oppdateringspakke for Microsoft Dynamics NAV 2009 eller den neste versjonen av Microsoft Dynamics NAV som inneholder denne hurtigreparasjonen.
Obs! I spesielle tilfeller avgifter som vanligvis påløper for støtte samtaler kan avbrytes hvis en kundestøttemedarbeider for Microsoft Dynamics og beslektede produkter avgjør at en bestemt oppdatering løser problemet. Vanlige kundestøttekostnader gjelder for ytterligere kundestøttespørsmål og problemer som ikke dekkes av den gjeldende oppdateringen.Installasjonsinformasjon
Microsoft bruker ment som eksempler, uten garanti, verken direkte eller indirekte. Dette inkluderer, men er ikke begrenset til, eventuelle stilltiende garantier om salgbarhet eller anvendelighet for særskilte formål. Denne artikkelen forutsetter at du er kjent med programmeringsspråket som anvendes, og verktøyene som brukes til å opprette og feilsøke prosedyrer. Microsofts kundestøtteteknikere kan hjelpe deg med å forklare funksjonaliteten til en bestemt prosedyre. De endrer imidlertid ikke disse eksemplene for å lage forbedret funksjonalitet eller lage prosedyrer som dekker dine spesifikke behov.
Obs! Før du installerer denne hurtigreparasjonen, må du kontrollere at alle brukerne i Microsoft Dynamics NAV-klienten er logget av systemet. Dette inkluderer tjenester for Microsoft Dynamics NAV Application Server (NAS). Du skal bare klient-brukeren som er logget på når du implementerer denne hurtigreparasjonen. Hvis du vil implementere denne hurtigreparasjonen, må du ha en utviklerlisens. Vi anbefaler at kontoen i vinduet Windows-pålogging eller i vinduet Database-pålogging være tildelt "SUPER" rolle-ID. Hvis brukerkontoen ikke kan tilordnes "SUPER" rolle-IDen, må du kontrollere at brukerkontoen har følgende tillatelser:-
Endre-tillatelse for objektet du vil endre.
-
Tilgangsnivået for systemet objekt-IDen til 5210 objektet og systemet objekt-ID-9015
-objektet.
Obs! Du har ikke tilgangsrettigheter til datalagre med mindre du har til å utføre data reparasjon.
Kodeendringer
Obs! Alltid løser teste koden i et kontrollert miljø før du installerer hurtigreparasjoner til produksjonsdatamaskiner for.
Hvis du vil løse dette problemet, gjør du følgende:-
Endre koden i GetUnRealizedVATPart -funksjonen i tabellen Mva-post (254) som følger:
Eksisterende kode...ELSE BEGIN
IF (DocType = DocType::"Credit Memo") THEN BEGIN IF (-TotalPayments + ("Remaining Unrealized Amount" + "Remaining Unrealized Base")) <= 0 THEN EXIT(1) END ELSE BEGIN // Delete the following lines. IF (-TotalPayments + ("Remaining Unrealized Amount" + "Remaining Unrealized Base")) < 0 THEN EXIT(CalcVatPart(GetCurrencyCode(), 1.0, TotalPayments, ("Remaining Unrealized Amount" + "Remaining Unrealized Base"))) // End of the deleted lines. ELSE EXIT(1) END; END; END; ...Ny kode
...ELSE BEGIN
IF (DocType = DocType::"Credit Memo") THEN BEGIN IF (-TotalPayments + ("Remaining Unrealized Amount" + "Remaining Unrealized Base")) <= 0 THEN EXIT(1) END ELSE BEGIN // Add the following lines. IF (-TotalPayments - ABS("Remaining Unrealized Amount" + "Remaining Unrealized Base")) < 0 THEN EXIT(CalcVatPart(GetCurrencyCode(), 1.0, ABS(TotalPayments), ABS("Remaining Unrealized Amount" + "Remaining Unrealized Base"))) // End of the added lines. ELSE EXIT(1) END; END; END; ... -
Endre koden i InsertVAT -funksjonen i kodeenhet (12) som følger:
Eksisterende kode...IF UnrealizedVAT THEN BEGIN
VATPostingSetup.TESTFIELD("Sales VAT Unreal. Account"); InitGLEntry( VATPostingSetup."Sales VAT Unreal. Account", GLEntryVATAmount,SrcCurrGLEntryVATAmt,TRUE,TRUE); // VSTF298177.begin IF GLEntry."Document Type" = GLEntry."Document Type"::"Credit Memo" THEN UnrealizedVATPosted := TRUE; // VSTF298177.end END ELSE BEGIN VATPostingSetup.TESTFIELD("Sales VAT Account"); InitGLEntry( VATPostingSetup."Sales VAT Account", GLEntryVATAmount,SrcCurrGLEntryVATAmt,TRUE,TRUE); ...Ny kode
...IF UnrealizedVAT THEN BEGIN
VATPostingSetup.TESTFIELD("Sales VAT Unreal. Account"); InitGLEntry( VATPostingSetup."Sales VAT Unreal. Account", GLEntryVATAmount,SrcCurrGLEntryVATAmt,TRUE,TRUE); // Delete the following lines. // VSTF298177.begin IF GLEntry."Document Type" = GLEntry."Document Type"::"Credit Memo" THEN UnrealizedVATPosted := TRUE; // VSTF298177.end // End of the deleted lines. END ELSE BEGIN VATPostingSetup.TESTFIELD("Sales VAT Account"); InitGLEntry( VATPostingSetup."Sales VAT Account", GLEntryVATAmount,SrcCurrGLEntryVATAmt,TRUE,TRUE); ... -
Endre koden i CustUnrealizedVAT -funksjonen i kodeenhet (12) som følger:
Eksisterende kode 1...ROUND(
VATEntry2."Add.-Curr. Rem. Unreal. Base" * VATPart, AddCurrency."Amount Rounding Precision"); END; // Delete the following lines. TotalPayments := TotalPayments - (VATEntry2."Remaining Unrealized Amount" + VATEntry2."Remaining Unrealized Base"); IF VATAmount <> 0 THEN BEGIN // IT0028 // VSTF298177.begin IF NOT UnrealizedVATPosted THEN BEGIN // End of the deleted lines. InitGLEntry(SalesVATUnrealAccount,-VATAmount,0,FALSE,TRUE); GLEntry."Additional-Currency Amount" := -VATAmountAddCurr; GLEntry."Bal. Account No." := SalesVATAccount; SummarizeVAT( GLSetup."Summarize G/L Entries",GLEntry,TempGLEntryVAT,InsertedTempGLEntryVAT); ...Ny kode 1
...ROUND(
VATEntry2."Add.-Curr. Rem. Unreal. Base" * VATPart, AddCurrency."Amount Rounding Precision"); END; // Add the following lines. IF TotalPayments + ABS(VATEntry2."Remaining Unrealized Amount" + VATEntry2."Remaining Unrealized Base") < 0 THEN TotalPayments := TotalPayments - (VATEntry2."Remaining Unrealized Amount" + VATEntry2."Remaining Unrealized Base"); IF VATAmount <> 0 THEN BEGIN // IT0028 // End of the added lines. InitGLEntry(SalesVATUnrealAccount,-VATAmount,0,FALSE,TRUE); GLEntry."Additional-Currency Amount" := -VATAmountAddCurr; GLEntry."Bal. Account No." := SalesVATAccount; SummarizeVAT( GLSetup."Summarize G/L Entries",GLEntry,TempGLEntryVAT,InsertedTempGLEntryVAT); ...Eksisterende kode 2
...InitGLEntry(SalesVATUnrealAccount,-VATAmount,0,FALSE,TRUE);
GLEntry."Additional-Currency Amount" := -VATAmountAddCurr; GLEntry."Bal. Account No." := SalesVATAccount; SummarizeVAT( GLSetup."Summarize G/L Entries",GLEntry,TempGLEntryVAT,InsertedTempGLEntryVAT); END; // VSTF298177.end InitGLEntry(SalesVATAccount,VATAmount,0,FALSE,TRUE); GLEntry."Additional-Currency Amount" := VATAmountAddCurr; GLEntry."Bal. Account No." := SalesVATUnrealAccount; GLEntry."Gen. Posting Type" := VATEntry2.Type; ...Ny kode 2
...InitGLEntry(SalesVATUnrealAccount,-VATAmount,0,FALSE,TRUE);
GLEntry."Additional-Currency Amount" := -VATAmountAddCurr; GLEntry."Bal. Account No." := SalesVATAccount; SummarizeVAT( GLSetup."Summarize G/L Entries",GLEntry,TempGLEntryVAT,InsertedTempGLEntryVAT); // Delete the following lines. END; // VSTF298177.end // End of the deleted lines. InitGLEntry(SalesVATAccount,VATAmount,0,FALSE,TRUE); GLEntry."Additional-Currency Amount" := VATAmountAddCurr; GLEntry."Bal. Account No." := SalesVATUnrealAccount; GLEntry."Gen. Posting Type" := VATEntry2.Type; ...
Forutsetninger
Du må ha én av de følgende programmene installert for å bruke denne hurtigreparasjonen:
-
Den italienske versjonen av Microsoft Dynamics NAV 2009 R2
-
Den italienske versjonen av Microsoft Dynamics NAV 2009 SP1
I tillegg må du ha installert KB2694168 .
Informasjon om fjerning
Du kan ikke fjerne denne hurtigreparasjonen.
Status
Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".
Obs! Dette er en "RASKT PUBLISERE" artikkel opprettet direkte fra innenfor organisasjonen Microsoft Kundestøtte. Informasjonen i dette dokumentet tilbys som-er som svar på nye problemer. Som et resultat av hastigheten i å gjøre den tilgjengelig materialene kan inkludere typografiske feil, og den kunne bli revidert når som helst uten varsel. Se Vilkårene for Brukfor andre hensyn.