Gilt für
Dynamics NAV 2009

Problembeschreibung

Nach dem Implementieren der Korrektur in KB3001759 und KB3036811 in Microsoft Dynamics NAV 2009 können die Sachposten aufgehoben werden. Allerdings gibt es falsch Sachposten - MwSt.-Posten Links in der Anwendung gebucht. Folgen Sie den Schritten im Abschnitt ändert sich dieses Problem lösen. Dieses Problem tritt in den folgenden Produkten auf:

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 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 2009 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-Supporttechniker helfen der Erläuterung der Funktionalität bestimmter Prozeduren. Allerdings werden sie diese Beispiele nicht ändern, um zusätzliche Funktionalität bereitzustellen oder Prozeduren erstellen, die Ihren spezifischen Bedürfnisse erfüllen.Hinweis Bevor Sie diesen Hotfix installieren, stellen Sie sicher, dass alle Microsoft Dynamics NAV-Clientbenutzer vom System abgemeldet werden. Hierzu gehören Dienste Microsoft Dynamics NAV Application Server (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 9015Objekt.

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 in UnapplyCustLedgEntry Funktion im Fibu Buch.-Post Line Codeunit (12) wie folgt:Vorhandener Code 1

    ...    NegativeLCYAppAmt@1021 : Decimal;      PositiveACYAppAmt@1020 : Decimal;      NegativeACYAppAmt@1019 : Decimal;// Delete the following lines.VatBaseSum@1008 : ARRAY [2] OF Decimal;EntryNoBegin@1025 : ARRAY [2] OF Integer;// End of the deleted lines.      i@1027 : Integer;      TempVatEntryNo@1028 : Integer;    BEGIN...

    Neuer Code 1

    ...  NegativeLCYAppAmt@1021 : Decimal;      PositiveACYAppAmt@1020 : Decimal;      NegativeACYAppAmt@1019 : Decimal;// Add the following lines.VatBaseSum@1008 : ARRAY [3] OF Decimal;EntryNoBegin@1025 : ARRAY [3] OF Integer;// End of the added lines.      i@1027 : Integer;      TempVatEntryNo@1028 : Integer;    BEGIN...

    Vorhandener Code 2

    ... VATEntry2."Entry No." := NextVATEntryNo;              NextVATEntryNo := NextVATEntryNo + 1;              VATEntry2.INSERT;              TempVatEntry.DELETE;            END;            IF (VATPostingSetup."Adjust for Payment Discount") AND...

    Neuer Code 2

    ...VATEntry2."Entry No." := NextVATEntryNo;              NextVATEntryNo := NextVATEntryNo + 1;              VATEntry2.INSERT;// Add the following lines.IF VATEntry2."Unrealized VAT Entry No." = 0 THEN BEGINGLEntryTmp."Entry No." := NextEntryNo;GLEntryVatEntrylink.InsertLink(GLEntryTmp,VATEntry2);END;// End of the added lines.              TempVatEntry.DELETE;            END;            IF (VATPostingSetup."Adjust for Payment Discount") AND...

    Vorhandenen Code 3

    ... IF TempVatEntry.FINDSET THEN BEGIN            REPEAT              CASE TRUE OF                VatBaseSum[2] + TempVatEntry.Base = DtldCustLedgEntry2."Amount (LCY)":                  i := 3;                VatBaseSum[1] + TempVatEntry.Base = DtldCustLedgEntry2."Amount (LCY)":...

    Neuer Code 3

    ...IF TempVatEntry.FINDSET THEN BEGIN            REPEAT              CASE TRUE OF// Add the followoing lines.VATBaseSum[3] + TempVatEntry.Base = DtldCustLedgEntry2."Amount (LCY)":i := 4;// End of the added lines.                VatBaseSum[2] + TempVatEntry.Base = DtldCustLedgEntry2."Amount (LCY)":                  i := 3;                VatBaseSum[1] + TempVatEntry.Base = DtldCustLedgEntry2."Amount (LCY)":...

    Vorhandenen Code 4

    ...END;                  TempVatEntry := VATEntrySaved;                UNTIL TempVatEntry.NEXT = 0;// Delete the following line.FOR i := 1 TO 2 DO BEGIN// End of the deleted line.                  VatBaseSum[i] := 0;                  EntryNoBegin[i] := 0;                END;...

    Neuer Code 4

    ...END;                  TempVatEntry := VATEntrySaved;                UNTIL TempVatEntry.NEXT = 0;// Add the following line.FOR i := 1 TO 3 DO BEGIN// End of the added line.                  VatBaseSum[i] := 0;                  EntryNoBegin[i] := 0;                END;...

    Vorhandenen Code 5

    ...END;                TempVatEntry.SETRANGE("Entry No.",0,999999);              END ELSE BEGIN                VatBaseSum[2] := VatBaseSum[1] + TempVatEntry.Base;                VatBaseSum[1] := TempVatEntry.Base;                EntryNoBegin[2] := EntryNoBegin[1];                EntryNoBegin[1] := TempVatEntry."Entry No.";              END;...

    Neuer Code 5

    ...END;                TempVatEntry.SETRANGE("Entry No.",0,999999);              END ELSE BEGIN// Add the following line.VatBaseSum[3] += TempVATEntry.Base;// End of the added line.                VatBaseSum[2] := VatBaseSum[1] + TempVatEntry.Base;                VatBaseSum[1] := TempVatEntry.Base;// Add the folloiwng lines.           IF EntryNoBegin[3] > 0 THENEntryNoBegin[3] := TempVatEntry."Entry No.";// End of the added lines.EntryNoBegin[2] := EntryNoBegin[1];                EntryNoBegin[1] := TempVatEntry."Entry No.";              END;...
  2. Ändern Sie den Code in UnapplyVendLedgEntry Funktion im Fibu Buch.-Post Line Codeunit (12) wie folgt:Vorhandener Code 1

    ...    NegativeLCYAppAmt@1021 : Decimal;      PositiveACYAppAmt@1020 : Decimal;      NegativeACYAppAmt@1019 : Decimal;// Delete the following lines.VatBaseSum@1029 : ARRAY [2] OF Decimal;EntryNoBegin@1028 : ARRAY [2] OF Integer;// End of the deleted lines.      i@1027 : Integer;      TempVatEntryNo@1025 : Integer;    BEGIN...

    Neuer Code 1

    ...    NegativeLCYAppAmt@1021 : Decimal;      PositiveACYAppAmt@1020 : Decimal;      NegativeACYAppAmt@1019 : Decimal;      V// Add the following lines.atBaseSum@1029 : ARRAY [3] OF Decimal;EntryNoBegin@1028 : ARRAY [3] OF Integer;// End of the added lines.      i@1027 : Integer;      TempVatEntryNo@1025 : Integer;    BEGIN...

    Vorhandener Code 2

    ...VatEntry2."Entry No." := NextVATEntryNo;              NextVATEntryNo := NextVATEntryNo + 1;              VatEntry2.INSERT;              TempVatEntry.DELETE;            END;            IF (VATPostingSetup."Adjust for Payment Discount") AND...

    Neuer Code 2

    ...VatEntry2."Entry No." := NextVATEntryNo;              NextVATEntryNo := NextVATEntryNo + 1;              VatEntry2.INSERT;// Add the following lines.IF VatEntry2."Unrealized VAT Entry No." = 0 THEN BEGINGLEntryTmp."Entry No." := NextEntryNo;GLEntryVatEntrylink.InsertLink(GLEntryTmp,VatEntry2);END;// End of the added lines.              TempVatEntry.DELETE;            END;            IF (VATPostingSetup."Adjust for Payment Discount") AND...

    Vorhandenen Code 3

    ...  IF TempVatEntry.FINDSET THEN BEGIN            REPEAT              CASE TRUE OF                VatBaseSum[2] + TempVatEntry.Base = DtldVendLedgEntry2."Amount (LCY)":                  i := 3;                VatBaseSum[1] + TempVatEntry.Base = DtldVendLedgEntry2."Amount (LCY)":...

    Neuer Code 3

    ...IF TempVatEntry.FINDSET THEN BEGIN            REPEAT              CASE TRUE OF// Add the following lines.VATBaseSum[3] + TempVatEntry.Base = DtldVendLedgEntry2."Amount (LCY)":i := 4;// End of the added lines.                VatBaseSum[2] + TempVatEntry.Base = DtldVendLedgEntry2."Amount (LCY)":                  i := 3;                VatBaseSum[1] + TempVatEntry.Base = DtldVendLedgEntry2."Amount (LCY)":...

    Vorhandenen Code 4

    ...END;                TempVatEntry.SETRANGE("Entry No.",0,999999);              END ELSE BEGIN                VatBaseSum[2] := VatBaseSum[1] + TempVatEntry.Base;                VatBaseSum[1] := TempVatEntry.Base;                EntryNoBegin[2] := EntryNoBegin[1];                EntryNoBegin[1] := TempVatEntry."Entry No.";              END;...

    Neuer Code 4

    ... END;                TempVatEntry.SETRANGE("Entry No.",0,999999);              END ELSE BEGIN// Add the following line.VatBaseSum[3] += TempVATEntry.Base;// End of the added line.                VatBaseSum[2] := VatBaseSum[1] + TempVatEntry.Base;                VatBaseSum[1] := TempVatEntry.Base;// Add the following lines.IF EntryNoBegin[3] > 0 THENEntryNoBegin[3] := TempVatEntry."Entry No.";// End of the added lines.                EntryNoBegin[2] := EntryNoBegin[1];                EntryNoBegin[1] := TempVatEntry."Entry No.";              END;...
  3. Ändern Sie den Code in InsertVatEntriesFromTemp Funktion im Fibu Buch.-Post Line Codeunit (12) wie folgt:Vorhandener code

    ... DtldCVLedgEntryBuf."Entry Type"::"Payment Tolerance (VAT Excl.)":          TempVatEntry.SETRANGE("Entry No.",2000000,2999999)      END;// Delete the following line.TempVatEntry.FINDSET;// End of the deleted line.      REPEAT        VATEntry := TempVatEntry;        VATEntry."Entry No." := NextVATEntryNo;        VATEntry.INSERT;        NextVATEntryNo := NextVATEntryNo + 1;        IF VATEntry."Unrealized VAT Entry No." = 0 THEN          GLEntryVatEntrylink.InsertLink(GLEntry,VATEntry);        TempVatEntry.DELETE;        LinkedAmount := LinkedAmount + VATEntry.Base;        Complete := LinkedAmount = -DtldCVLedgEntryBuf."Amount (LCY)";      UNTIL Complete OR (TempVatEntry.NEXT = 0);    END;    LOCAL PROCEDURE CaptureOrRefundCreditCardPmnt@85() : Integer;...

    Neuer code

    ...DtldCVLedgEntryBuf."Entry Type"::"Payment Tolerance (VAT Excl.)":          TempVatEntry.SETRANGE("Entry No.",2000000,2999999)      END;// Add the following line.IF TempVatEntry.FINDSET THEN// End of the added line.        REPEAT          VATEntry := TempVatEntry;          VATEntry."Entry No." := NextVATEntryNo;          VATEntry.INSERT;          NextVATEntryNo := NextVATEntryNo + 1;          IF VATEntry."Unrealized VAT Entry No." = 0 THEN            GLEntryVatEntrylink.InsertLink(GLEntry,VATEntry);          TempVatEntry.DELETE;          LinkedAmount := LinkedAmount + VATEntry.Base;          Complete := LinkedAmount = -DtldCVLedgEntryBuf."Amount (LCY)";        UNTIL Complete OR (TempVatEntry.NEXT = 0);    END;    LOCAL PROCEDURE CaptureOrRefundCreditCardPmnt@85() : Integer;...

Voraussetzungen

Sie müssen eines der folgenden Produkte verfügen, um diesen Hotfix installieren:

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 SP1

Außerdem müssen Sie KB3001759 und KB3036811 installiert.

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.

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.