14. September 2018 15:35
14. September 2018 15:46
Was unterscheidet den Aufruf des Events dort zu dem Aufruf einer Normalen Funktion die in einer Codeunit liegt ?
14. September 2018 15:54
fiddi hat geschrieben:Nur ist nicht definiert und nicht steuerbar in welcher Reihenfolge.
14. September 2018 16:08
14. September 2018 16:27
fiddi hat geschrieben:Das Prinzip soll eigentlich sein, das du im Standard, also auch im Onvalidate- Trigger, keinen eigenen Code mehr hast, sondern nur noch die vom NAV bereitgestellten Events nutzt. Dadurch soll der Update- Vorgang theoretisch vereinfacht werden. Ob das praktisch auch so ist, muss sich noch zeigen.
In deinem Fall würdest du keinen eigenen Publisher definieren und aufrufen, sondern z.B. den OnAfterValidate- Event des Feldes nutzen, um deinen eigenen Subscriber (Code) auszuführen, wenn es denn passt.
Ein weiterer Unterschied ist, dass du den Pullisher aufrufen kannst, ohne das jemand darauf hört. Der Aufruf geht also ins Leere ohne Fehler.
Außerdem kann ein Publisher mehrere Subscriber haben, deren Code nacheinander ausgeführt wird. Nur ist nicht definiert und nicht steuerbar in welcher Reihenfolge.
Publisher.OnAddressLineChanged(Address);
Subscribers.CheckAddressLine(Address);
14. September 2018 16:55
[EventSubscriber(ObjectType::Table, Database::"Customer", 'OnAfterValidateEvent', 'Address', false, false)]
local procedure MeinErsterSubscriber(var Rec : Record "Customer"; var xRec : Record "Customer");
begin
Message('mach was cooles');
end;
[EventSubscriber(ObjectType::Page, Page::"Meine Bestimmte Page", 'OnAfterValidateEvent', 'Address', false, false)]
14. September 2018 17:10
Die Events sollen also helfen dass man den Funktionsaufruf welchen ich momentan auf einer Page oder sonstwo setze, nicht mehr nötig ist? (In zukunft?)
Es macht momentan also kein Unterschied ob ich im OnValidate Trigger der Page21
- Code:
Publisher.OnAddressLineChanged(Address);
oder
- Code:
Subscribers.CheckAddressLine(Address);
17. September 2018 09:38
17. September 2018 09:43
Coole Sache.
17. September 2018 10:00
fiddi hat geschrieben:Coole Sache.
Du musst dich auf alle Fälle umgewöhnen, da du nicht mehr alles siehst, was dein Programm tut, wenn du dir den Quellcode anschaust.
Gruß Fiddi
17. September 2018 10:22
elTorito hat geschrieben:fiddi hat geschrieben:Coole Sache.
Du musst dich auf alle Fälle umgewöhnen, da du nicht mehr alles siehst, was dein Programm tut, wenn du dir den Quellcode anschaust.
Gruß Fiddi
Gutes Kommentieren kann da bestimmt helfen?
17. September 2018 10:25
Da man bei Problemen eh immer den Debugger verwenden muss, ist das in meinen Augen kein Problem.
17. September 2018 10:52
17. September 2018 10:55
fiddi hat geschrieben:Da man bei Problemen eh immer den Debugger verwenden muss, ist das in meinen Augen kein Problem.
Du kannst aber zur Fehlereingrenzung nicht mal eben einen Subscriber aussperren, wenn du nicht an den Code kommst.
"showMyCode": true
17. September 2018 11:59
Kowa hat geschrieben:...in der app.json dazugeschrieben wurde (Vorgabe ist false ), dann kann man die gar nicht mehr debuggen ...
- Code:
"showMyCode": true
17. September 2018 12:37
Das halte ich ja persönlich für eine Fehlentscheidung.
6. Februar 2019 13:03
Kowa hat geschrieben:Und wenn man eine Extension hat, wo nicht ausdrücklichin der app.json dazugeschrieben wurde (Vorgabe ist false ), dann kann man die gar nicht mehr debuggen .
- Code:
"showMyCode": true
"showMyCode": true