AL - Validate Trigger erweitern

4. März 2020 15:38

Hallo zusammen,

ich versuche aktuell den Tabellentrigger (OnValidate) zu erweitern. Dies ist leider nicht mehr ganz so einfach wie früher - mit allen Vor- und Nachteilen. Ich arbeite mit der BC Version 15.2 (Cloud/SAAS).

In einer Codeunit, habe ich mich per EventSubscriber an das OnAfterValidate des Feldes gehangen. Soweit sogut...

Mein Problem ist, dass der Trigger „OnAfterValidate“ auch durchlaufen wird, wenn in dem BC Standard Code im OnValidate Trigger ein Exit ist. Sprich ich will gar nicht, dass mein Code durchlaufen wird. Aber scheinbar weiß der OnAfterValidate gar nichts davon.
Gibt es eine Möglichkeit dies dem OnAfterValidateTrigger beizubringen, oder muss ich die komplette Bedingungen, die im OnValidate steht, die zum Exit führt kopieren und in meinen Trigger ebenfalls einbauen ?

Würde ja bedeuten, dass ich mit jeder neuen BC Version prüfen muss, ob sich die Bedingung im Standard geändert hat.

Ich hoffe es gibt da eine schönere Lösung/Ideen.
Bin für jede Idee offen und dankbar :)

Gruß Daniel

Re: AL - Validate Trigger erweitern

4. März 2020 15:55

DWE hat geschrieben:...
Mein Problem ist, dass der Trigger „OnAfterValidate“ auch durchlaufen wird, wenn in dem BC Standard Code im OnValidate Trigger ein Exit ist. Sprich ich will gar nicht, dass mein Code durchlaufen wird. Aber scheinbar weiß der OnAfterValidate gar nichts davon.
Gibt es eine Möglichkeit dies dem OnAfterValidateTrigger beizubringen, oder muss ich die komplette Bedingungen, die im OnValidate steht, die zum Exit führt kopieren und in meinen Trigger ebenfalls einbauen ?
...

Das ist mal so. Nur weil im OnValidate ein EXIT steht, heißt das nicht, das OnAfterValidate oder dein Subscriber nicht ausgeführt wird.
Exit bedeutet ja nur "raus". Bei einem Error ist das was anderes.

Re: AL - Validate Trigger erweitern

4. März 2020 19:27

Ja ok. Das habe ich auch festgestellt.

Löst nur noch nicht das Problem, das der OnAfterValidate dann gar nicht ausgeführt werden soll. Dafür suche ich eine elegante Lösung.

Re: AL - Validate Trigger erweitern

5. März 2020 09:59

Solange kein Error geworfen wird, ist dem Event relativ egal was der Trigger macht. Du müsstest in dem Fall tatsächlich die Prüfung im Event nachbauen.