Table of Contents

Vorgänge

Vorgänge wie Angebote, Aufträge und Rechnungen können Sie anlegen, buchen und wandeln. Die Nummern der Vorgangsarten richten sich nach Ihrer microtech-ERP-Konfiguration.

Vorgang mit Positionen erstellen

AddPosition stellt die Positionen in die Warteschlange; sie werden mit dem Vorgang gespeichert. Die Positionen beschreibt CreateVorgangPosition<T>.

var vorgang = qlApp.AddDataSet<Transactions>();
vorgang.AdrNr = "10000";
vorgang.Art = 70;
vorgang.Bez = "Testauftrag";

vorgang.AddPosition(new CreateVorgangPosition<TransactionItems>("ARTIKEL-001", 5, "Stk"));
vorgang.AddPosition(new CreateVorgangPosition<TransactionItems>("ARTIKEL-002", 10, "Stk", bez: "Optionale Bezeichnung"));
vorgang.Save();

Lieferanschrift übernehmen

var anschrift = qlApp.ReadDataSet<PostalAddresses>()
    .First(a => a.AdrNr == "10000" && a.AnsNr == 1);

vorgang.SetLieferAnschrift(anschrift);
vorgang.Save();

Buchen

var vorgang = qlApp.QueryDataSet<Transactions>()
    .First(v => v.BelegNr == "LS-2025-0001");

bool erfolg = vorgang.Buchen();

Wandeln

Beim Wandeln entsteht aus einem Vorgang eine andere Vorgangsart, etwa aus einem Angebot ein Auftrag.

var angebot = qlApp.QueryDataSet<Transactions>()
    .First(v => v.BelegNr == "AN-2025-0001");

var result = angebot.Wandeln(targetVorgangArt: 10)
    .MitLieferDatum(DateTime.Today.AddDays(7))
    .Execute();

if (result.Success)
    Console.WriteLine($"Gewandelt zu: {result.NeueVorgangNr}");

Stornieren

var vorgang = qlApp.QueryDataSet<Transactions>()
    .First(v => v.BelegNr == "RE-2025-0001");

bool erfolg = vorgang.Stornieren();

Archivieren und wiederherstellen

Das Archiv-Kapitel zeigt das Verschieben und Wiederherstellen von Vorgängen.

Externe Verarbeitung entsperren

ExterneVerarbeitungEntsperren hebt die Sperre eines Vorgangs auf, der zur externen Verarbeitung markiert ist.

bool erfolg = vorgang.ExterneVerarbeitungEntsperren();

Löschen

vorgang.Remove(o => o.IgnoreWarnings());

IgnoreWarnings bestätigt die beim Löschen auftretenden Warnungen.

Liefermengen beim Wandeln

Mit MitLieferMengeSchluessel steuern Sie zusätzlich die Behandlung der Liefermengen; die Werte stehen in GraphQlDeliveryQuantityHandling:

var result = angebot.Wandeln(targetVorgangArt: 10)
    .MitLieferMengeSchluessel(GraphQlDeliveryQuantityHandling.Ignore)
    .Execute();