Betrag inkl. MwSt.-Wert ist ungültig in einer Textzeile bis-Summe einer gebuchten Rechnung, die eine Summe Typ und einem bis-Summe Typ Linie in der Schweizer Version von Microsoft Dynamics NAV 2009


Dieser Artikel bezieht sich auf Microsoft Dynamics NAV für die folgenden Länder und Gebietsschemas.
  • Französisch (Schweiz) (fr-ch)
  • Deutsch (Schweiz) (de-ch)
  • Italienisch (Schweiz) (It-ch)

Problembeschreibung


Nachdem Sie eine Rechnung, die eine Summe Typ und einem Bis-Summe Typ Linie in der Schweizer Version von Microsoft Dynamics NAV 2009 verfügt buchen, ist der Betrag inklusive MwSt. -Wert in der Zeile der Art Bis-Summe der gebuchten Rechnung falsch.
Dieses Problem tritt in den folgenden Produkten auf:
  • Die Schweizer Version von Microsoft Dynamics NAV 2009 R2
  • Die Schweizer Version von Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)

Problemlösung


Hotfix-Informationen

Ein unterstützter Hotfix ist inzwischen von Microsoft erhältlich. Allerdings ist es lediglich zur Behebung dieses Problems. Wenden Sie es nur auf Systeme an, bei denen dieses spezielle Problem auftritt. Dieser Hotfix wird möglicherweise noch getestet. Wenn Ihr System durch dieses Problem nicht schwerwiegend beeinträchtigt ist, empfehlen wir, dass Sie warten auf das nächste Servicepack für Microsoft Dynamics NAV oder die nächste Microsoft Dynamics NAV-Version, die diesen Hotfix enthält.

Hinweis In besonderen Fällen bestimmt Gebühren fallen normalerweise Support aufrufen Wenn Experte Support für Microsoft Dynamics und zugehörige Produkte storniert werden können, dass ein bestimmtes Update Ihr Problem behebt. Die normalen Supportkosten gilt für zusätzliche Supportfragen und Probleme, die nicht für das betreffende Update qualifizieren.


Informationen zur Installation

Microsoft bietet Programmierbeispiele lediglich zur Veranschaulichung, ohne ausdrückliche oder konkludente Gewährleistung. Dies beinhaltet, ist jedoch nicht beschränkt auf, konkludente Gewährleistungen der Tauglichkeit oder Eignung für einen bestimmten Zweck. Dieser Artikel setzt voraus, dass Sie mit der von Beispielen verwendeten Programmiersprache und den Tools, die zum Erstellen und Debuggen von Prozeduren verwendet werden, vertraut sind. Microsoft-Supportmitarbeiter können bei der Erläuterung der Funktionalität bestimmter Prozeduren helfen, sie werden jedoch diese Beispiele nicht verändern um eine erweiterte Funktionalität aufzuzeigen oder Prozeduren entwickeln, die Ihren Anforderungen entsprechen.

Hinweis Bevor Sie diesen Hotfix installieren, stellen Sie sicher, dass alle Microsoft Navision-Clientbenutzer vom System abgemeldet werden. Dies gilt auch für Clientbenutzer der Microsoft Navision Application Services (NAS). Sie sollte nur-Client-Benutzers, der angemeldet ist, wenn Sie diesen Hotfix installieren.

Muss eine Entwicklerlizenz verfügen, um diesen Hotfix installieren können.

Es wird empfohlen, das Benutzerkonto im Fenster Windows-Benutzernamen oder im Fenster Datenbank-Anmeldenamen "SUPER" Rollen-ID zugewiesen werden Wenn das Benutzerkonto die Rollen-ID "SUPER" nicht zugeordnet werden kann, müssen Sie sicherstellen, dass das Benutzerkonto die folgenden Berechtigungen verfügt:
  • Änderungsberechtigung für das Objekt, das Sie ändern.
  • Ausführungsberechtigung für System Object ID 5210 und System Object ID 9015 -Objekt.


Hinweis Sie müssen keine Rechte für die Datenspeicher haben, es sei denn, Sie müssen eine Datenreparatur durchführen.

Ändern von Code

Hinweis Testen Sie Programmcodeverbesserungen generell erst in einem Testsytem, bevor Sie sie im Produktionssystem verwenden.
Gehen Sie folgendermaßen vor, um dieses Problem zu beheben:
  1. Ändern Sie den Code im Trigger Betrag inklusive MwSt. - OnFormat aus gebucht Verkauf-Rechnung Subform (133) wie folgt:
    Vorhandener code
    ...IF (Type = Type::"End-Total") AND ("Subtotal net" <> 0) THEN BEGIN

    // Delete the following line.
    Text := FORMAT("Subtotal net",0,'<Sign><Integer Thousand><Decimals,3>');

    CurrForm."Amount Including VAT".UPDATEFONTBOLD := TRUE;
    END;
    ...
    Neuer code
    ...IF (Type = Type::"End-Total") AND ("Subtotal net" <> 0) THEN BEGIN

    // Add the following line.
    Text := FORMAT(CalcTotalAmountIncludingVAT("Document No.","Line No."),0,'<Sign><Integer Thousand><Decimals,3>');

    CurrForm."Amount Including VAT".UPDATEFONTBOLD := TRUE;
    END;
    ...
  2. Erstellen eine neue lokale CalcTotalAmountIncludingVAT Funktion aus gebucht Verkauf-Rechnung Subform (133) zum Erstellen der Funktion folgendermaßen vor:
    1. Fügen Sie einen neuen lokalen Parameter in der CalcTotalAmountIncludingVAT -Funktion aus gebucht Verkauf-Rechnung Subform (133), und geben Sie den Parameter wie folgt:
      • Var: No
      • Name: DocumentNo
      • Datentyp: Code
      • Länge: 20
    2. Fügen Sie einen neuen lokalen Parameter in der CalcTotalAmountIncludingVAT -Funktion aus gebucht Verkauf-Rechnung Subform (133), und geben Sie den Parameter wie folgt:
      • Var: No
      • Name: EndLineNo
      • Datentyp: ganze Zahl
    3. Fügen Sie einen neuen Wert in der CalcTotalAmountIncludingVAT -Funktion aus gebucht Verkauf-Rechnung Subform (133), und geben Sie den Wert wie folgt:
      • Name: AmountIncludingVAT
      • Rückgabetyp: Dezimal
    4. Fügen Sie eine neue lokale Variable in der Funktion CalcTotalAmountIncludingVAT aus gebucht Verkauf-Rechnung Subform (133), und geben Sie die Variable wie folgt:
      • Name: SalesInvoiceLine
      • Datentyp: Datensatz
      • Untertyp: Zeile Rechnung
    5. Fügen Sie eine neue lokale Variable in der Funktion CalcTotalAmountIncludingVAT aus gebucht Verkauf-Rechnung Subform (133), und geben Sie die Variable wie folgt:
      • Name: Anzahl
      • Datentyp: ganze Zahl
    6. Fügen Sie eine neue lokale Variable in der Funktion CalcTotalAmountIncludingVAT aus gebucht Verkauf-Rechnung Subform (133), und geben Sie die Variable wie folgt:
      • Name: BeginLineNo
      • Datentyp: Ganzzahl
    7. Fügen Sie folgenden Zeilen in der CalcTotalAmountIncludingVAT -Funktion aus gebucht Verkauf-Rechnung Subform (133):
      PROCEDURE CalcTotalAmountIncludingVAT(DocumentNo : Code[20];EndLineNo : Integer) AmountIncludingVAT : Decimal
      Count := -1;
      BeginLineNo := 0;
      SalesInvoiceLine.RESET;
      SalesInvoiceLine.SETRANGE("Document No.",DocumentNo);
      SalesInvoiceLine.SETRANGE("Line No.",0,EndLineNo);
      IF SalesInvoiceLine.FINDLAST THEN
      REPEAT
      IF SalesInvoiceLine.Type = SalesInvoiceLine.Type::"Begin-Total" THEN
      IF Count = 0 THEN
      BeginLineNo := SalesInvoiceLine."Line No."
      ELSE
      Count := Count - 1
      ELSE
      IF SalesInvoiceLine.Type = SalesInvoiceLine.Type::"End-Total" THEN
      Count := Count + 1;
      UNTIL (SalesInvoiceLine.NEXT(-1) = 0) OR (BeginLineNo <> 0);
      SalesInvoiceLine.SETRANGE("Line No.",BeginLineNo,EndLineNo);
      SalesInvoiceLine.CALCSUMS("Amount Including VAT");
      AmountIncludingVAT := SalesInvoiceLine."Amount Including VAT";CalcTotalAmountIncludingVAT(DocumentNo : Code[20];EndLineNo : Integer) AmountIncludingVAT : Decimal

      Count := -1;
      BeginLineNo := 0;
      SalesInvoiceLine.RESET;
      SalesInvoiceLine.SETRANGE("Document No.",DocumentNo);
      SalesInvoiceLine.SETRANGE("Line No.",0,EndLineNo);
      IF SalesInvoiceLine.FINDLAST THEN
      REPEAT
      IF SalesInvoiceLine.Type = SalesInvoiceLine.Type::"Begin-Total" THEN
      IF Count = 0 THEN
      BeginLineNo := SalesInvoiceLine."Line No."
      ELSE
      Count := Count - 1
      ELSE
      IF SalesInvoiceLine.Type = SalesInvoiceLine.Type::"End-Total" THEN
      Count := Count + 1;
      UNTIL (SalesInvoiceLine.NEXT(-1) = 0) OR (BeginLineNo <> 0);
      SalesInvoiceLine.SETRANGE("Line No.",BeginLineNo,EndLineNo);
      SalesInvoiceLine.CALCSUMS("Amount Including VAT");
      AmountIncludingVAT := SalesInvoiceLine."Amount Including VAT";
  3. Ändern Sie den Code im Trigger Betrag inklusive MwSt. - OnFormat aus gebucht Sales Gutgeschriebener Gutschrift Subform (135) wie folgt:
    Vorhandener code
    ...IF (Type = Type::"End-Total") AND ("Subtotal net" <> 0) THEN BEGIN

    // Delete the following line.
    Text := FORMAT("Subtotal net",0,'<Sign><Integer Thousand><Decimals,3>');

    CurrForm."Amount Including VAT".UPDATEFONTBOLD := TRUE;
    END;
    ...
    Neuer code
    ...IF (Type = Type::"End-Total") AND ("Subtotal net" <> 0) THEN BEGIN

    // Add the following line.
    Text := FORMAT(CalcTotalAmountIncludingVAT("Document No.","Line No."),0,'<Sign><Integer Thousand><Decimals,3>');

    CurrForm."Amount Including VAT".UPDATEFONTBOLD := TRUE;
    END;
    ...
  4. Erstellen eine neue lokale CalcTotalAmountIncludingVAT Funktion im Formular gebuchte Verkäufe Gutgeschriebener Gutschrift Subform (135) zum Erstellen der Funktion folgendermaßen vor:
    1. Fügen Sie einen neuen lokalen Parameter in der CalcTotalAmountIncludingVAT -Funktion im Formular gebuchte Verkäufe Gutgeschriebener Gutschrift Subform (135), und geben Sie den Parameter wie folgt:
      • Var: No
      • Name: DocumentNo
      • Datentyp: Code
      • Länge: 20
    2. Fügen Sie einen neuen lokalen Parameter in der CalcTotalAmountIncludingVAT -Funktion im Formular gebuchte Verkäufe Gutgeschriebener Gutschrift Subform (135), und geben Sie den Parameter wie folgt:
      • Var: No
      • Name: EndLineNo
      • Datentyp: ganze Zahl
    3. Fügen Sie einen neuen Wert in der CalcTotalAmountIncludingVAT -Funktion im Formular gebuchte Verkäufe Gutgeschriebener Gutschrift Subform (135), und geben Sie den Wert wie folgt:
      • Name: AmountIncludingVAT
      • Rückgabetyp: Dezimal
    4. Fügen Sie eine neue lokale Variable in der Funktion CalcTotalAmountIncludingVAT gebucht Sales Gutgeschriebener Gutschrift Subform Form (135), und geben Sie die Variable wie folgt:
      • Name: SalesCrMemoLine
      • Datentyp: Datensatz
      • Untertyp: Sales "Servicegutschriftkopf" Zeile
    5. Fügen Sie eine neue lokale Variable in der Funktion CalcTotalAmountIncludingVAT gebucht Sales Gutgeschriebener Gutschrift Subform Form (135), und geben Sie die Variable wie folgt:
      • Name: Anzahl
      • Datentyp: ganze Zahl
    6. Fügen Sie eine neue lokale Variable in der Funktion CalcTotalAmountIncludingVAT gebucht Sales Gutgeschriebener Gutschrift Subform Form (135), und geben Sie die Variable wie folgt:
      • Name: BeginLineNo
      • Datentyp: Ganzzahl
    7. Fügen Sie die folgenden Zeilen in der CalcTotalAmountIncludingVAT -Funktion im Formular gebuchte Verkäufe Gutgeschriebener Gutschrift Subform (135):
      PROCEDURE CalcTotalAmountIncludingVAT(DocumentNo : Code[20];EndLineNo : Integer) AmountIncludingVAT : Decimal
      Count := -1;
      BeginLineNo := 0;
      SalesCrMemoLine.RESET;
      SalesCrMemoLine.SETRANGE("Document No.",DocumentNo);
      SalesCrMemoLine.SETRANGE("Line No.",0,EndLineNo);
      IF SalesCrMemoLine.FINDLAST THEN
      REPEAT
      IF SalesCrMemoLine.Type = SalesCrMemoLine.Type::"Begin-Total" THEN
      IF Count = 0 THEN
      BeginLineNo := SalesCrMemoLine."Line No."
      ELSE
      Count := Count - 1
      ELSE
      IF SalesCrMemoLine.Type = SalesCrMemoLine.Type::"End-Total" THEN
      Count := Count + 1;
      UNTIL (SalesCrMemoLine.NEXT(-1) = 0) OR (BeginLineNo <> 0);
      SalesCrMemoLine.SETRANGE("Line No.",BeginLineNo,EndLineNo);
      SalesCrMemoLine.CALCSUMS("Amount Including VAT");
      AmountIncludingVAT := SalesCrMemoLine."Amount Including VAT";CalcTotalAmountIncludingVAT(DocumentNo : Code[20];EndLineNo : Integer) AmountIncludingVAT : Decimal

Voraussetzungen

Sie müssen eines der folgenden Produkte verfügen, um diesen Hotfix installieren:
  • Die Schweizer Version von Microsoft Dynamics NAV 2009 R2
  • Die Schweizer Version von Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)

Informationen zur Deinstallation

Dieser Hotfix kann nicht entfernt werden.

Status


Microsoft hat bestätigt, dass es sich um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt „Eigenschaften“ aufgeführt sind.
Hinweis Dies ist ein im Schnellverfahren veröffentlichter Artikel, der direkt in der Microsoft Support-Organisation erstellt wurde. Die hierin enthaltenen Informationen werden ohne Mängelgewähr in Reaktion auf neue Probleme bereitgestellt. Aufgrund der schnellen Bereitstellung kann das Material möglicherweise typografische Fehler enthalten und jederzeit ohne vorherige Ankündigung geändert werden. Weitere Hinweise finden Sie unter Geschäftsbedingungen .