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

Vorgaenge.Append legt den Vorgang samt Positionen an; die Positionen beschreibt CreateVorgangPosition<T>.

var vorgang = new Vorgang
{
    AdrNr = "10000",
    Art = 70,
    Bez = "Testauftrag"
};

var positionen = new List<CreateVorgangPosition<VorgangPosition>>
{
    new("ARTIKEL-001", menge: 5, einheit: "Stk"),
    new("ARTIKEL-002", menge: 10, einheit: "Stk", bez: "Optionale Bezeichnung")
};

vorgang = bpApp.Vorgaenge.Append(vorgang, positionen);

Lieferanschrift übernehmen

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

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

Buchen

var vorgang = bpApp.QueryDataSet<Vorgang>()
    .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 = bpApp.QueryDataSet<Vorgang>()
    .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 = bpApp.QueryDataSet<Vorgang>()
    .First(v => v.BelegNr == "RE-2025-0001");

var gutschriftArt = vorgang.GetPossibleStornoArten().First();
bool erfolg = vorgang.Stornieren(archiv: true, gutschrift: true, gutschriftArt: gutschriftArt);

Wählen Sie die gewünschte Gutschriftsart aus den möglichen Stornoarten; das Beispiel verwendet die erste. Die Stornierung selbst führt Stornieren aus.

Archivieren und wiederherstellen

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

Drucken

GetLayoutBuilder liefert einen LayoutBuilder für ein microtech-ERP-Drucklayout. Der Builder setzt die LayoutPrinterSettings, Build() gibt das Layout zurück und Print führt den Druck aus. Die möglichen Exportformate stehen in FileFormats.

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

var layout = vorgang.GetLayoutBuilder("Rechnung Standard")
    .WithPrinterSettings(new LayoutPrinterSettings
    {
        FileExport = true,
        PrintKind = PrintKind.pkErsteFolgeSeiten,
        FileFormat = FileFormats.AdobeAcrobatReader,
        FileName = @"C:\Export\Rechnung.pdf",
        FileOverwrite = true
    })
    .Build();

vorgang.Print(layout);

Ohne Layoutnamen verwendet GetLayoutBuilder() das erste Layout der jeweiligen Vorgangsart (E-Mail-Layouts werden dabei übersprungen). Die Druckereinstellungen werden in microtech ERP gespeichert.

Layout-Gruppen, Direktdruck und Exportformate, auch für andere Datensatztypen, beschreibt das Druckkapitel.