Menübefehle Powershell Call Und Shell Call
Zuletzt geändert: 18.11.2025 10:32

\ROOT\OBJECTS\DATAOBJECTS\{objektname}\ACTIONS\{actionname}

Diese zwei Typen von Menübefehlen sind in EULANDA 2025.10 neu hinzugekommen und befinden sich aktuell in der Erprobungsphase. Als Typ (Type) sind deshalb aktuell Powershell.beta oder ShellCall.beta vorgesehen. Bis zur allgemeinen Freigabe ist das Anhängsel .beta notwendig, da sich bis dahin noch Details der Implementierung und Parameter ändern können.

Allgemeine Eigenschaften aller Menübefehle #

Name Typ Standard Bedeutung
Type string Powershell.beta oder ShellCall.beta
Title string Anzeigename - z.B. im Menü
ActionClass string (ohne) Untermenü
Hint string (ohne) Hinweis, maximal eine Zeile
ShortCut string (ohne) Tastenkombination, englisch. Z.B. CTRL+P
IconUrl string (ohne) Angezeigtes Icon
SafeForBatchProcessing bool false

Gemeinsame Eigenschaften von ShellCall und Powershell #

Name Typ Bedeutung
CommandText string Powershell- oder Cmd-Befehl
Context int/string 0 Aufruf mit aktuellem Datensatz oder allgemein
Visible bool false Prozessfenster ist sichtbar
Interactive bool false Interaktiver Prozess
Async bool false Asynchrone Ausführung
Environment string (ohne) Umgebungsvariablen manipulieren
Logs string (ohne) Debugausgaben (für zukünftike Erweiterungen)

Automatische Umgebungsvariablen #

folgende Umgebungsvariablen sind im aufgerufenen Prozess verfügbar

Name Datentyp Bedeutung
EULANDA_ALIAS string Alias des Mandanten, i.d.R. der Menüeintrag
EULANDA_SERVERNAME string Name des SQL-Servers
EULANDA_DATABASENAME string Name der SQL-Datenbank
EULANDA_CONNECTIONSTRING string ADO/OleDB-Verbindungszeichenfolge
EULANDA_DOC string Name des Datenobjekts, falls zutreffend
EULANDA_CURRENT_ID int ID des aktuellen Datensatzes, falls zutreffend

Powershell-spezifisch #

Type = Powershell.beta

Name Datentyp Bedeutung
ExecutionPolicy string
StrictMode int
CallStyle string
Timeout variabel
InputFormat
OutputFormat

ShellCall-spezifisch #

Type = ShellCall.beta

aktuell keine gesonderten Einstellungen

Powershell Beispiel A #

In diesem Beispiel wird der Text “Hallo Welt!” mit der aktuellen Datensatz-ID ausgegeben. Falls kein Datensatz selektiert ist, wird eine ausgegeben.

Implementierungsdetails #

Innerhalb des Commandtext wird das Object $Context zur Verfügung gestellt, welches die aktuelle Datensatz ID oder -1 als $Context.CurrentID zur Verfüguing stellt.

Eine Fehlermeldung kann über den Powershell throw-Befehl ausgegeben werden. Der Powershell-Befehl wird danach typischerweise abgebrochen, wenn keine weitere Behandlung der Exception erfolgt.

Normale Meldungen werden über write-host ausgegeben. Wie auch bei SQL-Fehlermeldungen innerhalb Eulandas kann über den Präfix [ADDRESS:USER] oder [ADDRESS:DEVELOPER] festgelegt werden, ob die Meldung direkt dem Benutzer präsentiert wird oder nur im Debug-Fenster sichtbar ist.

Commandtext #

if ($Context.CurrentID -eq -1) {  
  Throw "Es ist kein Datensatz ausgewählt" 
} else { 
  write-host "[ADDRESS:USER]Hallo Welt! Die ID für $($Context.DOCName) 
    lautet $($Context.CurrentID)"   
}

Ausgabe #