Lagerplatzzuordnung bei Handelsstücklisten

Arne Drews

Mitglied
Moin,

Ich weise über eine DCM Belegpositionen einen definierten Lagerplatz auf Basis bestimmter Kriterien zu.
Das klappt problemlos für Standard-Artikel mit
C#:
position.SetLagerplatz(12345, "DUMMY01;0;0;0");

Bei Handelsstücklisten muss ich allerdings über die Stückliste der Position gehen, wo es dann für die BelegStueckliste-Objekte keine Methode SetLagerplatz() gibt.
Mein Weg sieht aktuell so aus:
C#:
foreach (BelegStueckliste element in position.Stueckliste)
{
    decimal gesamt = element.MengeBasis * position.Menge;

    element.Lagerplatz.Clear();
    element.Lagerplatz.Add(new LagerPosition { PlatzHandle = 12345, Kurzbezeichnung = "DUMMY01;0;0;0", Menge = gesamt });
}

Die Kenner werden sicher schon sehen, dass das nicht funktioniert.
Welchen Weg muss ich an der Stelle gehen? Ich möchte jedem einzelnen Element der Stückliste einen separaten Lagerplatz zuweisen können.

Danke für Info
 
Ich würde zunächst jeweils eine neue "LagerPositionCollection()" initialisieren und dann den Lagerplatz hinzufügen.
Die "MengeBasis" entspricht schon der Gesamtmenge (Menge * MengeFaktor), muss also nicht multipliziert werden.
Zudem sollte geprüft werden, ob der Artikel überhaupt lagerführend ist.

Sollte dann so aussehen:

C#:
foreach (BelegStueckliste element in position.Stueckliste)
{
    if (element.HatLagerfuehrung)
    {
        element.Lagerplatz = new LagerPositionCollection();
        element.Lagerplatz.Add(new LagerPosition { PlatzHandle = 12345, Kurzbezeichnung = "DUMMY01;0;0;0", Menge = element.MengeBasis, MengeBasis = element.MengeBasis });
    }
}

Ein Element könnte ebenfalls wieder eine Stückliste sein, von daher sollte noch der Stücklistentyp geprüft werden und die Funktion dann rekursiv aufgerufen werden.
 
Zurück
Oben