Posts

Showing posts from May, 2021

LIMITATION NUMBER OF ALLOWED LINK ENTITY IN QUERY

Image
In this quick post, I will talk about a limitation you might face when working in D365 CE which is exceeding the maximum number of link entities in a query . The exception message that you will receive is the following: Error : Number of link entities in query exceeded maximum limit. where the maximum number of link entities is 10. You get this error in different scenarios In a view when you add fields of more than 10 related entities because they are reflected as link entities with outer join to the main entity <OrganizationServiceFault xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/xrm/2011/Contracts">......... <Message> Invalid FetchXml on SavedQuery.Update. </Message>.........

DYNAMICS 365 HOW TO DYNAMICALLY GET THE FIELD NAME THAT TRIGGERED EVENT ON FORM

Let's take the scenario, where a user has to choose Department 1, Department 2 and Department 3 on a form for escalation purpose. Each department has its own enabled and required fields where a user in the department has to fill before saving. In this situation, when you have multiple attributes on the form that operate similarly, and if needed, as a best practice, they should fire the same JavaScript function. In order to achieve this, you need to dynamically get the attribute name of the field being changed ( source of the event ) in the function to know which dependent fields should be enabled and set as required. Here comes the role of the getEventSource() function by calling it as follows formContext.getEventSource().getName(); that will retrieve the schema name of the field being changed, and this way, you can achieve some work based on it as per the below function.

DYNAMICS 365 REFERENCE PANEL

Image
Dynamics 365 product team is always working to improve and give the best user experience. Therefore, the continuous evolutions of the different areas and possibilities are one of the most critical things to bring. In this post, I will talk about one of these user experience improvements which is Reference Panel that was introduced with the Dynamics 365 V9. So what is exactly a Reference Panel? The Reference Panel is a type of section that can be added to the form that allows users to move across different types of sub grids and quick view controls in a single place without scrolling down or up. Let's take the example of the account form, where many quick view forms and sub grids exist inside (contacts, recent cases and opportunities...). When the users enter the form, they have to scroll up and down through the form in order to check the sub grids and their data which is sometimes annoying for them.

DYNAMICS 365 HOW TO SHOW GLOBAL NOTIFICATION FROM ENTITY VIEW

Image
In this previous post , I described how to show a global notification in the model-driven app from within an event handler on the form and we saw the different options and possibilities that we can do with this functionality. In this post, I will show you how to display a notification from any entity view instead of the form level. For example, if you want to show the number of pending tasks to the user or the number of opened opportunities that should be closed and maybe allow the user to click the action button and be redirected to the appropriate screen. Let's see how! First, create a new solution and add the Application ribbon component in it From the Ribbon Workbench, open the solution Scroll to the right, and add a new button under the Home menu in Mscrm.Hom

DYNAMICS 365 HOW TO SHOW GLOBAL NOTIFICATION IN MODEL DRIVEN APP

Image
The function setFormNotification() is used to display a notification message as information, warning or error message on the form and it lives within the form itself. Once you navigate outside the form, the notification will be gone. In other post , I described how to show a global notification from an entity view. However, in this post, I will show you how to display a global notification that will be displayed across the Model driven App and not limited to the form. To do this, you can use the function Xrm.App.addGlobalNotification(objNotification).then(success,error) that will display a warning, error, informational, or success message. In addition, it will give the user the possibility to close the notification and perform a specific action that will be executed based on the notification. To implement this, you can call the function that disp