Embedding Canvas App on a Model-Driven App’s Form (Preview) – Passing list of related records as context


Similarly to passing the current record as context to the embedded canvas app, we can pass the list of related records as context.

Let us see how it works step by step.

Open the form for customization and insert\edit an existing Sub-Grid control and select Canvas App for the Add Control option.

Select the option Web for the canvas app. Here clicking on Customize will open the PowerApps studio for creating\editing the app.

Here View Name shows All Accounts the Default View selected in the Data Source section of the Display tab of the properties dialog box.

Clicking on Customize opens the PowerApps Studio as shown below. Here ModelDrivenFormIntegration is the special control which provides us the contextual data from our form.

Click on Edit, specify the layout and select from the available fields of the entity for the layout.

Go to App Settings à Advanced Settings and turn on the “Enable app embedding user experience”

Save the app in the Cloud, this will also publish the app.

This will auto-generate the App ID and auto-fill it in the Set Properties dialog box of the Sub Grid control.

Save and publish the form.

We can see our canvas app embedded in the Unified client interface as shown below in the right.

Also à

Hope it helps..

Embedding Canvas App on a Model-Driven App’s Form (Preview)


Login to Dynamics 365 CE, open any of the Entity’s form and either pick any of the existing single line of a text field or sub-grid control or add one to the form.

We will use Single Line of Text if we want to pass the current record as context and Sub-Grid if we want to pass the list of related records as context.

In this post, we will first see how to pass the current record as context.

For this let us open Lead form and select Topic field which is a single line of text for customization (Change Properties).

Select Controls tab, and click on Add Control and choose Canvas app.

Here Entity name is auto-populated by the selected Entity and although it seems editable, changing it will have no effect.

App ID is auto-generated on creation of canvas app.


Let us click on Customize to create our canvas app. This opens the PowerApps Studio.

ModelDrivenFormIntegration is the special control which provides us the contextual data from our form.

Clicking on Edit for the Fields property for the gallery1 control opens a pane that shows all the fields from our lead entity.

Let us change the Layout to Title, subtitle, and body and set Body1 to the description, Subtitle1 to Fullname and Title2 to Subject.

Now before saving and publishing the app, go to File à App Settings à Advanced Settings

Set Enable app embedding user experience as On.

Save the App to the Cloud. This also publishes the app.

Back in our form editor, we can see the App ID auto-populated

Select Web option for the Canvas App in the Controls Tab.

Click on Ok to close the form, followed by Save and Publish.

We can see the Canvas App in the form in the Unified Client Interface

Although the app doesn’t make much sense, it gives an idea on how to configure things for embedding it within form. This feature really opens up infinite possibilities.

Get all the details here

https://powerapps.microsoft.com/en-us/blog/enrich-your-model-driven-forms-with-embedded-canvas-apps-public-preview/

https://docs.microsoft.com/en-us/powerapps/maker/model-driven-apps/pass-current-embedded-canvas-app

https://docs.microsoft.com/en-us/powerapps/maker/model-driven-apps/embed-canvas-app-in-form

Hope it helps..

Optimum batch size and thread while deleting records using SSIS Integration Toolkit for Microsoft Dynamics 365


Recently we had to delete few records for one of our entities. It was a user owned entity with 1 custom 1 – n relationship with contact having around 190 fields.

It was Dynamics 365 CE Online on version 9.1 and had ExecuteMultiple max limit set to 20. (by raising support ticket with Microsoft)

https://msdn.microsoft.com/en-us/library/microsoft.xrm.sdk.deployment.throttlesettings.executemultipleperorgmaxconnectionsperserver.aspx

Batch Size and the Thread settings were used

Message – Delete

Sample Batch Size – 10000

The result: –

It seems that total thread between 10 – 15 with batch size 50, 100, 250, 500 gives similar results. Batch size of 50 with 15 threads could result into time out issue

https://nishantrana.me/2018/12/18/system-aggregateexception-one-or-more-errors-occurred-ssis-integration-toolkit-for-microsoft-dynamics-365-error-in-kingswaysofts-ssis-integration-toolkit/

So the optimum would be around 100 batch size with thread between 10 to 15.

Check out the below post as well while using UPSERT

https://nishantrana.me/2018/06/04/optimum-batch-size-while-using-ssis-integration-toolkit-for-microsoft-dynamics-365/

Hope it helps..

System.AggregateException: One or more errors occurred. (SSIS Integration Toolkit for Microsoft Dynamics 365) error in KingswaySoft’s SSIS Integration Toolkit


Occasionally we might get the below error in our SSIS Package.

[Dynamics CRM Destination [2]] Error: An error occurred with the following error message: “System.AggregateException: One or more errors occurred. (SSIS Integration Toolkit for Microsoft Dynamics 365, v10.2.0.6982 – DtsDebugHost, v14.0.3002.113)KingswaySoft.IntegrationToolkit.DynamicsCRM.CrmServiceException

: CRM service call returned an error: CRM service call returned an error: The request channel timed out while waiting for a reply after 00:01:59.6189794. Increase the timeout value passed to the call to Request or increase the SendTimeout value on the Binding. The time allotted to this operation may have been a portion of a longer timeout. (Error Type / Reason: Timeout)KingswaySoft.IntegrationToolkit.DynamicsCRM.CrmServiceException

(Status Reason: Timeout): The operation has timed out”.

The way we can fix is either increase the time out in the CDS/CRM Connection Manager as suggested.

However the better solution is to keep the batch size low around 100 or so in the CDS/CRM Destination Component. We have observed that decreasing the batch size helps here in case of this error.

Hope it helps..

PowerApps – Quick Overview (mind map)


Hi,

I was reading this wonderful whitepaper on PowerApps by David Yack and preparing notes on that using mind map.

Sharing the same.

https://www.goconqr.com/p/16333871-powerapps-mind_maps

PowerApps

 

Hope it helps..

Fixed – You do not have the necessary privileges to import security roles. Microsoft.Crm.CrmSecurityException: SecLib::CheckPrivilege failed while importing solution in Dynamics 365 CE


Recently after upgrade of our Dynamics 365 CE from 8.2 to 9.1, when the System Administrator tried importing the solution (managed), he got the below error

You do not have the necessary privileges to import security roles. : Microsoft.Crm.CrmSecurityException: SecLib::CheckPrivilege failed. User: e7282250-7d82-e711-80df-1458d0431690, PrivilegeName: prvWriteRole, PrivilegeId: bd123e14-17ba-40f6-8d8b-18f4bffa7e50, Required

The error message is quite weird, first as we have never got this error earlier and here it was System Administrator user who was importing.

We tried importing the solution with the using another System Adminstrator account and it worked for that other user.

Hope it helps..

Advertisements