Gelöst BelegPosition - Chargen per Code hinzufügen

Dieses Thema im Forum ".NET (sagede.* DLLs)" wurde erstellt von mgosx, 10. September 2019.

  1. mgosx

    mgosx Mitglied

    Hallo zusammen,
    ich bin dabei eine Access Lösung umzustellen auf .Net / Appdesigner.

    Hierbei übernehme ich einen Auftrag zum Lieferschein, was auch so funktioniert.
    Anschliessend möchte ich die Chargen je Position hinzufügen.
    Unter Access habe ich über nachfolgenden Code die Charge der Belegposition festgelegt:

    Public Sub SetCharge (pos As AbfBelegPosition, Charge as String, Menge as Decimal)
    Set colChargen = New Collection
    Set oCharge = New ChargenEintrag
    oCharge.Charge = Charge
    oCharge.Menge = Menge
    colChargen.Add oCharge
    Set Stck = pos.oStuecklisten.oItemByIndex(1)
    Set Lagerpos = Stck.colLagerplatz(1)
    Set Lagerpos.colChargen = colChargen
    Set colChargen = Nothing
    End Function


    In Sage 8.1 habe ich nun folgenden Code verwendet:

    void AddCharge (Sagede.OfficeLine.Wawi.BelegEngine.BelegPosition position, string charge)
    {
    Sagede.OfficeLine.Wawi.LagerEngine.ChargenEintrag charge = new Sagede.OfficeLine.Wawi.LagerEngine.ChargenEintrag();
    charge.Charge = Charge;
    charge.Menge = position.Menge;
    position.GebuchteChargen.Add(charge);
    }

    Alternativ habe ich auch versucht wie in meinem Beispiel über die StuecklisteCol, LagerplatzCol. zu verweisen.
    position.Stueckliste[0].Lagerplatz[0].ChargenCollection.Add(charge);

    Beides hat leider keinen Erfolg gebracht.

    Die Methode ist eingebettet in meinen Code, der ohne Charge problemlos funktioniert. U. a. werden nach dem Hinzufügen der Charge noch aufgerufen:

    position.RefreshMittlererEKPreis();
    position.CalculateRoherloes();
    position.Calculate();

    und beim Beleg:
    beleg.Calculate(true);
    beleg.CalcAndValidateZDKs();
    beleg.Validate();
    beleg.Save(true);



    Mich wundert, dass nach dem Ausführen meiner Methode im neuen Beleg unter Chargen die Menge (ausgewählt und gebucht) weiterhin 0 ist.


    Kann mir jemand einen Tipp geben, welcher Aufruf noch fehlt?

    Gruss Mark
     
  2. Alexander Volpp

    Alexander Volpp Neues Mitglied

    Hallo,

    ich meine das sollte über die Lagerposition zugeordnet werden:
    position.Lagerplatz[0].ChargenCollection.Add(charge);
     
  3. mgosx

    mgosx Mitglied

    Hallo Alexander,

    vielen Dank genau das wars.

    Gruss Mark
     

Diese Seite empfehlen