🔧 Lagerplatz-Override / Bin Override (Reservation-Based)
Beschreibung / Description
🇩🇪 Diese Customization überschreibt die Standard-Lagerplatzfindungslogik von Business Central bei der Erstellung von Warehouse Picks. Statt die automatisch vorgeschlagenen Lagerplätze zu verwenden, werden die tatsächlich reservierten Chargen und Pakete aus den Reservation Entries übernommen.
🇺🇸 This Customization overrides the standard bin selection logic in Business Central when creating Warehouse Picks. Instead of using the automatically suggested bins, the actually reserved lots and packages from the Reservation Entries are applied.
🎯 Zweck / Purpose
🇩🇪 Bei Hopsteiner ist es oft notwendig, spezifische Chargen (z. B. mit bestimmten Alpha-Werten) für Verkaufsaufträge zu reservieren. Die Standard-Logik von BC würde jedoch andere Lagerplätze vorschlagen, was zu Inkonsistenzen zwischen Reservierung und physischer Kommissionierung führen würde.
🇺🇸 At Hopsteiner, it is often necessary to reserve specific lots (e.g., with specific alpha values) for sales orders. However, BC's standard logic would suggest different bins, leading to inconsistencies between reservation and physical picking.
[!TIP] 💡 Warum diese Anpassung? / Why this Customization?
🇩🇪 Ohne diese Anpassung könnte das Lager Artikel aus falschen Chargen kommissionieren, obwohl diese im System für andere Aufträge reserviert sind.
🇺🇸 Without this customization, the warehouse could pick items from wrong lots, even though they are reserved for other orders in the system.
⚙️ Funktionsweise / How It Works
Event Subscriber / Event Subscriber
🇩🇪 Die Logik ist als Event Subscriber auf OnAfterCreatePickDoc der Tabelle "Warehouse Shipment Line" implementiert. Sie wird automatisch ausgelöst, sobald ein Pick-Dokument aus einem Warenausgang erstellt wird.
🇺🇸 The logic is implemented as an Event Subscriber on OnAfterCreatePickDoc of the "Warehouse Shipment Line" table. It triggers automatically as soon as a pick document is created from a warehouse shipment.
Ablauf / Process Flow
- Warehouse Shipment Line wird erstellt / Warehouse Shipment Line is created
- Event Subscriber prüft Reservation Entries / Event Subscriber checks Reservation Entries
- Bin Code wird aus Warehouse Entry ermittelt / Bin Code is retrieved from Warehouse Entry
- Warehouse Activity Line (Take & Place) wird aktualisiert mit Lot No. und Package No. / Warehouse Activity Line (Take & Place) is updated with Lot No. and Package No.
🔍 Technische Details / Technical Details
Betroffene Tabellen / Affected Tables
| Tabelle / Table | Funktion / Function |
|---|---|
| "Warehouse Shipment Line" | Event-Trigger für Pick-Erstellung / Event trigger for pick creation |
| "Reservation Entry" | Liest reservierte Chargen/Pakete / Reads reserved lots/packages |
| "Warehouse Activity Line" | Wird mit korrekten Bin-Codes aktualisiert / Updated with correct bin codes |
| "Warehouse Entry" | Ermittelt den Bin Code für Charge/Paket / Determines the bin code for lot/package |
Wichtige Funktionen / Key Functions
| Funktion / Function | Beschreibung / Description |
|---|---|
OnAfterCreatePickDoc | Event-Subscriber nach Pick-Erstellung / After Pick Creation |
GetBinCodeFromWarehouseEntry | Ermittelt Lagerplatz aus Lagerplatzposten /Generate Bin Code from Warehouse Entry |
SplitLine | Teilt Zeilen bei unterschiedlichen Mengen / Splits rows when quantities differ |
📋 Voraussetzungen / Prerequisites
🇩🇪 Damit diese Customization korrekt funktioniert, müssen folgende Bedingungen erfüllt sein:
| Voraussetzung / Requirement | Beschreibung / Description |
|---|---|
| ✅ Reservierungen vorhanden | Es müssen Reservation Entries für den Verkaufsauftrag existieren |
| ✅ Warehouse Entries angelegt | Die Chargen/Pakete müssen im Lager erfasst sein |
| ✅ Warehouse Pick aktiviert | Der Lagerort muss für Warehouse Picks konfiguriert sein |
🇺🇸 For this customization to work correctly, the following conditions must be met:
| Requirement | Description |
|---|---|
| ✅ Reservations exist | Reservation Entries must exist for the Sales Order |
| ✅ Warehouse Entries created | Lots/Packages must be recorded in the warehouse |
| ✅ Warehouse Pick enabled | The location must be configured for Warehouse Picks |
[!WARNING] ⚠️ Ohne Reservierungen / Without Reservations
🇩🇪 Wenn keine Reservierungen vorliegen, greift die Standard-Logik von Business Central.
🇺🇸 If no reservations exist, Business Central's standard logic applies.
🌿 Hopsteiner
[!IMPORTANT] ⚠️ Chargen-Reservierung ist kritisch / Lot Reservation is Critical
🇩🇪 Diese Customization setzt voraus, dass spezifische Chargen im Verkaufsauftrag reserviert wurden. Ohne Reservierung wird der falsche Lagerplatz vorgeschlagen.
🇺🇸 This customization assumes that specific lots have been reserved on the sales order. Without reservation, the wrong bin will be suggested.
[!TIP] 💡 Vor der Pick-Erstellung prüfen / Check Before Pick Creation
🇩🇪 Stelle sicher, dass die Reservierungsmethode (Pick Instruction oder Lieferung) korrekt gewählt wurde, bevor der Pick erstellt wird.
🇺🇸 Ensure the reservation method (Pick Instruction or Shipping) is correctly selected before creating the pick.
🔗 Verwandte Themen / Related Topics
- Kommissionierung (Pick)
- Reservierung Verkaufsauftrag
- Warenausgang (Warehouse Shipment)
- Artikelverfolgung (Item Tracking)
- Reservation Transfer Control Add-in
🛠️ Fehlerbehandlung / Troubleshooting
🇩🇪
| Problem | Mögliche Ursache | Lösung |
|---|---|---|
| Falscher Bin Code vorgeschlagen | Keine Reservierung vorhanden | Reservierung im Verkaufsauftrag prüfen |
| Lot No. leer in Pick-Zeile | Warehouse Entry fehlt | Warehouse Entry für Charge anlegen |
| Pick kann nicht gebucht werden | Mengendifferenz | Mengen in Pick und Reservierung abgleichen |
🇺🇸
| Issue | Possible Cause | Solution |
|---|---|---|
| Wrong Bin Code suggested | No reservation exists | Check reservation on the Sales Order |
| Lot No. empty in Pick Line | Warehouse Entry missing | Create Warehouse Entry for the Lot |
| Pick cannot be posted | Quantity discrepancy | Reconcile quantities between Pick and Reservation |