Fehlermeldung "Sie müssen Lagerplatzcode in Journal Line Blatt angeben", wenn Sie fakturieren (oder und dann fakturieren) eine Bestellung für einen Artikel, der einem Projekt zugeordnet und in einen Lagerortcode in Microsoft Dynamics NAV


Dieser Artikel bezieht sich auf Microsoft Dynamics NAV für alle Regionen.

Problembeschreibung


Angenommen Sie, eine Bestellung für einen Artikel, der einem Projekt zugewiesen ist und Sie einen Lagerplatzcode für den Artikel in Microsoft Dynamics NAV angeben Dann beim Buchen (liefern und fakturieren) der Bestellung, da tritt ein Konflikt zwischen Posten und Logistik, erhalten folgende Fehlermeldung:
Sie müssen Lagerplatzcode in Zeile Buch.-Blatt angeben...

Außerdem werden beim Buchen von Wareneingang für die Bestellung stornieren die Posten falsch aktualisiert. Das System das Warehouse aktualisieren und Artikelposten gleichermaßen erwartet.
Dieses Problem tritt nach der Installation dieses in KB 2159936 Hotfixes.
Klicken Sie für weitere Informationen auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
2159936 Sie können unerwartet eine Bestellung als empfangen für einen Lagerortcode mit einem Auftrag in Microsoft Dynamics NAV 2009 Service Pack 1 veröffentlichen

Dieses Problem tritt in den folgenden Produkten auf:
  • Microsoft Dynamics NAV 2009 Servicepack 1 (SP1)
  • Microsoft Dynamics NAV 2009 R2

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-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 in der Funktion FromPurchaseLineToJnlLine in Codeunit (1004) wie folgt:

    Vorhandener code
    ...    JobJnlLine."Line Discount Amount" :=
    ROUND("Job Line Discount Amount" * Factor,Currency."Amount Rounding Precision");
    END;

    JobJnlLine."Location Code" := "Location Code";
    JobJnlLine."Line Type" := "Job Line Type";
    ...
    Neuer code
    ...      JobJnlLine."Line Discount Amount" :=
    ROUND("Job Line Discount Amount" * Factor,Currency."Amount Rounding Precision");
    END;

    JobJnlLine."Location Code" := "Location Code";

    // Add the following line.
    JobJnlLine."Bin Code" := "Bin Code";
    // End of the added line.

    JobJnlLine."Line Type" := "Job Line Type";
    ...
  2. Ändern Sie den Code im Codestück in die Purch.-Post Codeunit (90) wie folgt:

    Hinweis Der zu entfernende Code wurde mit KB 2159936 hinzugefügt, sodass es möglicherweise nicht erforderlich, den folgenden Code ändern.

    Vorhandener code
    ...      IF PurchLine.Type = PurchLine.Type::"Charge (Item)" THEN BEGIN
    PurchLine.TESTFIELD(Amount);
    PurchLine.TESTFIELD("Job No.",'');
    END;

    // Delete the following lines.
    IF (PurchLine."Job No." <> '') AND (PurchLine.Type = PurchLine.Type::Item) THEN
    PurchLine.TESTFIELD("Bin Code",'');
    // End of the deleted lines.
    ...
    Neuer code
    ...        IF PurchLine.Type = PurchLine.Type::"Charge (Item)" THEN BEGIN
    PurchLine.TESTFIELD(Amount);
    PurchLine.TESTFIELD("Job No.",'');
    END;
    ...
  3. Ändern Sie den Code in der Funktion "PostItemJnlLine" in der Purch.-Post Codeunit (90) wie folgt:

    Vorhandener code
    ...   IF PostWhseJnlLine THEN BEGIN
    ItemTrackingMgt.SplitWhseJnlLine(TempWhseJnlLine,TempWhseJnlLine2,TempWhseTrackingSpecification,FALSE);
    IF TempWhseJnlLine2.FIND('-') THEN
    REPEAT
    WhseJnlPostLine.RUN(TempWhseJnlLine2);
    UNTIL TempWhseJnlLine2.NEXT = 0;
    ...
    Neuer code
    ...   IF PostWhseJnlLine THEN BEGIN
    ItemTrackingMgt.SplitWhseJnlLine(TempWhseJnlLine,TempWhseJnlLine2,TempWhseTrackingSpecification,FALSE);
    IF TempWhseJnlLine2.FIND('-') THEN
    REPEAT
    WhseJnlPostLine.RUN(TempWhseJnlLine2);
    // Add the following lines.
    IF RevertWarehouseEntry(TempWhseJnlLine2,"Job No.",PostJobConsumptionBeforePurch) THEN
    WhseJnlPostLine.RUN(TempWhseJnlLine2);
    // End of the added lines.

    UNTIL TempWhseJnlLine2.NEXT = 0;
    ...
  4. Fügen Sie die folgende lokale Funktion: RevertWarehouseEntry@92 (VAR TempWhseJnlLine@1000: TEMPORÄREN Datensatz 7311; JobNo@1001: Code [20]. PostJobConsumptionBeforePurch@1002: Boolescher Wert). Fügen Sie den folgenden Code für die Funktion:
    IF PostJobConsumptionBeforePurch OR (JobNo = '') THEN  EXIT(FALSE);
    WITH TempWhseJnlLine DO BEGIN
    "Entry Type" := "Entry Type"::"Negative Adjmt.";
    Quantity := -Quantity;
    "Qty. (Base)" := -"Qty. (Base)";
    "From Bin Code" := "To Bin Code";
    "To Bin Code" := '';
    END;
    EXIT(TRUE);


Voraussetzungen

Sie müssen eines der folgenden Produkte verfügen, um diesen Hotfix installieren:
  • Microsoft Dynamics NAV 2009 Servicepack 1 (SP1)
  • Microsoft Dynamics NAV 2009 R2


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.

Referenzen


VSTF DynamicsNAV SE: 244430
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 .