Schnell veröffentlichte Artikel enthalten Informationen direkt aus der Microsoft Support Organization. Die hierin enthaltenen Informationen wurden als Reaktion auf aktuelle oder eindeutige Themen erstellt oder sollen andere Informationen der Knowledge Base ergänzen.
Dieser Artikel gilt für Microsoft Dynamics NAV für alle Länder und Gebietsschemas.
Symptome
Stellen Sie sich das folgende Szenario in Microsoft Dynamics NAV 2009 mit Service Pack 1 (SP1) vor. Sie führen die Funktion "Rücksendebelegzeilen abrufen" in einer Gutschrift aus, um gebuchte Belegzeilen abzurufen. Anschließend buchen Sie die Gutschrift, um die Belegzeilen zu stornieren. Als Nächstes zeigen Sie das Statistikformular Verkaufsgutschrift aus der gebuchten Gutschrift an. In diesem Szenario beträgt der Mehrwertsteuerbetrag unerwartet Null.
Dieses Problem tritt immer dann auf, wenn Sie die Artikelverfolgung verwenden oder nicht.
Lösung
Hotfixinformationen
Ein Hotfix zur Behebung des Problems ist jetzt von Microsoft erhältlich. Es ist jedoch nur zur Behebung des in diesem Artikel beschriebenen Problems vorgesehen. Wenden Sie sie nur auf Systeme an, bei denen dieses spezifische Problem auftritt. Der Hotfix wird unter Umständen zu einem späteren Zeitpunkt weiteren Tests unterzogen. Wenn Ihr System durch dieses Problem nicht schwerwiegend beeinträchtigt ist, empfehlen wir, auf das nächste Microsoft Dynamics NAV Service Pack oder die nächste Version zu warten, die diesen Hotfix enthält.
Hinweis: In besonderen Fällen werden Gebühren, die normalerweise für Supportanrufe anfallen, storniert, wenn ein Mitarbeiter des technischen Supports für Microsoft Dynamics und verwandte Produkte feststellt, dass das Problem durch ein bestimmtes Update behoben wird. PLEASE DO NOT TRANSLATE. DOES NOT APPLY TO GERMAN.
Informationen zur Installation
Microsoft stellt Programmierbeispiele nur zur Veranschaulichung zur Verfügung, ohne ausdrückliche oder stillschweigende Garantie. Dies schließt die stillschweigende Gewährleistung der Marktgängigkeit oder der Eignung für einen bestimmten Zweck ein, ist aber nicht darauf beschränkt. In diesem Artikel wird davon ausgegangen, dass Sie mit der vorgestellten Programmiersprache und den Werkzeugen zum Erstellen und Debuggen von Prozeduren vertraut sind. Die Microsoft Support-Spezialisten können bei der Erläuterung der Funktionalität bestimmter Prozeduren helfen, jedoch werden sie diese Beispiele nicht in Bezug auf eine erweiterte Funktionalität verändern, noch werden sie Prozeduren entwickeln, die auf Ihre besonderen Bedürfnisse zugeschnitten sind.
Hinweis: Bevor Sie diesen Hotfix installieren, stellen Sie sicher, dass alle Microsoft Navision-Clientbenutzer vom System abgemeldet sind. Dazu gehören NAS-Clientbenutzer (Microsoft Navision Application Services). Sie sollten der einzige Clientbenutzer sein, der angemeldet ist, wenn Sie diesen Hotfix implementieren.
Um diesen Hotfix implementieren zu können, müssen Sie über eine Entwicklerlizenz verfügen.
Es wird empfohlen, dem Benutzerkonto im Fenster "Windows-Anmeldungen" oder im Fenster "Datenbankanmeldungen" 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 Berechtigung "Ändern" für das Objekt, das Sie ändern möchten.
- Die Ausführungsberechtigung für das Objekt mit der Systemobjekt-ID 5210 und das Objekt mit der Systemobjekt-ID 9015.
Hinweis: Sie müssen keine Rechte für die Datenspeicher haben, es sei denn, Sie müssen eine Datenreparatur durchführen.
Codeänderungen
Hinweis Testen Sie Codefixes stets in einer kontrollierten Umgebung, bevor Sie sie auf Ihre Produktionscomputer anwenden.
Um diesen Hotfix zu installieren, ändern Sie den Code in der Tabelle Verkaufszeile (37) und in der Tabelle Einkaufszeile (39).
Führen Sie hierzu die folgenden Schritte aus:
Ändern Sie den Code im CalcVATAmountLines-Trigger in der Sales Line-Tabelle (37) wie folgt:
Vorhandener Code.... ("Document Type" IN ["Document Type"::"Return Order","Document Type"::"Credit Memo"]) AND (NOT SalesHeader.Receive) AND SalesHeader.Invoice: BEGIN QtyToHandle := GetAbsMin("Qty. to Invoice","Return Qty. Rcd. Not Invd."); VATAmountLine.Quantity := VATAmountLine.Quantity + GetAbsMin("Qty. to Invoice (Base)","Ret. Qty. Rcd. Not Invd.(Base)"); END; ELSE BEGIN QtyToHandle := "Qty. to Invoice"; ....Ersatzcode
.... ("Document Type" IN ["Document Type"::"Return Order","Document Type"::"Credit Memo"]) AND (NOT SalesHeader.Receive) AND SalesHeader.Invoice: BEGIN IF "Return Receipt No." = '' THEN BEGIN // Add this line. QtyToHandle := GetAbsMin("Qty. to Invoice","Return Qty. Rcd. Not Invd."); VATAmountLine.Quantity := VATAmountLine.Quantity + GetAbsMin("Qty. to Invoice (Base)","Ret. Qty. Rcd. Not Invd.(Base)"); // Add the following lines. END ELSE BEGIN QtyToHandle := "Qty. to Invoice"; VATAmountLine.Quantity := VATAmountLine.Quantity + "Qty. to Invoice (Base)"; END; // The end of the new lines. END; ELSE BEGIN QtyToHandle := "Qty. to Invoice"; ....Ändern Sie den Code im CalcVATAmountLines-Trigger in der Einkaufszeilentabelle (39) wie folgt:
Vorhandener Code.... ("Document Type" IN ["Document Type"::"Return Order","Document Type"::"Credit Memo"]) AND (NOT PurchHeader.Ship) AND PurchHeader.Invoice: BEGIN QtyToHandle := GetAbsMin("Qty. to Invoice","Return Qty. Shipped Not Invd."); VATAmountLine.Quantity := VATAmountLine.Quantity + GetAbsMin("Qty. to Invoice (Base)","Ret. Qty. Shpd Not Invd.(Base)"); END; ELSE BEGIN QtyToHandle := "Qty. to Invoice"; ....Ersatzcode
.... ("Document Type" IN ["Document Type"::"Return Order","Document Type"::"Credit Memo"]) AND (NOT PurchHeader.Ship) AND PurchHeader.Invoice: BEGIN IF "Return Shipment No." = '' THEN BEGIN // Add this line. QtyToHandle := GetAbsMin("Qty. to Invoice","Return Qty. Shipped Not Invd."); VATAmountLine.Quantity := VATAmountLine.Quantity + GetAbsMin("Qty. to Invoice (Base)","Ret. Qty. Shpd Not Invd.(Base)"); // Add the following lines. END ELSE BEGIN QtyToHandle := "Qty. to Invoice"; VATAmountLine.Quantity := VATAmountLine.Quantity + "Qty. to Invoice (Base)"; END; // The end of the new lines. END; ELSE BEGIN QtyToHandle := "Qty. to Invoice"; ....
Voraussetzungen
Microsoft Dynamics NAV 2009 SP1 muss installiert sein, damit Sie diesen Hotfix anwenden können.
Informationen zur Deinstallation
Nach der Installation kann dieser Hotfix nicht mehr entfernt werden.
Status
Microsoft hat bestätigt, dass dies ein Problem bei den Microsoft-Produkten ist, die im Abschnitt „Gilt für“ aufgeführt sind.
MICROSOFT BZW. IHRE LIEFERANTEN GEBEN ZU KEINEM ZWECK IRGENDWELCHE ZUSICHERUNGEN ODER GARANTIEN HINSICHTLICH EIGNUNG, ZUVERLÄSSIGKEIT ODER RICHTIGKEIT DER ANGABEN IN DEN DOKUMENTEN UND ZUGEHÖRIGEN GRAFIKEN, DIE AUF DER WEBSITE VERÖFFENTLICHT SIND ("MATERIALIEN") .
DIE MATERIALIEN ENTHALTEN MÖGLICHERWEISE UNGENAUE ANGABEN ODER TYPOGRAFISCHE FEHLER UND KÖNNEN JEDERZEIT OHNE ANKÜNDIGUNG GEÄNDERT WERDEN. IM GRÖSSTMÖGLICHEN DURCH DAS ANWENDBARE RECHT GESTATTETEN UMFANG SCHLIESSEN MICROSOFT UND/ODER IHRE LIEFERANTEN IM HINBLICK AUF DIE MATERIALIEN JEDE ZUSICHERUNG, GARANTIE UND GEWÄHRLEISTUNG AUS, SEI SIE AUSDRÜCKLICH, KONKLUDENT ODER GESETZLICH GEREGELT. DIES GILT UNTER ANDEREM AUCH FÜR ZUSICHERUNGEN, GARANTIEN UND GEWÄHRLEISTUNGEN IN BEZUG AUF DIE NICHTVERLETZUNG VON RECHTEN DRITTER, EINEN ZUFRIEDEN STELLENDEN ZUSTAND ODER EINE BESTIMMTE QUALITÄT, DIE HANDELSÜBLICHKEIT UND DIE EIGNUNG FÜR EINEN BESTIMMTEN ZWECK.