Event Handler Methods in Dynamics 365 for Operations (AX7)

by | Updated January 29, 2020 | Development, Dynamics 365 for Finance and Operations

In Dynamics 365 for Operations (AX7) the preferred mechanism for customizations to existing objects is to use event handlers to react to various events rather than overriding methods on tables, forms, and classes. For example, to change what happens when a button is clicked in AX 2012 you override the clicked method and put code either before or after the super() call. In Dynamics 365 for Operations (AX7) you can react to the OnClicked event by copying the event handler method for the event and pasting the method into a class. Below is an example of an event handler method that reacts to the OnClicked event of a button on a form.

You can learn more about event handler methods and more in our online Dynamics 365 for Operations Development Workshop, beginning July 10! Detailed agenda and registration here.

Related Posts


  1. Daniel J. Zook

    Thanks for the info Becky.

    When is the code in the Event Handler executed in relation to standard code that is executed in the event that it is subscribed to? For example, when the button is clicked, does AX execute its standard code first and then any event handlers subscribed to the event?

    Another question: do you think Microsoft will include automatic migration of event handlers built in 2012 to D365 format? (See “Event Handler Nodes in the AOT [AX 2012]” here: https://msdn.microsoft.com/en-us/library/gg839762.aspx )

  2. Brandon Carmichael

    Hello Daniel:

    Unfortunately, with Event Handlers, it is difficult to know what the order of the event firing is. For example, having multiple objects subscribe to the same event can be interesting as we have no control over what fires first when the event is raised. If you need to have control of what is ran and when, I would recommend creating a class to control the sequence of events.

    In regards to your other question, I just asked four of our developers who attended the Dynamics 365 Tech Conference 2017 in Seattle, WA. They thought that it will be migrated but if the code is custom and over-layered then it will have to be reworked so that it is no longer a customization (over-layered).

    I hope this helps, if not I’d be happy to continue this conversation with you.

Submit a Comment

Your email address will not be published. Required fields are marked *

Upcoming Events


12aug10:00 am10:30 amWhy Levridge Grain? How to Achieve Efficient and Accurate Scale Tickets

12aug12:00 pm1:00 pmThe Three Paths to Dynamics 365 Finance and Supply Chain from Dynamics AX

13aug11:00 am12:00 pmConfab with Stoneridge - Livestream - Inspire Keynote Breakdown

19aug10:00 am11:00 amWhat is Levridge? An Overview of the Ultimate Ag Solution

19aug12:00 pm12:30 pmThe Modern Manufacturer - Death by Safety Stock

27aug12:00 pm1:00 pmConfab with Stoneridge - Livestream - Dynamics 365 2020 Wave 2 Preview


02sep10:00 am10:30 amThe Modern Manufacturer - Cycle Count Management

09sep10:00 am11:00 amWhat is Levridge? An Overview of the Ultimate Ag Solution

16sep10:00 am10:30 amThe Modern Manufacturer - Product Lifecycle Management

30sep10:00 am10:30 amThe Modern Manufacturer - Return Management

About Stoneridge
Stoneridge Software is a unique Microsoft Gold Partner, with emphasis on partner. With specialties in Microsoft Dynamics 365, Microsoft Dynamics AX, Microsoft Dynamics NAV, Microsoft Dynamics GP and Microsoft Dynamics CRM, we focus on attracting the most knowledgeable experts in the field to our team, and prioritize delivering stellar solutions with maximum impact for your business. At Stoneridge, we are deeply committed to your results. Each engagement is met with a dedicated team, ready to provide thorough, tailored, and expert service. Based in Minnesota, we intentionally “step into your shoes,” wherever you are. We focus on what you care about, and develop trusting, long-term relationships with our clients.

Subscribe To Our Blog

Sign up to get periodic updates on the latest posts.

Thank you for subscribing!