Showing posts with label Model-driven apps. Show all posts
Showing posts with label Model-driven apps. Show all posts

Tuesday, January 20, 2026

Find what’s hiding a field in Dynamics 365: Step-by-Step with PowerApps Live Monitor

A Little Background


A field (msdyn_customergroupid / Customer Group) exists in Dataverse for the Account table, but it is not showing on the Account form in a Dynamics 365 model-driven app. Our requirement was to show this on the form and I know that we had made it visible on the Account form.

However, after a deployment we noticed that it wasn't the case. Now it could be because on various reasons:
  • The field is hidden on the form level.
  • Column security profile was implemented.
  • There is a business rule, due to which it was hidden.
  • There is a script, due to which the field was hidden.


Our Approach


The easiest way to rule out the problem is to start with the simplest reason and work your way up.

Step 1 - To check if field was hidden on the form


We checked if the field was hidden on the form? It wasn't. That was easy.

Now, to check Business Rules and Script was a hard road for us because we had 20+ rules and many functions written on form load.

Step 2 - Run quick form-runtime checks (console logic)


We used simple client checks to classify the problem.
This is the fastest way to know whether you’re dealing with design-time vs runtime.
Click F12 > Console and run these commands:

Xrm.Page.getControl("msdyn_customergroupid")
If the call returns null, the field is not on the form. For us, tt returned the Control means something must be hiding it.

Xrm.Page.getControl("msdyn_customergroupid").getVisible()
If it returns a control, something must be hiding it. We ran the below command to confirm:
It returned FALSE.

Step 3 - Use PowerApps Live monitor to capture the visibility change


When I opened the PowerApps Live Monitor and performed the steps within the App, I captured a Live monitor event:
  • dataSource: Forms.FormChecker.ControlStateChange
  • controlName: msdyn_customergroupid
  • visible before: true
  • visible after: false

And the call stack included:
  • M.setVisible(...)
  • pbl_c3f86e4e73b7ed1183ff6045bd8c93df(...)
  • Mscrm.BusinessRulesScript.Initialize(...)


Key Finding:


The field was initially visible, then explicitly hidden at runtime by a business rule script.
This pattern indicates the visibility change came from a Business Rule (Power Apps compiles business rules into runtime scripts, commonly visible as pbl_<guid> style functions).

So we could say with confidence:

✅ A Business Rule running on the Account form hid Customer Group by calling setVisible(false).
✅ Not JavaScript web resources. Not security. Not form XML missing. Not personalization.
✅ Focused our attention to look at all the business rules and we could find the culprit.

Hope this helps!

Friday, August 11, 2023

Error when qualifying Lead into Opportunity | D365 Sales

There could be many reasons and most of it could be found when you perform an online search, but none of those suggestions fixed my issue. When I was qualifying the Lead into an Opportunity, it is showing the following error:

OrganizationServiceFault

And that is it. No other details about the error. No error log, not description of the error, no error code. Nothing!

Resolution

My user didn't have system administrator, but a custom role was assigned to the user. I took some help from my technical team who did a little bit of digging and came across this below message.

Entered Microsoft.Dynamics.SCMExtended.Plugins.Plugins.LeadPrimaryContactPostCreate.Execute(), Correlation Id: 021c0dc2-3e1e-46e5-81c0-b1524ae09ed2, Initiating User: e7925424-1da4-ed11-aad1-002248a13b63

Exception: System.ServiceModel.FaultException`1[Microsoft.Xrm.Sdk.OrganizationServiceFault]: Principal user (Id=xxxx5424-xxxx-ed11-xxxx-002248a1xxxx, type=8, roleCount=4, privilegeCount=1064, accessMode=0, MetadataCachePrivilegesCount=9751, businessUnitId=0b2c4b59-0e31-ee11-bdf4-000d3aba3d29), is missing prvReadSolution privilege (Id=b64e92c8-5d2a-4052-a026-1b73eff9cebf) on OTC=7100 for entity 'solution' (LocalizedName='Solution').

I provided a Read privilege to Solution table under; relevant Security Role > Customization > Solution, and it worked.

Hope it helps!

Monday, March 13, 2023

D365 CE Preview Feature (Collaboration and Co-authoring)

One of the most common ask from our customers is, does the app block one user from accessing or making changes to a record if another user has opened the record on their screen?

While this is not quite like restraining a user from updating a record because of multiple users accessing it, this feature does allow you to see the other folks that are collaborating on the same record.

You’ll need to enable this in your environment to take advantage of this feature.

  • Open https://admin.powerplatform.microsoft.com
  • Select the environment where you want to enable the functionality.
  • Click on Settings on the command bar (located on the top of the screen).
  • Expand the Product section and select Features.



  • Scroll down to Collaboration section on the left side of the screen.
  • Turn on 'Show other people when they're using the same form'.
  • Now when 2 or more users access the same form, you'll see the co-presence indicator showing all the users. It is very similar to what we see on Microsoft 365 Apps (Word, Excel, etc.).
  • This is only enabled for Account, Contact, Opportunity and Case forms during preview.



Here I would also highlight 2 other features that you can enable.
  • You can also see you can initiate a Teams meeting directly from appointments. For that flip the switch 'End users can add and join Teams meetings from appointments in model-driven app' under the Collaboration section.
  • There is also co-authoring for model-driven apps where you can see the users making changes to forms, views or dashboards using the power apps maker portal. With coauthoring you can see who is working on the same app at the same time, and you can see their applied changes in real-time.
Interesting!

Monday, May 9, 2022

How to enable modern advanced find in model-driven apps: Dynamics 365 CE (CRM)

I recently came across this new feature to enable modern advanced find in model-driven apps. Thought to share with you all.

Note: When you enable the feature, the advanced find button that you usually see on the bar top right will be gone. There will be changes in the way you access and modify personal views. If you're ready to enable this for your organization, keep reading forward.

Old Experience:

New Experience (No advanced find icon):

 

Steps to enable modern advanced find in Dynamics 365 CE (CRM)

Following are the steps:

  • Expand Product and click on Features.
  • Scroll down to Advanced find options and toggle the button to On. It will take a few minutes and enable the modern advanced find in your environment.

Now the question is how to access modern advanced find?


Access modern advanced find in Dynamics 365 CE (CRM)

To access, you need to click on the global search box and below you will find this option "Search for rows in a table using advanced filters".


Click this and you will see a flyout option from the right where you can select the entity (table). Click Continue and you'll have the option to edit filters.


Now you ask, how to manage personal views? Click on the View chevron icon. This will dropdown a list of views (both system and personal) configured. Personal views are shown with a person icon. To create, set default or delete personal views, click on Manage and share views.


Hope that helps!