This blog is to help fellow consultants to start their journey on PowerApps. We all know how easy it is to put together a screen on Canvas Apps but as and when we need a specific action on it or from it; we fall short of formulas/functions. That’s because we never required these formulas in Model Driven Apps.
But as Business/Functional Consultant, you want to deliver value to your client, make their life easier, Don’t you?
I am sure you do, so here I am providing you with 20 essential functions you must know as a functional consultant. This can be a starting point for you; well, Microsoft is trying hard for Business Users and Functional Consultants to get in the rink of Power Platform. Their learning path is specially designed for Business Users and Functional Consultants, check it out here Learn PowerApps.
Today while exploring the CRM, I found “status reason transitions” option of status reason field. This option is introduced many years back but I haven’t noticed. Status reason transitions are an optional additional level of filtering to define what the status reason value can be changed to for each status reason. That means it will restrict the users to select the status reason which is not valid based on current status reason. Follow the below steps to configure this in your environment.
Open the Default solution.
Navigate to the entity (Case for example).
Go to Fields and open “statuscode” field.
Click on the “Edit status reason transition” button on the top.
A window will open to configure the status reason transition . The Current Status Reasons are available on the left and for each of the Current Status Reason you can specify the available New Status Reasons.
Select “Enable Status Reason Transitions” check box and add the new status reasons based on your business need.
Save and publish the changes.
In the above example, one of the business scenario is, I will not allow the users to select “Problem Solved” status reason from “On Hold”. User has to change it to “In Progress” in order to move to any other status reason.
Like this you can configure all your scenarios based on your business needs. This can be configured on both System and Custom entities.
Recently Microsoft have released quite a few updates to it’s client API and one such is the update to API for getting the currency name of the logged in user.
All this time, Microsoft had an API to get the transaction currency id of the logged in user using the API – . You needed to run a separate query to fetch the currency name based on currency id. However it is being deprecated now and now the replacement API is
This wonderful api returns the name of the currency as well as the id and entityType.
Nested Grids – as the name suggests is a grid-within-a-grid (or rather, Grid-ception!). Nested Grids will let you expand a sub-grid entry to look at another grid of the expanded record. This depends on how you configure it.
Be aware, Nested Grids work with Editable Grids and only for Tablet, Phones and Unified Interface. This is not available for the classic Web UI.
Configuring Nested Editable Grid
Here’s my entity structure – I have Account, having multiple Contacts and each Contact, having Opportunities under them. Like in the below diagram –
Now, I have a Contact grid on my Account form (just like we usually do).
I now will have to choose the grid to be a Editable Grid Control as follows. Also, click on the Nested grid view control as pointed
On clicking the Nested grid view pencil, the next dialog box will let you select what entity…
If you have ever worked in Dynamics 365 implementation then it is almost certain that you must have played around with ribbons. And more often than not you must have faced scenario where you have multiple enable and display rules on the form and not sure why the ribbon button is showing up on the form when it is supposed not to show up or vice versa.
And what we do to resolve it. Well, we play around with the ribbon customizations which takes much more time than other customizations in Dynamics 365. And if it is some custom rule, we would attach debuggers to our custom code and debug and find what is going wrong.
What if I tell you that Microsoft just released something which shall help you identify which of your ribbon rule is evaluating to what in a matter of few mins so that you can…
I used “ReviseQuoteRequest” SDK method in one of the plugin to revise the quote. When you revise a quote from UI, first it will close the existing quote and then create a revised version of this quote. So I expected that “ReviseQuoteRequest” also do the same, but I got the “The quote cannot be revised because it is not in closed state” error when I am using the SDK method. After a bit of research, I understood that we have to Close the quote before revise it. So I closed the quote by using “CloseQuoteRequest” and then “ReviseQuoteRequest” which solved my issue. But my suggestion that SDK method should handle the close quote request also internally. Please let me know your thoughts on it.
It’s always a customer requirement to see as much as information possible with out too much scrolling on the form. Now it is possible with Reference Panels, it’s basically concept of tabs inside a tab. With the reference panels, you can place multiple sub grids or quick view forms inside a tab. Let’s see how to do this.
Open a Form Designer and then Insert tab
Insert One Column tab on the Form and name it as “Reference Panels”
Click on “Section” and select “Reference Panel”
It will insert a new Section in the tab.
Add your sub grids or quick view forms in this section. I added 2 sub grids and 1 quick view form.
Save and Publish
This is how it would look like after Publish. Select the buttons in the right hand side to change between the sub grid and quick view forms.
Hope it will help to add plenty of information as per customer need.
In one of my previous post, I explained how to use navigateTo() function to navigate to entity view. But with this function, we can do lot more like navigate to dashboards and open modal popups (html web resources) which is most awaiting feature since long back. So, finally we can open a html web resource from a ribbon button click with OOB functions.