\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 #
