Gelöst Beleg wird nicht angelegt

Arne Drews

Mitglied
Hi,

Belege lege ich ja in verschiedenen Projekten an, aber hier scheint ein Fehler zu sein, den ich nicht finde.
Es handelt sich um eine kleine .NET Applikation, in der ich eine Session aufbaue.
Die Session wird auch korrekt erzeugt, auch Lagerbuchungen werden entsprechend durchgeführt.

Leider wird aber der Beleg ohne ersichtlichen Fehler oder Hinweis nicht angelegt.
Ich übergebe der Methode den Sage-Mandanten, wie auch bei der Methode der Lagerbuchungen.

Meine Methode zur Belegerzeugung sieht so aus:
Code:
private bool CreateDocument( SageEngine.Mandant Mandant )
{
    try
    {
        using (SageBeleg.Beleg doc = new SageBeleg.Beleg(Mandant, SageWawiTools.Erfassungsart.Verkauf))
        {
            doc.Initialize("SAB", DateTime.Now.Date, (short)DateTime.Now.Year);
            doc.SetKonto("1007545", false);
            doc.Versand = "ABH";
            doc.Lieferbedingung = "ABH";
            doc.SetZkd("Voraus");
            doc.Bearbeiter = (Environment.UserDomainName + @"\" + Environment.UserName).ToLower();
            doc.Matchcode = "Barverkauf";

            SageBeleg.BelegPosition pos = new SageBeleg.BelegPosition(doc);
            pos.Artikelnummer = "43805";
            pos.AuspraegungsHandle = 0;
            pos.Menge = (decimal)1.0;

            doc.Positionen.Add(pos);

            doc.Renumber();
            doc.ReadObligatorischeZuschlaege();

            doc.Calculate(true);
            doc.Validate();
            doc.Save(false);
        }
    }
    catch ( Exception ex )
    {
        MessageBox.Show(ex.Message);
        return false;
    }

    return true;
}
Wenn ich das mit anderen Projekten vergleiche, mache ich meiner Ansicht nach nichts anderes.
Aber hier will kein Beleg erzeugt werden?!

Für mich sieht das Problem danach aus, als wenn er die Positionen nicht richtig übergibt ( siehe Anhang ).
Wär schön, wenn jemand Hinweise hat.
Danke


Achso... SageBeleg und SageEngine sind Aliase für die entsprechenden Assemblies.
 

Anhänge

  • beleganlage.jpg
    beleganlage.jpg
    123,7 KB · Aufrufe: 13
Zuletzt bearbeitet:
Hi Arne,

Verdammt... Du hast recht.
Die Verwirrung darüber, warum die alten Scripte dann gelaufen sind, ignoriere ich jetzt mal.

So funktioniert es natürlich. Was ich spannend finde ist, dass er den Lagerplatz bei pos.SetLagerplatz(int, string); für Handelsstücklisten auf alle Elemente verteilt. Ist für mich an diesem Punkt zwar genau, was ich brauche, aber wir haben schon Handelsstücklisten, bei denen die Elemente auf nebeneinander liegenden Plätzen verteilt sind.

Aber das ist erstmal egal, es funktioniert soweit.

Hast Du evtl. noch einen Tipp, wie ich die Kundengruppe des Beleg ändern kann. Eine entsprechende Methode oder Eigenschaft konnte ich am Beleg nicht finden. Er zieht sich das natürlich aus dem Kontokorrenten, aber das ist nicht immer richtig für diese Anwendung.

jibbed da was?

Erstmal aber danke, das hat wie immer geholfen!
;)
 
Hi,
da schaue ich morgen Mal. Ich hab das irgendwann schon machen irgendwo manipuliert....
 
Zurück
Oben