Latest posts

  • Dynamics 365 – How to get and use formContext

    The formContext is a part of executionContext and it replaces deprecated Xrm.Page starting from Version 9. Xrm.Page object was used to represent a form or an item on the form. With the latest version, the Xrm.Page object is deprecated, and you should use the getFormContext method of the passed in execution context object to return reference to the appropriate form or… Read more

  • Dynamics 365 – How to Trigger OnChange Event of an Attribute

    fireOnChange() function is used to trigger the registered onChange events of an attribute. It is also very useful when you update an attribute through Javascript Code and it onChange event doesn’t trigger. When you update an attribute from Javascript code, its onChange event doesn’t trigger. If you want it to be triggered, you have to… Read more

  • Dynamics 365 – How to Customize Opportunity Close Form

    Before you customize the Opportunity Close form, you need to enable the customization of Opportunity Close form from System Settings. To do that open your Advanced Settings page. Go System > Administration > System Settings. Under Sales tab enable the Customize close opportunity form. Hope this helps 😊 Read more

  • Dynamics 365 Updating Readonly Field – setSubmitMode()

    To update readonly fields with Javascript simply use setSubmitMode() after setValue() function. Read more

  • Property ‘field’ on type ‘Microsoft.Dynamics.CRM.entity’ is not a navigation property or complex property. Only navigation properties can be expanded

    This is a common error message when you are trying to use multi-type lookup fields(i.e regardingobjectid, customerid, activityid) in odata requests to expand(join) entities. It basically says the lookup field you are expanding to does not have a navigation property for that entity. You just need to tell the web api which entity you are… Read more

  • Dynamics 365 Web Api – How to Set Lookup Field Value

    When updating lookup values, or using lookups in entities you must use the @odata.bind annotation to set the value. The syntax for this is: {field_name@odata.bind: “/entitypluralname(guid)”} Some examples: ownerid@odata.bind:”/systemusers(a30cbf7b-69cd-4299-b468-b4978f716af7)” opportunityid@odata.bind: “/opportunities(a30cbf7b-69cd-4299-b468-b4978f716af7)” For lookups that have different possible entity types(i.e regardingobjectid), this changes slightly (note the entity logical name at the end of the “name”) parentcustomerid_account@odata.bind… Read more