Kingsway’s CDS/CRM Source component and has Source Type property having an AuditLogs value that can be used to get the Audit details from Dynamics 365 CE.
Below we have set the Source Type as AuditLogs in the CDS/CRM Source Component Editor and provided the FetchXML for the entity for which we would like to retrieve the audit information.
To get all the audit records, we can run it against Audit entity.
For AuditLogs source type there are 3 types of output:
Audit Details (Attribute Changes) – Contains field level changes.
Prior to D365 V9, we were using Xrm.Utility.openEntityForm() to open an existing record or to open a create form of an entity providing some additional parameters. However, in D365 V9 as it has been deprecated, we need to use Xrm.Navigation.openForm() to perform the same operation.
Here’s an example of the change in API along with it’s parameters. D365 V8:
D365 V9:
While creating a new record, we can pass values to the attributes using an object which is optional. Please see below sample:
We are currently in process of upgrading Dynamics from version 8.2 to 9.0. One of the major change is updating our current JavaScript to the new Xrm Client API Object Model.
One common change that we need to do across all our JScript is to pass the ExecutionContext from Form as well as Fields (and Ribbon) events. Script Finder makes it extremely easy to find them out.
Click on Find Scripts usage and it will generate a report with all the details as shown below
Now we can follow the generated report and directly make the change to the form, field, and ribbon instead of searching for it manually.
If we have custom Ribbon button and custom JS code to perform some action on click of it or to simply display/hide Ribbon button based on some condition in JS code in version prior to D365 V9, then following changes need to be done to make them work in D365 V9.
Using Ribbon Workbench, add a new parameter to the command/enable rule/display rule of type CRM Parameter:
Select the value of CRM Parameter as PrimaryControl:
After making above changes Click on Publish.
Then coming to JS code, pass executionContext as parameter to the method used in command/enable rule/display rule.
NOTE: Here, we talked about only ribbon button related changes wrt D365 V9. Other client API changes still need to be done as part of upgrade activities as mentioned here.
Updated 8-Sep-2018 –> Please check the Power Query Builder tool of XrmToolBox. Thanks Scott Sewell for informing about this wonderful tool.
Suppose, we have created a Power BI Report which makes use of OptionSet field.
It is on incident entity and we have selected priority code and state code option set fields. The problem is that we only get the value for them, so to get the label either we can manually specify it or use the plugin Power BI Option Set Assistant. We’d see both the methods.
Let us take state code field first and specify label for them manually.
In the Query Editor, select New Query and specify following value and save it.
Select statecode and value to map them, specify left outer join for Join Kind as shown below
Select the new column added to the query and check the label.
We now have the label specified added as a new column to our query.
Here, for small set of values we can specify the label manually, however if there are too many values this might not be feasible and also if there are changes in OptionSet inside Dynamics 365 CE, we’d have to do it manually here, which makes it difficult to maintain.
Select Priority field and click on “Create records for selected option sets”
Basically, it will create a new entity named gap_powerbioptionsetrefs entity, which will hold the records corresponding to each of the values of the optionset field selected.
Back in Power BI create a new query and select the gap_powerbioptionsetfrefs entity and save the query.
Now follow the same steps, select the main incidents query and perform merge queries operation as shown below
Once updated to compatible CRM 2016 On Premise (8.1), go to settings à customizations and export the existing solutions or create a new solution, add all the required solution components to it as unmanaged which will be imported to the new Dynamics 365 online environment.
Create a new Dynamics 365 Online Environment and synchronize it with your existing Active Directory