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();