Featured

Recent Posts


Environment Variable referencing Azure Key Vault secrets (Dataverse / Power Platform)

Check out the below articles – https://docs.microsoft.com/en-us/power-apps/maker/data-platform/environmentvariables#use-azure-key-vault-secrets-preview Within plugin – https://itmustbecode.com/azure-key-vault-secrets-in-dataverse/ Within Power Automate – https://www.msautomate.com/2022/06/16/azure-keyvault-and-power-automate/ https://powerapps.microsoft.com/en-us/blog/how-to-use-environment-variables-with-akv-secrets-in-the-ci-cd-pipeline-when-deploying-applications/ https://blog.yannickreekmans.be/environment-variable-secrets-azure-key-vault-improvement/

Fixed – Unable to add record type ‘Lead’. It is invalid to create component msdyn_decisioncontract with the same export value as an existing component in Unified Routing (Dynamics 365)

Recently while trying to enable Unified Routing on Lead table/ entity we got the below error. “Unable to add record type … Continue reading “Fixed – Unable to add record type ‘Lead’. It is invalid to create component msdyn_decisioncontract with the same export value as an existing component in Unified Routing (Dynamics 365)”

Fixed – Flow client error returned with status code “Forbidden” and details – MissingAdequateQuotaPolicy, the user does not have a service plan adequate for the non-Standard connection in Power Automate

Recently one of the users reported this error while trying to Test a flow. Request to XRM API failed with error: … Continue reading “Fixed – Flow client error returned with status code “Forbidden” and details – MissingAdequateQuotaPolicy, the user does not have a service plan adequate for the non-Standard connection in Power Automate”

Fixed – Unable to process template language expressions for trigger. In the template language function ‘convertToUtc’, the value provided for the time zone id ‘Gulf Standard Time’ was not valid while using Delay Until property– Power Automate

Recently while using Delay until property of the trigger, in one of the flows, we got the below error “Unable to … Continue reading “Fixed – Unable to process template language expressions for trigger. In the template language function ‘convertToUtc’, the value provided for the time zone id ‘Gulf Standard Time’ was not valid while using Delay Until property– Power Automate”

Fixed – Invalid template. Unable to process template language expressions in action. Template language expression cannot be evaluated: the template action is not defined in the current scope (Power Automate)

While testing a cloud flow in Power Automate, for one of the actions, we got the below error Unable to process … Continue reading “Fixed – Invalid template. Unable to process template language expressions in action. Template language expression cannot be evaluated: the template action is not defined in the current scope (Power Automate)”

Fixed – Authorization failed. The client with object id does not have authorization to perform action ‘Microsoft.Authorization/roleAssignments/write’ over scope ‘/subcriptions’ while configuring Azure Synapse Link for Dataverse

Recently while configuring Azure Synapse Link for Dataverse, for exporting data to Azure Data Lake we got the below error – … Continue reading “Fixed – Authorization failed. The client with object id does not have authorization to perform action ‘Microsoft.Authorization/roleAssignments/write’ over scope ‘/subcriptions’ while configuring Azure Synapse Link for Dataverse”

Fixed – Sorry, we need additional information to verify your identity. Please Contact Support error while creating Dynamics 365 Trial

Recently while creating a Dynamics 365 Trial, https://dynamics.microsoft.com/en-us/dynamics-365-free-trial/, we were getting the below error, during the verification step “Sorry, we need … Continue reading “Fixed – Sorry, we need additional information to verify your identity. Please Contact Support error while creating Dynamics 365 Trial”

Fixed – You do not have prvReadmsdyn_personasecurityrolemapping permission to access Persona Security Role Mapping records. Contact your Microsoft Dynamics 365 administrator for help

Recently one of the users, while accessing a few of the System User’s views, was getting the below error. You do … Continue reading “Fixed – You do not have prvReadmsdyn_personasecurityrolemapping permission to access Persona Security Role Mapping records. Contact your Microsoft Dynamics 365 administrator for help”

Loading…

Something went wrong. Please refresh the page and/or try again.

Advertisements

Improve fetch xml performance by using latematerialize option.


Passion Dynamics

If you have been working on dynamics projects, I bet fetch xml is your best friend as it’s really an easiest way to query and execute in order to get required results. Along with that, constructing it in advanced find is super easy too.

Don’t forget about amazing XRM toolboxes which helps you creating even complex fetch xml queries.

It all sounds fun and easy till your fetch XML becomes really heavy with so many joins or you have a requirement where you need to make many joins.

A Quick tip!

You can have a maximum of 10 joins in fetch xml for dynamics CE.

You will notice that retrieval from dynamics is getting slower and slower as fetch xml becomes complicated. I have faced something similar multiple times. What I did?

well, there are multiple options one of which I want to cover today as using this option, there…

View original post 134 more words

How to – Clone a record in Dataverse / Dynamics 365 (C#)


Here we will be cloning the below contact record –

For it, we can make use Clone method of EntityExtensions class

If we run the below code, we will get the “Cannot insert duplicate key” exception.

Because we need to set the ID for the newly cloned record to either empty or a new GUID.

Also, we need to remove the contactid attribute or entity’s id field else we will get the below exception – “Entity Id must be the same as the value set in property bag

Also if we are retrieving all the attributes we need to make sure we remove those attribute which can cause below unique constraint errors.

Sql error: The operation attempted to insert a duplicate value for an attribute with a unique constraint. CRM ErrorCode: -2147012606 Sql ErrorCode: -2146232060 Sql Number: 2627

In case of contact, we had to remove the address id attributes, to get the record cloned.

Now let us clone the same contact record with its related leads.

  • Here first we need to retrieve contact along with its associated lead record.
  • Then remove the id attribute that could duplicate issues in the child lead records also.

Please refer the helpful posts –

https://debajmecrm.com/clone-record-dynamics-crm-clone-method/

https://www.inogic.com/blog/2014/08/clone-records-in-dynamics-crm/

https://dyncrmexp.com/2017/10/24/retrieve-primary-entities-along-with-related-entities-with-one-queryexpression/comment-page-1/

https://dynamict.eu/2016/08/09/create-record-with-related-records-in-a-single-request-using-c/

Hope it helps..

 // related lead records of contact
                    QueryExpression query = new QueryExpression("lead");                    
                    query.ColumnSet = new ColumnSet(true);

                    // contact and lead - 1 - n relationship
                    Relationship relationship = new Relationship("lead_parent_contact");
                    relationship.PrimaryEntityRole = EntityRole.Referenced;

                    RelationshipQueryCollection relatedEntity = new RelationshipQueryCollection();
                    relatedEntity.Add(relationship, query);

                    RetrieveRequest request = new RetrieveRequest();
                    request.RelatedEntitiesQuery = relatedEntity;
                    request.ColumnSet = new ColumnSet(true);
                    request.Target = new EntityReference("contact", new Guid("ca0aa844-57c6-ec11-a7b6-00224826af1e"));

                    RetrieveResponse response = (RetrieveResponse)svc.Execute(request);
                    var contactToBeCloned = response.Entity;                   
                    var clonedContact = contactToBeCloned.Clone(true);

                    // remove attribute that can cause error from main entity             
                    clonedContact.Id = Guid.NewGuid();
                    clonedContact.Attributes.Remove("contactid");                    
                    clonedContact.Attributes.Remove("address1_addressid");
                    clonedContact.Attributes.Remove("address2_addressid");
                    clonedContact.Attributes.Remove("address3_addressid");

                    // remove attribute that can cause error from child / related entities
                    foreach (var relatedEntities in clonedContact.RelatedEntities)
                    {
                        foreach(var leadEntity in relatedEntities.Value.Entities)
                        {
                            leadEntity.Id = Guid.NewGuid();
                            leadEntity.Attributes.Remove("leadid");
                            leadEntity.Attributes.Remove("address1_addressid");
                            leadEntity.Attributes.Remove("address2_addressid");
                        }
                    }
                    svc.Create(clonedContact);
Advertisements

How to –Upload files to File Column / Attribute in SSIS from Azure Blog Storage – KingswaySoft (Dynamics 365 / CRM)


Below are a few ways we can upload files to the File Column type field using KingswaySoft’ s Integration Toolkit and Premium Flat File Source and Premium Derived column which are part of the SSIS Productivity Pack of KingswaySoft

https://nishantrana.me/2022/03/17/how-to-upload-files-from-file-column-attribute-using-ssis-kingswaysoft-dynamics-365-crm/

Using the Import columnhttps://nishantrana.me/2022/08/10/how-to-upload-files-to-file-column-attribute-using-ssis-kingswaysoft-and-import-column-dynamics-365-crm/

Using the Script Componenthttps://nishantrana.me/2022/08/09/how-to-use-script-component-to-upload-files-to-file-column-attribute-in-ssis-kingswaysoft-dynamics-365-crm/

Here instead of uploading the files from the local drive, we will be uploading the files stored in the Azure Blob Storage to the corresponding contact records inside CRM.

Below is our Blob Container – here to make things simple we have the mobile number of the contact records used as the pdf file name uploaded, and which will be used for updating the contact records.

The contact records in CRM

Below is how our package looks like

Here we have specified the Item Selection Mode as Recursive (File Only) to make sure it picks the files only and not the folder.

Within the Derived Column, we are replacing the pdf extension from the file name i.e. mobile number, and using it to find the contact records and update them.

Finally, in the CDS / CRM Destination Component, we are performing an upsert using the dervied Mobile Phone Formatted derived column as a match.

The mapping –

Let us now run the package.

Let us now open the records and check.

As expected we can see the file uploaded.

Thanks to Venkata for this solution https://www.linkedin.com/in/venkata-satya-kumar-nagumalli-77923972

Also, check out –

To extract attachments from notes-https://nishantrana.me/2021/02/10/extracting-attachments-from-notes-in-dynamics-365-dataverse/

To download files using Download Block Requesthttps://nishantrana.me/2022/03/14/how-to-download-file-from-file-column-using-initializefileblocksdownload-and-downloadblock-request-dynamics-365-crm-dataverse/

To upload files using Upload Block Requesthttps://nishantrana.me/2022/03/15/how-to-upload-file-to-file-column-using-initializefileblocksupload-and-uploadblock-request-dynamics-365-crm/

Understand File and Image Data Typehttps://nishantrana.me/2021/10/01/using-file-and-image-data-type-in-dataverse-dynamics-365/

Try out the wonderful, feature-rich, and powerful SSIS Integration Toolkit for Dynamics 365 by KingswaySofthttps://www.kingswaysoft.com/products/ssis-integration-toolkit-for-microsoft-dynamics-365/download

Check other articles on SSIS plus CRM – https://nishantrana.me/2018/11/26/ssis-and-microsoft-dynamics-365/

Hope it helps..

Advertisements

Environment Variable referencing Azure Key Vault secrets (Dataverse / Power Platform)


Check out the below articles –

https://docs.microsoft.com/en-us/power-apps/maker/data-platform/environmentvariables#use-azure-key-vault-secrets-preview

Within plugin https://itmustbecode.com/azure-key-vault-secrets-in-dataverse/

Within Power Automatehttps://www.msautomate.com/2022/06/16/azure-keyvault-and-power-automate/

https://powerapps.microsoft.com/en-us/blog/how-to-use-environment-variables-with-akv-secrets-in-the-ci-cd-pipeline-when-deploying-applications/

https://blog.yannickreekmans.be/environment-variable-secrets-azure-key-vault-improvement/

Advertisements

Enable/Disable Affinity Cookie on Azure Function App


Meghna Kharera's Blog

Affinity cookie is used to control the effective loading of the website and to ensure that all user requests are directed to the same server in any browsing session.

Enable Affinity Cookie on Azure Function :

  1. Navigate to Azure Portal
  2. Locate your Function App
  3. In Setting Pane, select Configuration
  4. Add New application setting
  5. Add Name as : PreferConnectionAffinity and Value : true
  6. click OK and save the setting
  7. Now when ever request will be send, it will be appending a affinity cookie to it and reach a dedicated server

Disable Affinity Cookie on Azure Function:

  1. Navigate to Azure Portal
  2. Locate your Function App
  3. In Setting Pane, select Configuration
  4. Add New application setting
  5. Add Name as : PreferConnectionAffinity and Value : false
  6. click OK and save the setting
  7. Now when ever request will be send, it will be distributed across servers

I tried above approach and the results were amazing, My…

View original post 76 more words

How to – Use Import Column to Upload files to File Column / Attribute in SSIS KingswaySoft(Dynamics 365 / CRM)


A few weeks back had posted on how to upload files to the File Column type field using KingswaySoft’ s Integration Toolkit and Premium Flat File Source and Premium Derived column which are part of the SSIS Productivity Pack of KingswaySoft

https://nishantrana.me/2022/03/17/how-to-upload-files-from-file-column-attribute-using-ssis-kingswaysoft-dynamics-365-crm/

Here we will see an example of achieving the same without using the KingswaySoft Productivity Pack’s Premium Flat File Source and Derived column. (although would recommend using it as it includes over 300 premium components making it easier to rapidly build efficient solutions)

https://www.kingswaysoft.com/products/ssis-productivity-pack

Below is our source file

The contact records in CRM

Below is how the package looks like

The Flat File Source points to the location where we have the source csv file containing email, file path, and file name.

Import Column takes the File Path as the Input.

For the Input and Output properties, add an output column (BinaryColumn) of DataType = image.

In the FilePath input column properties, specify the column id of the output column.

Finally, in the CDS / CRM Destination Component, we are performing an upsert using the Email id as a match.

Here we have mapped the output column of the Import Column i.e. BinaryColumn to the binary content field of the file type attribute of the CRM.

Let us now run the package.

Let us now open the records and check.

As expected we can see the file uploaded.

Also, check out –

To extract attachments from notes-https://nishantrana.me/2021/02/10/extracting-attachments-from-notes-in-dynamics-365-dataverse/

To download files using Download Block Requesthttps://nishantrana.me/2022/03/14/how-to-download-file-from-file-column-using-initializefileblocksdownload-and-downloadblock-request-dynamics-365-crm-dataverse/

To upload files using Upload Block Requesthttps://nishantrana.me/2022/03/15/how-to-upload-file-to-file-column-using-initializefileblocksupload-and-uploadblock-request-dynamics-365-crm/

Understand File and Image Data Typehttps://nishantrana.me/2021/10/01/using-file-and-image-data-type-in-dataverse-dynamics-365/

Try out the wonderful, feature-rich, and powerful SSIS Integration Toolkit for Dynamics 365 by KingswaySofthttps://www.kingswaysoft.com/products/ssis-integration-toolkit-for-microsoft-dynamics-365/download

Check other articles on SSIS plus CRM – https://nishantrana.me/2018/11/26/ssis-and-microsoft-dynamics-365/

Hope it helps..

Advertisements
%d bloggers like this: