Wed, 01/13/2021 - 16:36 By Mattias Liloia

Dynamics 365 RetrieveMultiple Plugins Considerations : One customization option in Dynamics 365 is the creation of RetrieveMultiple plugins. In my opinion, they should only be considered as the last resort. There are alternative solutions to look at first. E.g. if you want to integrate data from a third party system, Virtual Entities could be a very viable approach. However, if you made the decision to implement a RetrieveMultiple plugin, please check these points first:

  1. Go through the official guidance from Microsoft. Here you find all the dos and dont's regarding RetrieveMultiple plugins.
    https://docs.microsoft.com/en-us/powerapps/developer/data-platform/best-practices/business-logic/limit-registration-plugins-retrieve-retrievemultiple
     
  2. Always prefer Pre over Post registration step while implementing the RetrieveMultiple plugin.
    Post registration potentially creates inconsistent UI behavior and results in bad user experience. This is a sample print screen of a view, where the total number of records does't match the records visible in the grid (done by a Post registration).
    Dynamics 365 RetrieveMultiple Plugins Considerations
    Get more information on this topic here: https://docs.microsoft.com/en-us/powerapps/developer/data-platform/best-practices/business-logic/implement-all-types-of-queries-when-filtering-preoperation-retrievemultiple
     
  3. Furthermore, be aware RetrieveMultiple plugins can be triggered in many different ways. Make sure you cover all cases by handling each of these query types separately: QueryExpression, FetchExpression and QueryByAttribute. Checkout this link for an in depth example provided by Microsoft:
    https://docs.microsoft.com/en-us/powerapps/developer/data-platform/org-service/samples/modify-query-preoperation-stage

Finally, fingers crossed your implementation won't have any negative side effects.

Dynamics 365 RetrieveMultiple Plugins Considerations

Add new comment

Image CAPTCHA
Enter the characters shown in the image.