Kann man die "Notifications" im enaio Fullclient ansprechen/nutzen?

Hallo zusammen,

ich habe im enaio Client ein paar events die je nach Auftragsumfang einen kleinen Moment arbeiten bis der User ein Ergebnis sieht. Ungeduldige Nutzer sollen mit einem Hinweis konfrontiert werden das es kurz dauern wird bis enaio gezaubert hat :slight_smile:

Ich würde gerne die gute alte Messagebox auslassen und die Notification Funktion des Clients nutzen … man kann diese ja auch aus dem Enterprisemanager „abfeuern“.

Habt Ihr da einen Tipp für mich ?

Danke vorab und viele Grüße
Flo

Hallo Florian,

ja das geht. Hierzu brauchst du zwei Dinge:

Server API Call krn.SendMessageToClients

Mit dem API Call krn.SendMessageToClients kann man enaio Windows Clients Nachrichten senden.

Parameter

Parameter Inhalt Bemerkung
Flags 0 Nicht relevant, einfach 0 mitgeben
Computer Würde ich in Ihrem Fall leer lassen, ausser Sie wissen sicher den Computernamen
Instance ax Für den Windows Client immer ax setzen. Kann im Prinzip auch leer gelassen werden
User Benutzernamen Name des Benutzers. Kann auch leer gelassen werden.
Message StartEvent Es gibt Message und StartEvent zur Auswahl. Message erzeugt ein Popup, StartEvent löst den Event StartAction aus
Info Nicht relevant
Text 1082,262148;1086,262148 Text für das Popup bzw. kann dies im Event ausgelesen werden
Broadcast 3 Verteilt den Event über alle Server Instanzen.

Details zum Job gibt es im Server-API Handbuch auf Seite 335

Als Client Event würde der Aufruf des API Endpunkts z.B. dann also so aussehen:

Dim Job: Set Job = DrtSession.CreateJob("krn", "SendMessageToClients")

Job.AddInParam "Flags", 0, 2
Job.AddInParam "Computer", "", 1
Job.AddInParam "Instance", "ax", 1
Job.AddInParam "User", "uw", 1
Job.AddInParam "Message", "StartEvent", 1
Job.AddInParam "Info", "", 1
Job.AddInParam "Text", "1082,262148;1086,262148", 1
Job.AddInParam "Broadcast", 3, 2
Job.Execute

Aber Sie können dies natürlich auch über Server-Events, Server-API, die Client COM Schnittstelle etc. auslösen. Ich habe dieses Beispiel gewählt, da du dies schnell in einen Click Event eines Buttons hinzufügen kannst und so den Effekt direkt siehst.

Client Event StartAction

Im enaio Fullclient gibt es einen Event ‚StartAction‘ im Bereich Allgemeine Events.
Dieser Event wird beim Empfang eines Events ausgeführt (wenn Message = StartEvent).

Das obere Bespiel z.B. führt dazu, dass dieser Event ausgelöst wird und den Inhalt von Text als temporäre Event Datei (asfile.Filename) mit kommt.

In diesem Code-Beispiel öffnet sich dann zum Beispiel eine Liste von Objekten als neue Trefferliste im enaio Client.

Function Main()

	Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject") 
	Dim File: Set File = FSO.OpenTextFile(asfile.Filename) 
	Dim IDs: IDs = File.ReadAll 
	File.Close 

	application.OpenResultList IDs, "Titel der Trefferliste"
End Function
Main()

Einschränkungen

  • Der Webclient, Mobile Apps und der Electron Client besitzen leider aktuell diese Funktionalität nicht.
  • Events werden nicht gespeichert bis das Zielsystem erreichbar ist. Das heisst, wenn der gewünschte Client nicht gerade am enaio Server angemeldet ist, dann wird er die Nachricht nicht im nach hinein erhalten
  • Es gibt für diesen API Endpunkt keine Webschnittstelle. Hier bieten wir als Microservice den SendMessageService an.

Hilft dir das weiter?

1 „Gefällt mir“

Hallo Uli,

perfekt - genau das was ich benötige :slight_smile:

Danke Dir und Viele Grüße
Flo