DAUERHAFTER Fehler beim Buchen von Rechnungen und Zahlungen aus dem Journal in der portugiesischen Version von Microsoft Dynamics NAV 2009
Wenn Sie eine Rechnung und eine Zahlung aus einem normalen Journal oder wiederkehrenden Journal buchen, das abzugsfähige Mehrwertsteuer (MwSt.) oder nicht abzugsfähige Mehrwertsteuer in der portugiesischen Version von Microsoft Dynamics NAV 2009 enthält, erhalten Sie die folgende Fehlermeldung:
„Die Transaktion kann nicht abgeschlossen werden, da dies zu Inkonsistenzen in der Hauptbucheintragstabelle führt. Überprüfen Sie, wo und wie die CONSISTENT-Funktion in der Transaktion verwendet wird, um die Ursache für den Fehler zu finden. Wenden Sie sich an Ihren Systemadministrator. Tabellen können als inkonsistent markiert werden bei umfangreichen Aufgaben, wie z.B. Buchungen. Dadurch wird verhindert, dass Daten fehlerhaft aktualisiert werden."
Befolgen Sie die Schritte im Abschnitt „Codeänderungen", um dieses Problem zu beheben. Dieses Problem tritt bei folgendem Produkt auf:
Die portugiesische Version von Microsoft Dynamics NAV 2009 R2
Die portugiesische Version von Microsoft Dynamics NAV 2009 SP1
Dies liegt an den spezifischen Beträgen und der Mehrwertsteuer D. %.
Zum Beispiel:
1, 15 % von 0, 25 = 0,002875 und auf 2 Dezimalstellen gerundet ist 0.
In Codeunit 12 gibt es eine Einschränkung, nur Beträge <> 0 zu buchen, sodass die Mehrwertsteuereinträge (MwSt.) übersprungen werden.
Auflösung
Hotfix-Informationen
Ein unterstützter Hotfix ist jetzt von Microsoft verfügbar. Es dient jedoch lediglich der Behebung des in diesem Artikel beschriebenen Problems. Wenden Sie es nur auf Systeme an, bei denen dieses spezielle Problem auftritt. Dieser Hotfix wird möglicherweise weiteren Tests unterzogen. Wenn Sie von diesem Problem nicht schwerwiegend betroffen sind, empfehlen wir Ihnen daher, auf das nächste Microsoft Dynamics NAV 2009 Service Pack oder die nächste Microsoft Dynamics NAV-Version zu warten, die diesen Hotfix enthält.
Hinweis: In besonderen Fällen können die Gebühren, die normalerweise für Supportanrufe anfallen, storniert werden, wenn ein Mitarbeiter des technischen Supports für Microsoft Dynamics und verwandte Produkte feststellt, dass ein bestimmtes Update Ihr Problem lösen wird. Für zusätzliche Supportfragen und Probleme, die für das jeweilige Update nicht in Frage kommen, fallen die üblichen Supportkosten an.
Installationsinformationen
Microsoft stellt Programmierbeispiele nur zur Veranschaulichung zur Verfügung, ohne ausdrückliche oder stillschweigende Gewährleistung. Dazu gehören unter anderem stillschweigende Garantien der Marktgängigkeit oder Eignung für einen bestimmten Zweck. In diesem Artikel wird davon ausgegangen, dass Sie mit der demonstrierten Programmiersprache und den Tools vertraut sind, die zum Erstellen und Debuggen von Prozeduren verwendet werden. Microsoft-Supporttechniker können dabei helfen, die Funktionalität eines bestimmten Verfahrens zu erläutern. Sie werden diese Beispiele jedoch nicht ändern, um zusätzliche Funktionalität bereitzustellen oder Prozeduren zu erstellen, die Ihren spezifischen Anforderungen entsprechen.
Hinweis Bevor Sie diesen Hotfix installieren, stellen Sie sicher, dass alle Benutzer des Microsoft Dynamics NAV-Clients vom System abgemeldet sind. Dazu gehören Microsoft Dynamics NAV Application Server (NAS)-Dienste. Sie sollten der einzige Clientbenutzer sein, der angemeldet ist, wenn Sie diesen Hotfix implementieren.
Um diesen Hotfix zu implementieren, benötigen Sie eine Entwicklerlizenz.
Wir empfehlen, dem Benutzerkonto im Fenster „Windows-Anmeldungen" oder im Fenster „Datenbank-Anmeldungen" die Rollen-ID „SUPER" zuzuweisen. Wenn dem Benutzerkonto nicht die Rollen-ID „SUPER" zugewiesen werden kann, müssen Sie überprüfen, ob das Benutzerkonto über die folgenden Berechtigungen verfügt:
Die Änderungsberechtigung für das Objekt, das Sie ändern möchten.
Die Ausführungsberechtigung für das Systemobjekt-ID-5210-Objekt und für das Systemobjekt-ID-9015-Objekt
Objekt.
Hinweis Sie müssen keine Rechte an den Datenspeichern haben, es sei denn, Sie müssen eine Datenreparatur durchführen.
Codeänderungen
Hinweis: Testen Sie Codekorrekturen immer in einer kontrollierten Umgebung, bevor Sie die Korrekturen auf Ihren Produktionscomputern anwenden. Bevor Sie die Änderung anwenden, importieren Sie bitte alle SEPA-Updates.
Um dieses Problem zu beheben, führen Sie die folgenden Schritte aus:
Ändern Sie den Code in der InsertVAT-Funktion in der Gen. Jnl.-Post Line Codeunit (12) wie folgt:
Vorhandener Code 1...
VATDifferenceLCY@1013 : Dezimal;
SrcCurrVATDifference@1014 : Dezimal;
BEGINNEN
MIT GenJnlLine BEGINNEN
...Ersatzcode 1
...
VATDifferenceLCY@1013 : Dezimal;
SrcCurrVATDifference@1014 : Dezimal;
// Fügen Sie die folgende Zeile hinzu.
VATAmountTotal@1015 : Dezimal;
// Ende der hinzugefügten Zeile.
BEGINNEN
MIT GenJnlLine BEGINNEN
...Vorhandener Code 2
...
GLEntryVATAmount,SrcCurrGLEntryVATAamt,TRUE,TRUE);
InsertGLEntry(TRUE);
// Folgende Zeilen löschen.
VATPostingSetup.TESTFIELD("MwSt-Konto zurückerstatten (Verkäufe)");
InitGLEntry(
VATPostingSetup."MwSt.-Rückgabekonto (Verkäufe)",
// -GLEntryVATAmount - VATBase * VATPostingSetup."VAT ND %" / 100,
-TempVATAmount,
// -SrcCurrGLEntryVATAmt - SrcCurrVATBase * VATPostingSetup."VAT ND %" / 100,
ROUND(-SrcCurrGLEntryVATAmt - SrcCurrVATBase * VATPostingSetup."VAT ND %" / 100),
WAHR, WAHR);
InsertGLEntry(TRUE);
// Ende der gelöschten Zeilen.
ENDE
ANDERS
...Ersatzcode 2
...
GLEntryVATAmount,SrcCurrGLEntryVATAamt,TRUE,TRUE);
InsertGLEntry(TRUE);
ENDE
ANDERS
...Vorhandener Code 3
...
ENDE
ANDERS
// Folgende Zeilen löschen.
BEGINNEN
WENN NICHT GenJnlLine. „UE-Akquisition nicht akzeptiert." DANN BEGINNEN
VATPostingSetup.TESTFIELD("Mehrwertsteuerkonto kaufen");
InitGLEntry(
VATPostingSetup. „Mehrwertsteuerkonto kaufen",
GLEntryVATAmount,SrcCurrGLEntryVATAamt,TRUE,TRUE);
InsertGLEntry(TRUE);
ENDE;
//--------
VATPostingSetup.TESTFIELD("Reverse Chrg. VAT Acc.");
InitGLEntry(
VATPostingSetup."Reverse Chrg. VAT Acc.",
// -GLEntryVATAmount - VATBase * VATPostingSetup."VAT ND %" / 100,
// ROUND(-GLEntryVATAmount - VATBase * VATPostingSetup."VAT ND %" / 100),
ROUND((- VATBase * VATPostingSetup."VAT D. %" / 100) - (VATBase * VATPostingSetup."VAT ND %" / 100)),
// -SrcCurrGLEntryVATAmt - SrcCurrVATBase * VATPostingSetup."VAT ND %" / 100,
ROUND(-SrcCurrGLEntryVATAmt - SrcCurrVATBase * VATPostingSetup."VAT ND %" / 100),
WAHR, WAHR);
// Ende der gelöschten Zeilen.
InsertGLEntry(TRUE);
ENDE;
...Ersatzcode 3
...
ENDE
ANDERS
// Fügen Sie die folgenden Zeilen hinzu.
WENN NICHT GenJnlLine. „UE-Akquisition nicht akzeptiert." DANN BEGINNEN
VATPostingSetup.TESTFIELD("Mehrwertsteuerkonto kaufen");
InitGLEntry(
VATPostingSetup. „Mehrwertsteuerkonto kaufen",
GLEntryVATAmount,SrcCurrGLEntryVATAamt,TRUE,TRUE);
// Ende der hinzugefügten Zeilen.
InsertGLEntry(TRUE);
ENDE;
...Vorhandener Code 4
...
ENDE;
ENDE;
ENDE;
ENDE;
...Ersatzcode 4
...
ENDE;
ENDE;
// Fügen Sie die folgenden Zeilen hinzu.
WENN „PurchaseReverseChargeVAT(UnrealizedVAT)" ist, DANN
WENN „Dokumenttyp"= „Dokumenttyp"::„Gutschrift" DANN BEGINNEN
WENN (NICHT GenJnlLine."UE Aquisition Not Accep.") UND (TempVATAmount <> 0) DANN BEGINNEN
VATPostingSetup.TESTFIELD("MwSt-Konto zurückerstatten (Verkäufe)");
InitGLEntry(
VATPostingSetup."MwSt.-Rückgabekonto (Verkäufe)",
-TempVATAmount,
ROUND(-SrcCurrGLEntryVATAmt - SrcCurrVATBase * VATPostingSetup."VAT ND %" / 100),
WAHR, WAHR);
InsertGLEntry(TRUE);
ENDE;
ENDE SONST BEGINNEN
VATAmountTotal
:= ROUND((- VATBase * VATPostingSetup."VAT D. %" / 100) - (VATBase * VATPostingSetup."VAT ND %" / 100));
WENN VATAmountTotal <> 0, DANN BEGINNEN
VATPostingSetup.TESTFIELD("Reverse Chrg. VAT Acc.");
InitGLEntry(
VATPostingSetup."Reverse Chrg. VAT Acc.",VATAmountTotal,
ROUND(-SrcCurrGLEntryVATAmt - SrcCurrVATBase * VATPostingSetup."VAT ND %" / 100),
WAHR, WAHR);
InsertGLEntry(TRUE);
ENDE;
ENDE;
// Ende der hinzugefügten Zeilen.
ENDE;
ENDE;
...Ändern Sie den Code in der Funktion IsPurchaseReverseChargeVAT in der Gen. Jnl.-Post Line Codeunit (12) wie folgt:
Vorhandener Code...
ENDE;
BEGINNEN
ENDE.
...Ersatzcode
...
ENDE;
// Fügen Sie die folgenden Zeilen hinzu.
LOKALE VERFAHREN IsPurchaseReverseChargeVAT@1110015(UnrealizedVAT@1110000 : Boolean) : Boolean;
BEGINNEN
AUSFAHRT(
(GenJnlLine."Gen. Posting Type" = GenJnlLine."Gen. Posting Type"::Purchase) AND (NOT UnrealizedVAT) AND
(VATPostingSetup."VAT Calculation Type" = VATPostingSetup."VAT Calculation Type"::"Reverse Charge VAT" ));
ENDE;
// Ende der hinzugefügten Zeilen.
BEGINNEN
ENDE.
...
Voraussetzungen
Um diesen Hotfix anwenden zu können, muss eines der folgenden Produkte installiert sein:
Die portugiesische Version von Microsoft Dynamics NAV 2009 R2
Die portugiesische Version von Microsoft Dynamics NAV 2009 SP1
Informationen zum Entfernen
Sie können diesen Hotfix nicht entfernen.
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt „Gilt für" aufgeführt sind.
Hinweis Dies ist ein „FAST PUBLISH"-Artikel, der direkt von der Microsoft-Supportorganisation erstellt wurde. Die hierin enthaltenen Informationen werden unverändert als Reaktion auf neu auftretende Probleme bereitgestellt. Aufgrund der schnellen Bereitstellung können die Materialien Tippfehler enthalten und jederzeit ohne Vorankündigung überarbeitet werden. Weitere Hinweise finden Sie in den Nutzungsbedingungen .
No comments:
Post a Comment