Dynamics 365 Table Default Values and Post-Save Email Events
Short answer
BD Use a Post handler on initValue for default values and a Delegate event on onInserted for post-save emails.
Question
System users require a default value for a table to save time entering data. The value must appear each time users create a new record, before completing other fields and saving the record. After a user saves the record, the user must receive an email that contains the data.
You need to add the appropriate events for each case.
Which two objects you should use? Each correct answer presents part of a solution.
NOTE: Each correct selection is worth one point.
Key Takeaways
The question tests your knowledge of X++ event hooking mechanisms; the common trap is confusing Pre/Post handlers with Delegate events or selecting a Pre handler that gets overwritten by base logic.
This guide explains how to set default field values and trigger post-save actions in Dynamics 365 Finance tables. It establishes that a Post handler on the initValue method and a Delegate event on the onInserted event are the correct objects to fulfill these requirements.
Common mistake: Choosing a Pre handler instead of a Post handler for initValue, which risks the base method overwriting the custom default value after it is set.
Expert Analysis
Why the Answer Is Correct
A Post handler on theinitValue method is correct because it executes after the base table initialization logic, ensuring your custom default value is applied to the record before the user interacts with other fields. A Delegate event (specifically subscribing to the onInserted delegate) is correct because it fires automatically after the record is successfully committed to the database, providing the exact trigger needed to send an email containing the saved data.Why the Other Options Are Wrong
An Extension (Option A) is too generic; while you create extensions to add handlers, the specific object types that execute the logic are the handlers and event subscriptions themselves. A Pre handler (Option C) runs before the base method logic; using it forinitValue is a common mistake because the subsequent base method execution can overwrite the default value you just set.Community Comment Notes
The community correctly maps the requirements to the specific objects, noting that a "Post handler on the table’s initValue method" sets defaults after base initialization, and a "Delegate event on the table’s onInserted" fires after the save, making them the perfect pair for this scenario.Official Reference
https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/dev-ref/xpp-classes-methods
This link opens the official vendor documentation in a new tab.
Exam Strategy
When matching requirements to X++ event hooks, focus on the timing of the execution relative to base logic. Use Post handlers for initialization to avoid overwrites, and Delegate events for data persistence triggers like onInserted or onUpdated.
Community Votes
67% of anonymous learners picked answer BD. Votes are pick records left by other test-takers — they are not the verified answer.
Discussion 1 contributions
Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors, not of islever. The comments shown first are the most substantive of the thread — ranked by depth, community endorsement and relevance; expand the list below to read the rest.
From public community threads 1
-
cbef765 👍 1Post handler on the table’s initValue method. It runs after the base method initializes the new record, so the default value is set before the user completes other fields. Delegate event on the table’s onInserted delegate. It fires after the record is saved, which is the right point to send the email.
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.
Related Analysis
Practice All MB-500 Questions
Access 115 questions with complete answers and detailed explanations.
View Full MB-500 Practice Test →