Tuesday 23 January 2024

Force rollup field calculation using Power Automate

 

Force rollup field calculation using Power Automate

Rollup field is a great way to capture aggregated values computed over the records related to a specified record. Rollup fields are also part of the low code approach where in it reduce writing/maintaining codes to calculate those numbers.

The rollups fields are calculated by scheduled system jobs that run asynchronously in the background. To view the rollup jobs, go to Settings > System Jobs > View > Recurring System Jobs. There are two types of recurrence jobs created one is Mass Calculate Rollup Field or Calculate Rollup Field.

The Mass Calculate Rollup Field job by default, run 12 hours after you created or updated a field. After the job completes, it is automatically scheduled to run in the distant future, approximately, in 10 years. If the field is modified, the job resets to run again in 12 hours after the update. 

The Calculate Rollup Field job processes the records that were created, updated or deleted after the last Mass Calculate Rollup Field job finished execution. The default maximum recurrence setting is one hour. There is only one Calculate Rollup Field job per entity.

The calculation of the rollup can be triggered on-demand from the user interface. Online recalculation. If you click on the calculator icon before the rollup field this will open up a Recalculate button. Pressing the button will trigger the recalculation for that record instantly.

This is all good with the lazy approach of calculation if the field is not used for real-time purposes. In the case of real-time updates, the SDK has methods to force recalculate the field. Either using plugin or custom workflow activities this can be achieved. CalculateRollupFieldRequest is the SDK method that helps achieve this.

Coming to Power Automate, we can use Web API function calculaterollupfield to achieve this force recalculation of the rollup fields. The standard Dataverse connector available for performing unbound action only, we need to use the HTTP with Azure AD connector to perform this function.

**\[UPDATE\]**: Here is the example URL of the request

https://{{orgname}}/api/data/v9.2/CalculateRollupField(Target=@Target,FieldName=@FieldName)?@Target={ "@odata.type": "Microsoft.Dynamics.CRM.systemuser", systemuserid : "00000000-0000-0000-0000-000000000000" }&@FieldName='new_fieldname'

Wednesday 17 January 2024

Dyanmics CRM - Secure and Unsecure Configurations in Plugin

Dynamics CRM

Plugins

Dynamics CRM provides two different configuration fields for plugins, the unsecure configuration and the secure configuration. The biggest difference that you’ll seen mentioned between these two settings is that the secure configuration is only viewable by CRM Administrators while the unsecure configuration is viewable by any CRM user. However, there’s another important difference: the unsecure config will automatically move between environments with your CRM solutions.


Summary

Use the secure config when a setting is sensitive and shouldn’t be readable by any CRM user OR if you don’t want that setting to move between environments when importing/exporting solutions.

Unsecure ConfigSecure Config
Readable by any CRM UserYesNo
Moves Between Environments with SolutionsYesNo






eg /: Constants that you’d want to move with a solution like “MaxRetries” or “NumberOfDaysToFollowUp”     is Unsecure Config













Git Basic working

  Develop = dev   r