Posts

How to open a lookup record within the same parent page in Dynamics 365 CRM using sidePane feature.

Recently I was looking for updates introduced in Dynamics 365 and came to know about sidePanes (I know, I am quite late :\), so I thought to open the lookup record within same parent page record i.e. If I click on "Parent Account" lookup field on a contact form then view the account record on the same contact page without navigating to any other page or tab or window. So, we can achieve this by following below line of codes in our JavaScript: function ExpandSidePane(executionContext) {     var formContext = executionContext.getFormContext();     var title = formContext.getAttribute("name").getValue();                                      formContext.getControl("parentaccountid").addOnLookupTagClick(function (e) {         e.getEventArgs().preventDefault();         var lookupRecord = e.getEventArgs().getTagValue().id;         //Using sidePanes client API reference.         Xrm.App.sidePanes.createPane({             title: title,             imageSrc: "&

Get count of unique records in Power Automate (Dynamics Customer Engagement)

Image
Recently, I got a requirement in which I had to get the distinct count of records(from a custom table) associated with Appointment. To achieve this I wanted to go with the flow but since I recently have started working on Flow/ Power Automate, I had very little idea how to achieve this and hence I am adding the steps here which you can also follow to get this. Step 1: Choose the trigger point Step 2: Get the list of records for which you want count of distinct value Step 3: Initialize a variable of type array  Step 4: Add action 'Apply to each', here I am adding all Guids in array which we declared in last step Step 5: Add a 'Compose' data operation, here we will add only unique Guids from the above list collected: union(variables('AccountsArray'),variables('AccountsArray')) Step 6: In the final step we just need to count the records of unique Guids stored in the last step. length(outputs('Compose'))   Combined screenshot fyr:

How to automatically update currency exchange rates in CRM using Power Automate

Image
In this blog I am going to show how we can update the currency exchange rates in Dynamics CRM periodically using the power automate. The most common issue we face in CRM is the currency conversion since there is no out of the box option available to update the currency available in Dynamics CE. Most of us do it either manually when working with multiple currencies and that takes a lot of effort and even, we don’t have any in-built option in Power Automate to auto-update currencies in CRM. So, here are the steps which you should apply for automatically updating the currency on periodic basis. Step 1: Start with creating the custom connector. This is just to get the latest exchange rates via an API.     Goto : Data-> Custom Connectors-> New Custom Connector    Add Name and URL (api.exchangeratesapi.io/)          Click on Security and on the next page click on Definition without entering any value for authentication because the API is open, and we don’t need any subscripti

Move to Microsoft Forms Pro from VOC | Create Forms Pro Survey in CRM using MS Flow | Microsoft Flow | D365

Image
As most you know MS has deprecated voice of the customer and June 2020 is the last deadline for all of us to move to Microsoft Forms Pro (or any other 3rd party apps) for getting feedback from customers. So in this blog I am going to whole process which I followed during transition to Forms Pro from VOC. First, a little information about forms pro: Basically, it's very much similar to Voice of customer and provides seamless integration for surveys with MS CRM. We can send surveys to D365 contacts either manually or automatically on change in records within our CRM like on Case resolution or case creation. Similar like VOC, forms pro also saves all records in CRM. Now, the next point is creating a new survey form. So for this go to the site: https://forms.office.com/Pages/DesignPage.aspx and sign-in with your MS credentials. Like VOC, you will get almost same survey designer form where you can create multiple question with different data types, you can apply themes

WebAPI Query | Dynamics CRM | Error: Property 'field' on type 'Microsoft.Dynamics.CRM.entity' is not a navigation property or complex property

Image
Recently when I was debugging my code I got this error : Property 'field' on type 'Microsoft.Dynamics.CRM.entity' is not a navigation property or complex property'. Basically in my WebAPI query I was requesting data from Survey entity and also I was trying to read related entity(in my case it is Incident) data values so that I don't have to do another query. I have this 'Survey' entity and which has a lookup field called 'Regarding' (Schema name: regardingobjectid) which is a and can be related to any system defined entity. Simply when I used regardingobjectid in my query I got error : "Could not find a property named 'regardingobjectid' on type 'Microsoft.Dynamics.CRM.msdyn_surveyinvite'." I removed this '$select' part from the url and directly run that and found that there is field called '_regardingobjectid_value' which returned guid of that 'Regarding' lookup field. Now the new erro

How to query paging using Dynamics 365 WebAPI (More than 5000 records)?

Recently I was working on a requirement where I had to build a WinForm application to get the records from multiple entity which looks like a very simple requirement and it was indeed but the problem came when I completed my code using WebAPI method and server-to-server authentication. The problem was the size of records which was more than 5000 and I had no idea how to query paging in this scenario. Paging using the webAPI is a bit different to using the SOAP endpoint, so I've described the structure of request that should be used and how to navigate to the next page from the response. * To execute the request for the next batch of records after maxbatchsize of request is reached, simply open a new request to the URI specified in the @odata.nextLink attribute using the same header as the initial request. Here is the example of HTTP response which you'll get. Please look at the end carefully, we got the next page link in the @odata.nextLink attribute because the respons

Promise in JavaScript | Async Calls | Dynamics CRM

I am going to explain how we can use promise in our CRM script with little explanation about promise. Let's suppose you have multiple functions in your script and one of those function (name funA) does take time to execute and other function (name funB) in script depends on the result of that function (funA) result. A 'promise' is a special JavaScript object that links both these functions; funA & funB together. Promise makes the result available to funB when it is ready from functionA. Basic syntax of a promise is: var promise = new Promise( function (resolve, reject) {              //Producing code              let  condition =  1 ;              if  (condition <  1 )                 resolve();              else                 reject();         }); The function passed to new Promise is called the executor. When new Promise is created, it runs automatically. It contains the producing code, that should eventually produce a result.
go to top image