Metadaten, erste Action und Logging
Ausgehend vom Projekt aus Basic Setup definieren Sie die Modulmetadaten und eine Action zum Zählen von Artikeln.
Modulmetadaten definieren
Die Modulklasse in MainModule.cs erbt von BpModule:
namespace Meinefirma.Beispiel;
public sealed class MainModule : BpModule
{
public override string ModuleName => "Mein Modul";
public override string ModuleVersion => "1.0.0";
public override string ModuleDescription => "Beispiele für den Datenzugriff mit dem Actions SDK.";
}
Jedes Modul enthält genau eine Klasse, die von BpModule erbt. Die überschriebenen Properties
definieren Anzeigename, Version und Beschreibung des Moduls in Studio. Name und Version
müssen mit name und version in der manifest.json übereinstimmen.
Action hinzufügen
[Action] veröffentlicht eine Methode als ausführbare Funktion. Ergänzen Sie die
Artikelzählung in der Modulklasse; das COM-Profil und die Modellreferenz sind unter
Basic Setup beschrieben:
public sealed class MainModule(IBpSession session) : BpModule
{
public override string ModuleName => "Mein Modul";
public override string ModuleVersion => "1.0.0";
public override string ModuleDescription => "Beispiele für den Datenzugriff mit dem Actions SDK.";
[Action("artikel-zaehlen", Display = "Artikel zählen")]
public int ArtikelZaehlen()
{
return session.QueryDataSet<Artikel>().Count();
}
}
IBpSession greift auf den Mandanten des gewählten Verbindungsprofils zu.
QueryDataSet<Artikel>() ist dabei der Datenzugriff des BpNexT.NET SDK.
Weitere Abfragen und Schreiboperationen verwenden Sie genauso; siehe SDK verwenden.
artikel-zaehlen ist die dauerhafte ID der Action; Display legt den Anzeigenamen fest.
Behalten Sie die ID nach der Veröffentlichung bei, damit bestehende Aufrufe und Zeitpläne
weiter auf dieselbe Action verweisen.
Der Rückgabewert erscheint als Ergebnis in der Ausführungshistorie.
Modul debuggen
Beim ersten Build erzeugt die Vorlage das Debugprofil für die installierte Runtime:
dotnet build
Wählen Sie das erzeugte Runtime-Debugprofil und starten Sie mit F5. Die Runtime lädt das Modul aus der Build-Ausgabe; Breakpoints im Modulcode sind damit aktiv.
Prüfen Sie bei Startproblemen zuerst die folgenden Punkte:
- Port belegt: Stoppen Sie die bereits laufende Runtime vor dem Debugstart.
- Abweichender Installationspfad: Setzen Sie
BPNEXT_HOMEauf das Runtime-Verzeichnis, entfernen Sie die erzeugteProperties/launchSettings.jsonund bauen Sie erneut.
Action in Studio ausführen
Öffnen Sie in Studio unter Pakete das mit dev markierte Modul. Prüfen Sie das
Verbindungsprofil und starten Sie Artikel zählen über Ausführen.
Unter Ausführungen in Studio finden Sie Status, Eingabe, Ergebnis, Protokoll, Dauer und Auslöser.
Logging ergänzen
Meldungen über ILogger<T> erscheinen im Protokoll der jeweiligen Ausführung:
public sealed class MainModule(
IBpSession session,
ILogger<MainModule> logger) : BpModule
{
// ModuleName, ModuleVersion und ModuleDescription bleiben unverändert.
[Action("artikel-zaehlen", Display = "Artikel zählen")]
public int ArtikelZaehlen()
{
var anzahl = session.QueryDataSet<Artikel>().Count();
logger.LogInformation("{Count} Artikel gezählt", anzahl);
return anzahl;
}
}
Unbehandelte Exceptions werden im Ausführungsdetail mit Fehlermeldung und Stacktrace als Fehlgeschlagen protokolliert.
Für die dauerhafte Installation erstellen Sie ein Paket.