get_os_events()

Listet die serverseitig konfigurierten Scripting-Events (OsEvents) über dms.GetOsEvents auf. Jedes Event verknüpft einen Event-Code (Auslösezeitpunkt) mit einem Script-Code (VBScript oder JavaScript) und einem Geltungsbereich (Objekttyp, UI-Kontext, Zielplattform).

Alle Filter sind optional und werden mit UND verknüpft. Ohne Filter liefert der Server alle konfigurierten Events.

1. Signatur

  • Sync

  • Async

ecm.system.get_os_events(
    *,
    os_event_id: int | None = None,
    event_code: int | ECMOsEventCode | None = None,
    os_class_name: str | None = None,
    object_class: int | ECMOsObjectClass | None = None,
    app_class: int | ECMOsAppClass | None = None,
    event_params: str | None = None,
) -> list[ECMOsEvent]
await ecm.system.get_os_events(
    *,
    os_event_id: int | None = None,
    event_code: int | ECMOsEventCode | None = None,
    os_class_name: str | None = None,
    object_class: int | ECMOsObjectClass | None = None,
    app_class: int | ECMOsAppClass | None = None,
    event_params: str | None = None,
) -> list[ECMOsEvent]

2. Parameter

Parameter Typ Standard Beschreibung

os_event_id

int

None

Filter auf die interne Event-id (Datenbank-Primärschlüssel).

event_code

int | ECMOsEventCode

None

Filter auf den Event-Auslöser. ECMOsEventCode enthält bekannte Codes (z. B. KERNEL_BEFORE_JOB=5000); ein int wird ebenfalls akzeptiert.

os_class_name

str

None

Filter auf den Ziel-Objekttyp: "Application" für anwendungs-/serverweite Events, sonst die type_id als String.

object_class

int | ECMOsObjectClass

None

Filter auf den UI-Kontext, siehe ECMOsObjectClass.

app_class

int | ECMOsAppClass

None

Filter auf die Zielplattform: CLIENT=1, SERVER=2, WEBCLIENT=3.

event_params

str

None

Filter auf den Kontextparameter (Feld-GUID, Jobname oder Bibliotheksname).

3. Rückgabewert

Eine Liste von ECMOsEvent. Leer, wenn kein Event auf die Filter passt.

Das Modell ECMOsEvent hat folgende Felder:

Feld Typ Beschreibung

id

int

Interner Primärschlüssel; Handle für update_os_event() und delete_os_event().

event_code

int

Event-Auslöser; vergleichbar mit ECMOsEventCode-Werten.

os_class_name

str

Ziel-Objekttyp ("Application" oder type_id).

object_class

int

UI-Kontext, vergleichbar mit ECMOsObjectClass.

app_class

int

Zielplattform, vergleichbar mit ECMOsAppClass.

is_js

bool

True für JavaScript, False für VBScript.

vb_code

str

Script-Code (trotz Feldname je nach is_js auch JavaScript).

os_event_params

str

Kontextparameter (Feld-GUID, Jobname oder Bibliotheksname); leer wenn ohne Kontext.

modify_user

str

Login-Name des Benutzers, der das Event zuletzt geändert hat.

last_modified

datetime

Zeitpunkt der letzten Änderung (UTC).

4. Beispiele

4.1. Alle Server-Events auflisten

  • Sync

  • Async

from ecmind_blue_client.ecm import ECMOsAppClass

for event in ecm.system.get_os_events(app_class=ECMOsAppClass.SERVER):
    print(event.id, event.event_code, event.os_class_name)
from ecmind_blue_client.ecm import ECMOsAppClass

for event in await ecm.system.get_os_events(app_class=ECMOsAppClass.SERVER):
    print(event.id, event.event_code, event.os_class_name)

4.2. Ein einzelnes Event per id laden

events = ecm.system.get_os_events(os_event_id=9)
event = events[0] if events else None

5. Wichtiger Hinweis

Diese Operationen greifen direkt auf die Scripting-Infrastruktur von enaio zu. Falsch konfigurierte Events können den Client oder Server stören. Änderungen sollten getestet und versioniert werden.

6. Siehe auch