Early Opt-in for October 2019 Wave 2 Updates

August 2, 2019 was when the Wave 2 Updates were to be out. And here we are! By now, you should have gotten the option to update the wave 2 updates on your environment(s).

Let take a quick look at how you can enable this for your environment.

Here are the details Microsoft notes on the Early opt in to 2019 release wave 2

Enabling Wave 2 2019 Updates

Visit https://admin.powerplatform.microsoft.com/ (PowerPlatform Admin Center) and go to Environments.

Select the environment
selectEnv.png

Check that the updates are available for Activating. Initially the 2019 release wave 2 updates will appear Off. Click Manage.
Please note that you should try this on the Sandbox first before opting to apply on Production directly.
manageButton

Click on Update now

updateNow

Click Confirm.
confirm

And the Updating will start in a few moments.

Progress

You’ll see that the Apps are being updated as shown below for a few hours
updating

As and when each of the apps complete, it’ll show progress as below
partialComplete.png

Once complete, this will be the status
completeSetup.png

2019 Wave 2 Updates Applied

Once completed, you can log into Dynamics and check the About section to find out that the updates have been applied
completed

Here’s what everything’s included in the 2019 wave 2 updates: 2019 release wave 2 features available for early access

Happy 365ing! Hope this helps.

Advertisements

Workaround to get Plugin Profiler from the Unified Interface in D365 CE

Developers like me, often need to Profile the Plugin so see what logic you are implementing and this is pretty common in the development lifecycle. But, Let’s say you don’t have the classic UI at your disposal and need to download the Profiler from the Unified Interface itself – Here’s a little detour you’ll need to take to get it right.

Alternatively, using Persist To Entity is also preferred. But example – if you have a plugin on Create and on PreOperation, you won’t want to record to be created, you can go with the below –

Ease of the Classic UI

On the classic UI, you would get the Profiled file correctly just by Download Log File button on the interface itself.

classicProfiler

And the file has correct data starting with –
startingWIth

And ending with
endingWith.png

Profiler Message on the Unified Interface

As of now, the message pop-up for the profiled plugin will give you this –
currentUCIMessage.png

And the file has this –

currentUCIFile

And the Plugin Registration Tool doesn’t understand this! You’ll get this parsing error if you try –
parseError
parseErrorMessage

Turn On Exception Logging

Before that, you can check this post on how you can quickly go to the classic UI’s Settings area here – D365 Quick Tip: Shortcut to Settings from the Unified Interface

To be able to capture these details in the Plugin Profile entity, enable Plug-in and custom workflow activity tracing from the System Settings as shown below
turnOnLogging

You can’t add Plug-in Trace Logs to UCI

  1. Smarter way would be to add the Plug-in Trace Log entity to the UCI App itself and not having to go back to the classic UI. Unfortunately, you can’t do that.
    cantAddToUCI.png
    With that, we will have to go back to the Classic UI’s Settings > Plugin-In Profile Area to get out Profiled Log File.

Plug-In Trace Log

  1. Assuming you are back in the classic UI (maybe keep this open in another tab)
    Open the Trace Log record
    openProfileRecord.png
  2. Scroll down to the very bottom to find the Exception Details
    profiledData.png
  3. Now, copy that to the text file and attach it in the Plugin Registration Tool
    correctProfileFile.png
  4. This should work and you won’t get an error
    attached.png

Phew! I know this is lengthy. But we hope this will soon be eased 🙂

Hope this helps you!

Nested Editable Grids in D365 CE v9 UCI

Nested Grids – as the name suggests is a grid-within-a-grid (or rather, Grid-ception!). Nested Grids will let you expand a sub-grid entry to look at another grid of the expanded record. This depends on how you configure it.

Be aware, Nested Grids work with Editable Grids and only for Tablet, Phones and Unified Interface. This is not available for the classic Web UI.

Configuring Nested Editable Grid

Here’s my entity structure – I have Account, having multiple Contacts and each Contact, having Opportunities under them. Like in the below diagram –

relationships

Now, I have a Contact grid on my Account form (just like we usually do).

  1. I now will have to choose the grid to be a Editable Grid Control as follows. Also, click on the Nested grid view control as pointed
    editableGridControl
  2. On clicking the Nested grid view pencil, the next dialog box will let you select what entity you want the Nested Grid to be for. Note that this is with respect to the Contact entity and not the Account entity. For this example, I chose Opportunities.
    selectEntity.png
  3. On selecting the entity, I have to make sure my View is also correctly set to show the records
    selectView.png
  4. Now, my dataset will populate from the selected Entity and View. next we will need to select what should be bound as a key. Going back to the Nested grid parent ID pencil this time
    selectNestedGridView
  5. Select what should be the field to bind the data. In this case, I want to show the one that is related to the Contact expanded.
    parentControlIdSelection
  6. Now, click OK for everything and your configuration should look like below.
    Finally save and Publish all customization.
    finalConfig.png

Using Nested Editable Grid

Now, if you look at the Contact grid on the Account form. You’ll see an arrow on each record which indicates that it can be expanded.
collapsed.png
And when you click on it, you’ll see the Nested Grid for Opportunities we configured in the section above
expanded
And yes, Opportunity too is editable in-line!

Hope this helps!!

Enable Flow button on D365 Ribbon

This is a pretty simple tweak to either show or hide the Flow button on the entity Forms’ Ribbon.

flowButtonVisible

Flow Button Not Visible

nowFlow

System Settings

Navigate to Settings > Administration. Go to System Settings
systemSettings

In System Settings, under Customization tab, look for Enable Microsoft Flow option.
customizationTab

You’ll be asked for permission
permission.png

Now, this is turned on
turnedOn.png

Flow Button Visible

Now, once you have enabled this setting, you’ll be able to see the Flow button on the View and Form ribbons across Dynamics 365 CE
flowButtonVisible

That was quick!!

Solving ‘The record could not be deleted because of an association’ error in D365 CE

Restricting Delete for child records is something customizers should start paying special attention towards defining 1:N relationships for entity records.

System Customizers often design this on purpose so that you are aware that the record you are deleting has child records associated with it and cannot be deleted.

Let’s consider this scenario  – Account is a parent of Subscription (which is a custom entity)

relationship

 

Error

Assume, Subscription 1 record has Account lookup to record A. Datum Corporation. When you attempt to Delete the Account, you get this error message.

actualError

And when you download the Log File from the button on the error message, you can see at the very bottom on the Log that Cascade Delete failed due to the restriction.

It also mentions what child entity is causing it
highlightError

Reason

The reason being 1:N relationship on the Account entity to Subscription entity.

deleteRestrictionInRelationship

Workaround

Now, since this is a Restriction on Delete, you can either change it if you are allowed to modify the behavior and it should be fine
changeableBehavior
However, some system relationships can’t be changed. Example – Opportunity to Quote relationships
systemRestricted.png

To overcome this, you can remove the Opportunity Lookup value on the Quote entity and save the record.

Then, the parent Opportunity can be deleted.

Hope this helps!

PSA v3 View Custom Controls used on Project form

Here’s a summary of what all Custom Controls are used in the out-of-the-box PSA v3 Project form. I strongly recommend not changing the existing controls/views.

However, if you accidentally delete any Tab/View, this post will help you get it back! 🙂

Project Task View

Project Task uses AdditionalColumns as the Default View from entity Project Tasks (Project)
projectTaskView

and the Control used is CC_ProjectTaskControl and note that the CC_TrackingView is CC_ProjectTaskControl_NotTracking, you’ll see a different CC_TrackingView used later below.
projectTaskControl

 

Resource Assignments View

Resource Assignment uses Active Estimates as the Default View from entity Project Tasks (Project)

resourceAssignmentView.png

And uses CC_ViewType as CC_EstimatesGridControl_AssignmentView
resourceAssignmentControl

Resource Reconciliation View

Resource Reconciliation View also uses the same Active Estimates View as in Resource Assignments
estimatesView

but uses CC_ReconciliationControl for the control
reconciliationControl

Estimates View

Again, Estimates View uses the same Estimates view as mentioned in the Reconciliation View and Resource Assignments View above.
estimatesView

Also, it uses the same CC_EstimatedGridControl but the CC_ViewType is CC_EstimatesGridControl_FinancialView
estimatesFinancialView

Tracking View

Tracking View uses the All Project Tasks as the Default View
trackingView

It uses the same CC_ProjectTaskControl as used in the Project Task view but CC_TrackingView here is CC_ProjectTaskControl_Tracking
TrackingControl

Expense Estimates View

Again, Expense Estimates View uses the same Estimates view as mentioned in the Reconciliation View, Resource Assignments View & Estimates view above.
estimatesView

But the CC_ViewType used is CC_EstimatesGridControl_ExpenseView
expenseViewControl.png

 

Hope this summarizes and helps you build your custom form quicker.

Change the Unified Interface App Icons

Default App Icons for typical D365 environment look like these.

defaultAppIcons

But here’s what you can do to change these to put custom SVG icons.

SVG Icons

Regardless of dimensions, SVG icons work everywhere. So why keep them to just Ribbons, you can even change your App Icons to SVG Icons in your Dynamics 365 implementation.

  1. Make Web Resource for your SVG Icon.
    svgWebResource
  2. Open your Model Driven App in Dynamics 365 Solution. In the App Designer, go to Properties of the App itself and look for the drop-down above App Tile.
    defaultSalesIcon
  3. Select your SVG Icon and Publish the same
    newIcon.png
  4. And you’re set!
    updatedIconTile
    updatedIconSidebar

Hope this helps!