OnAfterModify (Record) Event funktioniert nicht

Bild Microsoft Dynamics NAV 2016

OnAfterModify (Record) Event funktioniert nicht

Beitragvon enh » 27. April 2016 20:20

Ist das ein bekanntes Problem? Code im OnAfterModify Event (in meinem Fall Tabelle 15 G/L Account) wird nicht ausgefĂĽhrt. Ein Rec.MODIFY fĂĽhrt zum Absturz, ohne Modify passiert aber nicht das gewĂĽnschte. Es soll ein Feld im Record beschrieben werden. Im OnBeforeModify Event funktioniert's.
enh
 
Beiträge: 2330
Registriert: 5. Februar 2014 15:42
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re: OnAfterModify (Record) Event funktioniert nicht

Beitragvon Danis » 28. April 2016 09:04

Ich verweise einmal auf diesen MSDN Eintrag.
Dort ist folgendes zu Database Trigger Events beschrieben:

Database trigger event with signature

  • OnBeforeDeleteEvent(VAR Rec: Record, RunTrigger: Boolean)
    Executed before a record is deleted from a table.
  • OnAfterDeleteEvent(VAR Rec: Record, RunTrigger: Boolean)
    Executed after a record is deleted from a table.
  • OnBeforeInsertEvent(VAR Rec: Record, RunTrigger: Boolean)
    Executed before a record is inserted in a table.
  • OnAfterInsertEvent(VAR Rec : Record, RunTrigger : Boolean)
    Executed after a record is inserted in a table.
  • OnBeforeModifyEvent(VAR Rec : Record, VAR xRec : Record, RunTrigger : Boolean)
    Executed before a record is modified in a table.
  • OnAfterModifyEvent(VAR Rec : Record, VAR xRec : Record, RunTrigger : Boolean)
    Executed after a record is modified in a table.
  • OnBeforeRenameEvent(VAR Rec : Record, VAR xRec : Record, RunTrigger : Boolean)
    Executed before a record is renamed in a table.
  • OnAfterRenameEvent(VAR Rec : Record, VAR xRec: Record, RunTrigger : Boolean)
    Executed after a record is renamed in a table.
  • OnBeforeValidateEvent(VAR Rec : Record, VAR xRec : Record, RunTrigger : Boolean; CurrentFieldNo : Integer)
    Executed before a field is validated when its value has been changed.
  • OnAfterValidateEvent(VAR Rec : Record, VAR xRec : Record, RunTrigger : Boolean, CurrentFieldNo : Integer)
    Executed after a field is validated when its value has been changed.

Bei dem OnAfterModifyEvent steht explizit, dass es nachdem der Datensatz modifiziert wurde ausgelöst wird.
Nicht am Ende des Modifizierens.
Ich denke, du solltest das OnBeforeModifyEvent verwenden oder - wenn dein Code an einer expliziten Codestelle ausgefĂĽhrt werden soll, dort eingreifen.
Benutzeravatar
Danis
Microsoft Partner
Microsoft Partner
 
Beiträge: 119
Registriert: 21. August 2006 12:02
Wohnort: LĂĽbeck
Realer Name: Danis Flohr
Arbeitsort: Kiel
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: Ab 3.X bis aktuellste Version

Re: OnAfterModify (Record) Event funktioniert nicht

Beitragvon enh » 28. April 2016 17:18

Ich habe es auch im OnBeforeModify lösen können. Mir stellt sich aber die Frage wozu ein OnAfterModify Event überhaupt gut sein soll wenn ich dort den Record nicht verändern kann. Daher sehe ich das als Bug.
enh
 
Beiträge: 2330
Registriert: 5. Februar 2014 15:42
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re: OnAfterModify (Record) Event funktioniert nicht

Beitragvon m_schneider » 28. April 2016 17:21

Das ist z.B. notwendig für einen Workflow. OnBefore nützt da nichts, weil ich ja nicht weiß ob das Modify erfolgreich ist. OnAfter sagt mir dann: "hey, ich habe einen Datensatz geändert. Möchtest du jemanden benachrichtigen?".
MfG Michael
Benutzeravatar
m_schneider
 
Beiträge: 2141
Registriert: 20. Januar 2009 14:36
Realer Name: Michael Schneider
Arbeitsort: Treuen
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2017

Re: OnAfterModify (Record) Event funktioniert nicht

Beitragvon enh » 28. April 2016 17:25

Und genau deshalb wollte ich auch OnAfterModify verwenden, weil ich nur was tun wollte wenn das Modify im Standard Code durch ist. Geht aber nicht.
enh
 
Beiträge: 2330
Registriert: 5. Februar 2014 15:42
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re: OnAfterModify (Record) Event funktioniert nicht

Beitragvon sweikelt » 28. April 2016 17:28

ohne das ich es jetzt ausprobiert habe, aber welches CU hast du verwendet?
Benutzeravatar
sweikelt
Microsoft Partner
Microsoft Partner
 
Beiträge: 1776
Registriert: 18. November 2010 10:15
Wohnort: Oschatz
Realer Name: Stephan Weikelt
Arbeitsort: Berlin
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 3-2018 | D365BC

Re: OnAfterModify (Record) Event funktioniert nicht

Beitragvon Danis » 28. April 2016 17:28

enh hat geschrieben:Und genau deshalb wollte ich auch OnAfterModify verwenden, weil ich nur was tun wollte wenn das Modify im Standard Code durch ist. Geht aber nicht.

Nö,
du willst den Datensatz nochmal modifizieren ;)

Was gemeint ist:
Feld Name wird geändert auf "Name neu"
MODIFY
Du aboniest OnAfterModify und gibst in einer neuen Tabelle aus: Hey, Datensatz xy hat sich geändert!

Du änderst nichts mehr an dem Datensatz selber!
Benutzeravatar
Danis
Microsoft Partner
Microsoft Partner
 
Beiträge: 119
Registriert: 21. August 2006 12:02
Wohnort: LĂĽbeck
Realer Name: Danis Flohr
Arbeitsort: Kiel
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: Ab 3.X bis aktuellste Version

Re: OnAfterModify (Record) Event funktioniert nicht

Beitragvon enh » 28. April 2016 17:32

sweikelt hat geschrieben:ohne das ich es jetzt ausprobiert habe, aber welches CU hast du verwendet?


Aktuellste Version, also Cumulative Update 6.
enh
 
Beiträge: 2330
Registriert: 5. Februar 2014 15:42
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re: OnAfterModify (Record) Event funktioniert nicht

Beitragvon Danis » 28. April 2016 17:39

sweikelt hat geschrieben:ohne das ich es jetzt ausprobiert habe, aber welches CU hast du verwendet?


Da hat sich - soweit ich weiss - in keinem der bisher erschienenen CU's etwas geändert.
Benutzeravatar
Danis
Microsoft Partner
Microsoft Partner
 
Beiträge: 119
Registriert: 21. August 2006 12:02
Wohnort: LĂĽbeck
Realer Name: Danis Flohr
Arbeitsort: Kiel
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: Ab 3.X bis aktuellste Version

Re: OnAfterModify (Record) Event funktioniert nicht

Beitragvon sweikelt » 29. April 2016 08:43

Danis hat geschrieben:Da hat sich - soweit ich weiss - in keinem der bisher erschienenen CU's etwas geändert.


das mag sein, aber sicher ist sicher ;)

*edit - kommentar korrigiert :)
Zuletzt geändert von sweikelt am 29. April 2016 09:03, insgesamt 1-mal geändert.
Benutzeravatar
sweikelt
Microsoft Partner
Microsoft Partner
 
Beiträge: 1776
Registriert: 18. November 2010 10:15
Wohnort: Oschatz
Realer Name: Stephan Weikelt
Arbeitsort: Berlin
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 3-2018 | D365BC

Re: OnAfterModify (Record) Event funktioniert nicht

Beitragvon McClane » 29. April 2016 08:48

Ich möchte nochmals darum bitten, sich beim Zitieren (insbesondere des direkt darüberstehenden Beitrags) auf das Wichtigste zu beschränken, anstatt komplette Beiträge zu wiederholen. Die Lesbarkeit des Themas wird dadurch speziell auf Mobilgeräten extrem erhöht :wink:

Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
McClane
Moderator
Moderator
 
Beiträge: 3864
Registriert: 2. April 2008 10:00
Realer Name: Stefan
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2009, 2016


ZurĂĽck zu NAV 2016

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast