Bei Microsoft anmelden
Melden Sie sich an, oder erstellen Sie ein Konto.
Hallo,
Wählen Sie ein anderes Konto aus.
Sie haben mehrere Konten.
Wählen Sie das Konto aus, mit dem Sie sich anmelden möchten.

Dieser Artikel gilt für Microsoft Dynamics NAV für alle Länder und alle Gebietsschemas.

Problembeschreibung

Davon aus, dass Sie die Exakte Stornierung der Kosten im Dialogfeld Debitoren & Verkauf Einr in Microsoft Dynamics NAV aktivieren In diesem Fall wird beim Ausführen der Funktion Beleg kopieren eine partielle Verkaufsreklamation folgende Fehlermeldung angezeigt:

Verkauf Lieferung Shipment_No, Zeile Nr. Line_No wird nicht kopiert, da die vollständige Menge der gebuchten Belegzeile bereits manuell angewendet wird.

Dieses Problem tritt in den folgenden Produkten auf:

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 Servicepack 1

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 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. Löschen Sie die folgenden globalen Variablen in der Codeunit "Copy Document Mgt" (6620):

    Text030@1025 : TextConst 'ENU=%1 %2, line no. %3 is not copied because the full quantity on the posted document line is already manually applied.';Text031@1038 : TextConst 'ENU=Return document line contains only the original document line quantity, that is not already manually applied.';
    SomeAreFixed@1045 : Boolean;
    CopyDimensions@1050 : Boolean;

  2. Fügen Sie die folgenden globalen Variablen in der Codeunit "Copy Document Mgt" (6620):

    Text030@1025 : TextConst 'ENU=One or more return document lines were not copied. This is because quantities on the posted document line are already fully or partially applied and therefore the Exact Cost Reversing Link could not be created.';Text031@1038 : TextConst 'ENU=Return document line contains only the original document line quantity, that is not already manually applied.';
    SomeAreFixed@1045 : Boolean;
    CopyDimensions@1050 : Boolean;
    WarningDone@1051 : Boolean;
    LinesApplied@1052 : Boolean;

  3. Ändern Sie den Code in der Funktion SplitPstdSalesLinesPerILE in der Codeunit "Copy Document Mgt" (6620) wie folgt:
    Vorhandener Code 1

    ...            IF "Shipped Qty. Not Returned" = 0 THEN

    // Delete the following lines.
    ERROR(Text030,"Document Type","Document No.","Document Line No.");
    FromSalesLineBuf := FromSalesLine;
    IF -"Shipped Qty. Not Returned" < ABS(FromSalesLine."Quantity (Base)") THEN BEGIN
    IF FromSalesLine."Quantity (Base)" > 0 THEN
    FromSalesLineBuf."Quantity (Base)" := -"Shipped Qty. Not Returned"
    ELSE
    FromSalesLineBuf."Quantity (Base)" := "Shipped Qty. Not Returned";
    IF FromSalesLineBuf."Qty. per Unit of Measure" = 0 THEN
    FromSalesLineBuf.Quantity := FromSalesLineBuf."Quantity (Base)"
    ELSE
    FromSalesLineBuf.Quantity :=
    ROUND(FromSalesLineBuf."Quantity (Base)" / FromSalesLineBuf."Qty. per Unit of Measure",0.00001);
    END;
    FromSalesLine."Quantity (Base)" := FromSalesLine."Quantity (Base)" - FromSalesLineBuf."Quantity (Base)";
    FromSalesLine.Quantity := FromSalesLine.Quantity - FromSalesLineBuf.Quantity;
    FromSalesLineBuf."Appl.-from Item Entry" := "Entry No.";
    FromSalesLineBuf."Line No." := NextLineNo;
    NextLineNo := NextLineNo + 1;
    FromSalesLineBuf."Document No." := "Document No.";
    IF GetSalesDocType(ItemLedgEntry) IN
    [FromSalesLineBuf."Document Type"::Order,FromSalesLineBuf."Document Type"::"Return Order"]
    THEN
    FromSalesLineBuf."Shipment Line No." := 1;

    IF NOT FromShptOrRcpt THEN
    UpdateRevSalesLineAmount(
    FromSalesLineBuf,OrgQtyBase,
    FromSalesHeader."Prices Including VAT",ToSalesHeader."Prices Including VAT");

    FromSalesLineBuf.INSERT;
    // End of the lines.

    UNTIL (NEXT = 0) OR (FromSalesLine."Quantity (Base)" = 0);
    ...

    Neuer Code 1

    ...            IF "Shipped Qty. Not Returned" = 0 THEN

    // Add the following lines.
    LinesApplied := TRUE;
    IF "Shipped Qty. Not Returned" < 0 THEN BEGIN
    FromSalesLineBuf := FromSalesLine;

    IF -"Shipped Qty. Not Returned" < ABS(FromSalesLine."Quantity (Base)") THEN BEGIN
    IF FromSalesLine."Quantity (Base)" > 0 THEN
    FromSalesLineBuf."Quantity (Base)" := -"Shipped Qty. Not Returned"
    ELSE
    FromSalesLineBuf."Quantity (Base)" := "Shipped Qty. Not Returned";
    IF FromSalesLineBuf."Qty. per Unit of Measure" = 0 THEN
    FromSalesLineBuf.Quantity := FromSalesLineBuf."Quantity (Base)"
    ELSE
    FromSalesLineBuf.Quantity :=
    ROUND(FromSalesLineBuf."Quantity (Base)" / FromSalesLineBuf."Qty. per Unit of Measure",0.00001);
    END;
    FromSalesLine."Quantity (Base)" := FromSalesLine."Quantity (Base)" - FromSalesLineBuf."Quantity (Base)";
    FromSalesLine.Quantity := FromSalesLine.Quantity - FromSalesLineBuf.Quantity;
    FromSalesLineBuf."Appl.-from Item Entry" := "Entry No.";
    FromSalesLineBuf."Line No." := NextLineNo;
    NextLineNo := NextLineNo + 1;
    FromSalesLineBuf."Document No." := "Document No.";
    IF GetSalesDocType(ItemLedgEntry) IN
    [FromSalesLineBuf."Document Type"::Order,FromSalesLineBuf."Document Type"::"Return Order"]
    THEN
    FromSalesLineBuf."Shipment Line No." := 1;

    IF NOT FromShptOrRcpt THEN
    UpdateRevSalesLineAmount(
    FromSalesLineBuf,OrgQtyBase,
    FromSalesHeader."Prices Including VAT",ToSalesHeader."Prices Including VAT");

    FromSalesLineBuf.INSERT;
    END;
    // End of the lines.

    UNTIL (NEXT = 0) OR (FromSalesLine."Quantity (Base)" = 0);
    ...

    Vorhandener Code 2

    ...            MissingExCostRevLink := TRUE;
    END;
    ...

    Neuer Code 2

    ...            MissingExCostRevLink := TRUE;

    // Add the following line.
    CheckUnappliedLines(LinesApplied,MissingExCostRevLink);

    END;
    ...

  4. Ändern Sie den Code in der Funktion SplitPstdPurchLinesPerILE in der Codeunit "Copy Document Mgt" (6620) wie folgt:
    Vorhandener Code 1

    ...        ApplyRec@1011 : Record 339;

    // Delete the following line.
    AllAreFixed@1012 : Boolean;

    BEGIN
    ...

    Neuer Code 1

    ...        ApplyRec@1011 : Record 339;
    BEGIN
    ...

    Vorhandener Code 2

    ...          REPEAT

    // Delete the following lines.
    IF "Remaining Quantity" = 0 THEN BEGIN
    AllAreFixed := TRUE;
    ApplyRec.AppliedOutbndEntryExists("Entry No.",FALSE);
    IF ApplyRec.FINDFIRST THEN
    REPEAT
    AllAreFixed := AllAreFixed AND ApplyRec.Fixed;
    UNTIL ApplyRec.NEXT = 0;
    IF AllAreFixed THEN
    ERROR(Text030,"Document Type","Document No.","Document Line No.");
    END;
    // End of the lines.

    IF NOT ApplyFully THEN BEGIN
    ...

    Neuer Code 2

    ...          REPEAT
    IF NOT ApplyFully THEN BEGIN
    ...

    Vorhandenen Code 3

    ...        END;
    ...

    Neuer Code 3

    ...        END;

    // Add the following line.
    CheckUnappliedLines(SkippedLine,MissingExCostRevLink);

    ...

  5. Ändern Sie den Code in der Funktion CheckUnappliedLines in der Codeunit "Copy Document Mgt" (6620) wie folgt:
    Vorhandener code

    ...      BEGIN
    ...

    Neuer code

    ...
    // Add the following lines.
    LOCAL PROCEDURE CheckUnappliedLines@86(SkippedLine@1000 : Boolean;VAR MissingExCostRevLink@1001 : Boolean);
    BEGIN
    IF SkippedLine AND MissingExCostRevLink THEN BEGIN
    IF NOT WarningDone THEN
    MESSAGE(Text030);
    MissingExCostRevLink := FALSE;
    WarningDone := TRUE;
    END;
    END;

    // End of the lines.

    BEGIN
    ...

Voraussetzungen

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

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 Servicepack 1

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.

In den Communities können Sie Fragen stellen und beantworten, Feedback geben und von Experten mit umfassendem Wissen hören.

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Sprachqualität?
Was hat Ihre Erfahrung beeinflusst?
Wenn Sie auf "Absenden" klicken, wird Ihr Feedback zur Verbesserung von Produkten und Diensten von Microsoft verwendet. Ihr IT-Administrator kann diese Daten sammeln. Datenschutzbestimmungen.

Vielen Dank für Ihr Feedback!

×