Event Frage

19. August 2022 10:17

Hallo zusammen,

in unserer Firma beginnen bald die ersten Workshops zum Thema BC und wir als Entwickler stellen uns grade folgende Frage, die unser Systemhaus nicht vollends beantworten konnte (oder wir haben die Antwort nicht verstanden).

Folgendes, soweit wir das verstanden haben, können wir an bestimmten Punkten Events erstellen lassen um unsere Programmierung unterbringen zu lassen.
Nun folgende Annahme.

Wir haben an einem Punktk nun ein Event beantragt und das haben x Firman auch gemacht oder es gibt Standard Events. Dann haben wir an dieser Stelle nun X Events?
Wenn wir an diesee Stelle zum Beispiel ein Validate unterbinden möchten und aus unserem Event mit Exit rausspringen möchten... in welcher Reihenfolge werden die Events abgearbeitet? Wie können wir sicherstellen, dass unser Event das erste wäre?

Oder wie wäre hier die generelle Vorgehensweise? Vielleicht denken wir noch zu C/Al lastig :)

Grüße

Re: Event Frage

19. August 2022 10:53

LandorCaeyran hat geschrieben:in welcher Reihenfolge werden die Events abgearbeitet?

In Reihenfolge der App-ID, siehe hier, also je nach installierten Extensions, die sich jederzeit ändern können, keine dauerhafte feste Reihenfolge.

Re: Event Frage

19. August 2022 11:07

Hallo,

Also die denke das hat nicht wirklich etwas mit C/AL- Lastigkeit zu tun. das ist schlichtweg ein nicht gelöstes Problem.

Per Definition ist die Reihenfolge, in der Events abgearbeitet werden, nicht definiert. Tatsächlich ist sie aber wohl von der App-ID des Subscribers abhängig.

Wenn es zu einem Event mehrere Subscriber gibt, werden die also in einer "zufälligen"- Reihenfolge abgearbeitet. Wenn du möchtest das andere Eventsubscriber nicht mehr abgearbeitet werden, dann hat man bei vielen Events den IsHandled- Parameter eingeführt, den man in seinem Subscriber überprüfen kann, und dann ggf. den eigenen Subscriber abbrechen kann. Wenn dann der Publisher zurückkehrt wird der in der Regel den darauffolgenden Code nicht mehr ausführen, wenn IsHandled gesetzt ist. (Das muss man dann in der Base-App prüfen). Grundsätzlich deaktivierst du damit dann aber u.U. andere Events die in dem übersprungenen Code ausgeführt worden wären, und verhinderst damit u.U. das Funktionieren anderer Apps. Das kann man leider nicht sehen. Man sollte IsHandled also nach Möglichkeit nicht einsetzen.

Gruß Fiddi

Re: Event Frage

19. August 2022 11:11

Oh, vielen Dank.

Dann bin ich mal gespannt inwieweit das im Alltag dann ein tatsächliches Problem wird.

Re: Event Frage

19. August 2022 12:56

LandorCaeyran hat geschrieben:Dann bin ich mal gespannt inwieweit das im Alltag dann ein tatsächliches Problem wird.

Ich hatte das bei MS schon 2016 angesprochen, und die Antwort war "Testen, ob alles wie geplant funktioniert".
Das ist leider weiterhin die einzige Möglichkeit d.h. alle installierten Apps regelmäßig gemeinsam durch automatische Tests zu jagen und die Ergebnisse kontrollieren. Ein Test einer einzelnen App prüft nur, ob die für sich alleine korrekt arbeitet.

Re: Event Frage

22. September 2022 15:05

Kowa hat geschrieben:d.h. alle installierten Apps regelmäßig gemeinsam durch automatische Tests zu jagen und die Ergebnisse kontrollieren. Ein Test einer einzelnen App prüft nur, ob die für sich alleine korrekt arbeitet.

Ich habe die Problematik bei den TechDays bei der Session "Advanced topics in test automation" hier im Video bei Q&A angesprochen.