Microsoft Dynamics 365 for Finance and Operations uses relational data. For example, a sales order will have a customer account field that references a customer. Users can use the D365 view details functionality to quickly open up the customer details form. This is much faster than making users opening up a new browser page, and searching for the right form to create, modify, or view a customer. Behind the scenes, the system knows what form to open, and uses the current value in the field to filter to the right record in the related form.
Overview
In this article, I will cover two high level topics.
First, I will explain how to use D365 view details.
Secondly, learn how to use table relations and properties to make this functionality work without code.
In the next article, I will explain how to override the view details functionality to call a different form.
Example In D365
To explain how to use D365 view detail, I will start with an example.
First, go to Accounts Receivable>Orders>All sales orders. Then, select a record from the grid.
Notice, that several of the column values will show in ‘blue’ text instead of ‘black’ text. This indicates that if the user were to click on the value, a new form would open with the details of that value. This is the D365 view details functionality.
For this example, click on the blue text under the ‘Customer account‘ column.
Notice, the system will navigate to the ‘customers’ form within D365. Additionally, the form will be filtered to show the account you selected. In this example, the form shows account ‘1001‘.
The D365 view details functionality saves the user lots of time navigating to the form. Additionally, it allows users to quickly view detailed information without needing the information shown on the main form.
Closing the Form
After a user is finished looking at the related form, users should click the ‘X’ button in the top right to close the form. Although many users might think to click the ‘back’ button on their browsers, the correct action is to click the ‘X’. This closes the form that is actually loaded on top of the underlying form.
Previous Versions of Microsoft Dynamics AX
It is important to remember, in previous versions of Dynamics AX, there is not always blue text to click on. Therefore, users should right click the field and select ‘View details’ to navigate to the related form. See the Microsoft documentation here.
To demonstrate, look at the below screenshot from Microsoft Dynamics AX 2012.
In even earlier versions of AX, this button was labeled ‘Go to main table’. However, it did the same thing.
Making View Details Work
How does this functionality work? How does the system know what form to open?
The answer is two parts.
- First, the developer needs to setup the table relations between the field on the form, and the related table.
- Secondly, the developer needs to set the ‘FormRef’ property on the related table to the form that should be opened.
With these two steps in mind, I will explain with another example. When building your own forms or adding fields to an existing form, follow these steps to make the D365 view details functionality work.
Go to Accounts Receivable>Order>All sales orders. Then, select a sales order from the grid, and click on the sales ID to navigate to the ‘sales order details‘ form. Next, click on the ‘Header‘ tab in the top right. Then, expand the ‘Delivery‘ fast tab. Finally, notice the ‘Delivery terms‘ field.
Clicking on the blue text of this field, will take you to the Delivery Terms form where this related record is setup.
Now, we will look at how this is accomplished.
Table Relations
In Visual Studio, search for ‘SalesTable‘ in the Application Explorer. Next, right click on the table, and select ‘Open Designer‘.
After the designer opens, expand the ‘Relations‘ node. Next, locate the ‘DlvTerm‘ node. Right-click on the node and select ‘Properties‘. Notice, the ‘Related Table‘ property is set to ‘DlvTerm‘.
Expand the relations node, and notice that this relation says that the DlvTerm field on the SalesTable is related to the Code field on the DlvTerm table.
When a developer first added the field ‘DlvTerm‘ to the SalesTable, the system has no idea that this field is a primary ID to a related table. However, by adding a relation, the developer tells the system the name of the related table, and what related field to use.
When building your own forms and tables, create relations to allow the D365 view details functionality to work. Additionally, it allows lookups to work. See my article on How to Create A Lookup Method In D365 Forms.
Extended Data Type Relations
There are a view base Microsoft fields that do not have relations setup on a table, but still have the D365 view details functionality work. Why is that?
For example, the ‘Customer Account‘, or CustAccount field on the SalesTable does have the ‘View details‘ functionality. But, if I look for a relation to ‘CustTable‘ on the SalesTable table I will not find one.
This is because, the relation is actually on the Extended Data Type of the field. To explain, go to the SalesTable table. Then, expand the ‘Fields‘ node and select the ‘CustAccount‘ field. Next, right-click and select Properties. Notice, that the Extended Data Type property is set to ‘CustAccount‘.
Now that we know the EDT value, search for ‘CustAccount’ in the Application Explorer. Right click on the EDT, and select ‘Open designer’.
Next, expand the ‘Table Relations‘ node. Then, look at the properties and notice that the Table property is set to ‘CustTable‘.
This property is not editable. It is also important to realize you can no longer create table relations on an EDT. This option only exists on base Microsoft EDT’s that are already created.
Below is a screenshot that shows there is no option to create a node on a custom EDT.
Therefore, it is important to understand that this node is how the system understands the related table. However, to repeat, you cannot use this functionality for your own custom EDT’s.
Form Reference
In the previous step, I explained how the relations on a table tell the system what table a field relates to. Now, we need to tell the system what ‘Form’ relates to that table.
In the Application Explorer, search for ‘DlvTerm‘. Then, right-click on the DlvTerm table, and select ‘Open designer‘.
After the designer opens, right click the DlvTerm node and select Properties. Notice, the ‘Form Ref‘ property is set to ‘DeliveryTerms‘. This is the name of the form that the system will open when the D365 view details functionality is used.
When developing your own tables, it is important to set the ‘Form ref’ to the main form used to interact with that table.
It is important to note, not every table will have a form. Some tables are purely used to related different tables together. However, most tables will how a form that allows users to interact with the data. Setting the Form Ref property tells the system what form to use.
Conclusion
In this article, you learned how to use the D365 view details functionality. This used to be called ‘go to main table’ in earlier versions of Microsoft Dynamics AX. You also learned how to use table relations and the Form Ref property to allow this functionality to work. In the next article, I will explain how to override this functionality to open a different form, or pass information to filter the form in a different way.
What a captivating read! This article beautifully highlights the transformative partnership between Imperium Dynamics and Microsoft Business Applications. The seamless integration of technology, innovation, and personalized solutions truly sets Imperium Dynamics apart. It’s refreshing to see a business partner that understands the unique needs of each enterprise, crafting solutions that align perfectly with their goals.