Update Personal Options / Personalization Settings using UpdateUserSettingsSystemUser Request – Dynamics 365


Recently we had a requirement to update the “Negative Currency Format” – Regional Options for all the users.

We could not find this option in our favorite plugin – User Settings Utility.

So to programmatically update it we use the below code.

Or using our most favorite plugin – SQL 4 CDS

Updating it to the required format – 5

The Result –

Get more details here-

https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-api/usersettings?view=dynamics-ce-odata-9

Hope it helps..

C# Code –

  CrmServiceClient svc = new CrmServiceClient(ConnectionString);
            
            if (svc.IsReady)
            {
                var reqUpdateUserSettings = new UpdateUserSettingsSystemUserRequest();

                // GUID of the System User
                reqUpdateUserSettings.UserId = new Guid("18392d47-9dc0-eb11-8235-00224808ff23");

                // reference the usersettings Entity
                reqUpdateUserSettings.Settings = new Entity("usersettings");

                // update the negativecurrencyformatcode to appropriate integer value
                reqUpdateUserSettings.Settings.Attributes["negativecurrencyformatcode"] = 5;

                var response = (UpdateUserSettingsSystemUserResponse)
                    svc.Execute(reqUpdateUserSettings);
            }

SQL –

update usersettings 
set negativecurrencyformatcode = 5
where systemuserid = '18392d47-9dc0-eb11-8235-00224808ff23'
Advertisements

How to – Hide and show controls in Canvas App based on security role of the user (Dataverse / Dynamics 365)


Suppose we have the below Maker and Checker Canvas App, with two button one for raising the request and the other for approving and rejecting the request.

We have below custom security roles created in our Dynamics 365

  • Maker
  • Checker

Here we want Submit a Request button to be visible only to users with Maker security role and the Approve and Reject Request button to users with Checker role.

For this we can write the below formula on Visible property of the button.

Add the Users and Security Roles data sources first.

If(

LookUp([@’Security Roles’], Name = “Maker”, Role) in Concat(LookUp([@Users], ‘Primary Email’ = User().Email).’Security Roles (systemuserroles_association)’, Role & “;”),

true,

false

)

 

Based on email address of the user, we are comparing the Maker security role with all the different roles assigned to the user, which we are fetching from systemuserroles_association.

  • User function in Power Apps

https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/functions/function-user

  • Lookup function in Power Apps

https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/functions/function-filter-lookup

Hope it helps..

If(LookUp([@'Security Roles'], Name = "Maker", Role) in Concat(LookUp([@Users], 'Primary Email' = User().Email).'Security Roles (systemuserroles_association)', Role & ";"),
true,
false)
Advertisements

Interactive login option in CDS/CRM Connection Manager in KingswaySoft Dynamics 365 Integration Toolkit


With the new release, the CDS/CRM connection manager adds a new Interactive Login option in the CDS/CRM Connection Manager for Authentication Type as OAuth.

Interactive login allows the user to log in using his account details (to establish the connection with CRM) without the need for registering the application in the Azure Active Directory.

This is supposed to be used only during design time.

Enter User Name and the CDS/CRM URL and click on Test Connection.

The login screen pops up, where we can enter the credentials and sign in.

We’d receive the Test connection succeeded message.

Now we are ready to use the CRM Connection.

Now when we will run the package from within the Visual Studio (SSDT), it will again ask for entering the credentials.

The other option is to use the OAuth Type Password along with default Client App ID and Redirect URL

https://docs.microsoft.com/en-us/powerapps/developer/data-platform/xrm-tooling/use-connection-strings-xrm-tooling-connect

Hope it helps..

Advertisements

Environment History in Power Platform Administration Center


A new feature recently added in the platform is the capability for the Power Platform administrators to see different operations performed in the environment.

Log in to Admin Center and select an the appropriate environment

Select History or select Full History from the Recent Operation section


For e.g. we can see the below details listed

  • Create – Start time, Initiated by, Status.
  • Copy – Start time, End time, Initiated By, Status.
  • Edit etc.

Also check out –

Set Custom Message and disable background processes inside the Administration mode for Environment

https://nishantrana.me/2021/05/11/set-custom-message-and-disable-background-processes-inside-the-administration-mode-for-sandbox-and-production-environment-power-platform/

Hope it helps..

 

 

Advertisements

How to – Enable parent check option during Merge – Dynamics 365


The duplicate detection/merge feature has been optimized in the platform

https://nishantrana.me/2020/10/29/improved-duplicate-detection-and-merge-experience-in-dynamics-365-for-sales-2020-release-wave-2/

and now uses the new interface replacing the legacy web client.

The legacy experience –

The enhanced experience – now with merge option.

Merge allows to select up to 2 records to merge. Selecting more than 2 records to merge gives the below error.

And Merge button will also get disabled.

Below are the different options available while performing Merge.

  • Merge records by choosing fields with data.
  • View fields with conflicting data.
  • Enable Parent check

In case of qualify we are able to select 2 matching records for merge

dd2records

The merge process is always asynchronous. The merge also merges any child records.

As per Microsoft Docs, to find the progress of the cascading operation triggered as part of the merge, navigate to System Jobs in Audit and Logs settings within the Admin portal.

Filter by Cascade Operations

The Enable parent check option, if checked, will result in failure during merge operations if records are deleted while the system job is running. We need to uncheck this option if we want merge to continue even if a record is deleted while the Merge job is running.

There could be other reasons because of which merge operations could fail.

Get all the details here –

https://markcarrington.dev/2020/08/14/msdyn365-internals-async-record-merging/

Hope it helps..

Advertisements

Fixed – We are having trouble loading your form preview. Check to make sure you have access error in Power Apps


While trying to open a form for customization for a custom entity we were getting below error within the maker portal.

The user was an admin user.

The same was the case in both Chrome and Edge browsers.

The only way we could proceed was by switching to classic experience.

Switching to Classic worked

After updating the form in classic and publishing the changes, the form started working properly in the maker portal also.

We were able to customize the form in both Chrome and Edge.

Hope it helps..