Installing D365CE 9.0 – step by step instruction – Andrew Butenko’s Blog
Jan09

Installing D365CE 9.0 – step by step instruction – Andrew Butenko’s Blog

Microsoft released on-premise version of Dynamics 365 for Customer Engagement a month ago. In this post I share experience I got during installation. I used “single-box” server where I installed Windows Server 2016 with AD Controller, DNS and WebServer roles and SQL Server 2016 SP2. Don’t use this approach in productive environment because it’s not supported to install D365CE… Continue Reading Andrew Butenko’s Article on...

Read More
How to make 9.0 Classic Client a bit cleaner – 2 – Andrew Butenko’s Blog
Jan08

How to make 9.0 Classic Client a bit cleaner – 2 – Andrew Butenko’s Blog

In one of my previous posts I played with layout of new WebClient. Idea of this post I got from question was asked on CrmUG forum – is it possible to remove big gray areas under sections? I played a bit and found a way: Add following code to run on form load and that should do the trick. function reformatForm() { try… Continue Reading Andrew Butenko’s Article on their blog

Read More
Show ribbon button depending on Application running – Andrew Butenko’s Blog
Jan07

Show ribbon button depending on Application running – Andrew Butenko’s Blog

Several days back I saw an email from Steve Mordue MVP asking if it is possible to filter ribbon elements based on application like it’s implemented for entities, views and forms. Answer was that at the moment there is no easy way to do it. In this post I will help Steve to resolve his issue using JavaScript and Ribbon Workbench. First of all to define what application is running

Read More
My YouTube channel – Andrew Butenko’s Blog
Dec26

My YouTube channel – Andrew Butenko’s Blog

Leave a Reply Cancel reply Your email address will not be published. Required fields are marked * Comment Name: * Email * Website Notify me of follow-up comments by email.Notify me of new posts by email. Continue Reading Andrew Butenko’s Article on their blog

Read More
How to use Xrm.Utility.getResourceString in Html WebResources – Andrew Butenko’s Blog
Dec18

How to use Xrm.Utility.getResourceString in Html WebResources – Andrew Butenko’s Blog

I saw several threads on community forums that state “Xrm.Utility.getResourceString” functionality doesn’t work in Html webresources. I decided to spend some time digging to find out why it doesn’t work and how to make it work. During investigation I found out that Html window missed several objects that were available on regular entity form. Unfortunately… Continue Reading Andrew Butenko’s Article on their...

Read More
Data migration from ground to cloud – my experience – Andrew Butenko’s Blog
Dec14

Data migration from ground to cloud – my experience – Andrew Butenko’s Blog

During last 12 month I participated in several migration projects from ground to cloud. In this post I will share my experience migrating customizations and data. First recommendation – if your instance is eligible for FastTrack – don’t even think regarding other options. There will be no need to develop migration packages, map users, original data audit logs will stay in-place,… Continue Reading Andrew Butenko’s Article...

Read More
Html Webresource, Classic UI vs UCI – story of broken functionality – Andrew Butenko’s Blog
Dec07

Html Webresource, Classic UI vs UCI – story of broken functionality – Andrew Butenko’s Blog

This morning started for me from bug I found really interesting. Product (custom visualization of data we did using Html/JS webresource developed for customer) didn’t work as it should on the UCI. The same time everything worked fine on the Classic UI Client. My investigation led to scary fact – OOB Api (even in your custom Html webresource) behaves differently… Continue Reading Andrew Butenko’s Article on...

Read More
HowTo send record Url pointing to specific Model Driven Apps – Andrew Butenko’s Blog
Dec05

HowTo send record Url pointing to specific Model Driven Apps – Andrew Butenko’s Blog

Model Driven Apps were released as a part of 8.2 release (and were called just Apps that time). It’s really cool feature that allows you to build role-tailored applications that have functionality required for specific role. What is available through UI unfortunately is not available through workflows – there is no possibility to define specific Model Driven App when you embed URL… Continue Reading Andrew Butenko’s Article...

Read More
How to Retrieve Duplicates using WebApi – Andrew Butenko’s Blog
Dec03

How to Retrieve Duplicates using WebApi – Andrew Butenko’s Blog

var contactRecord = {    “@odata.type”: “Microsoft.Dynamics.CRM.contact”,    “firstname”: “Andrew”,    “lastname”: “Butenko”}; var pagingInfo = {    “PageNumber”: 1,    “Count”: 10}; var retrieveDuplicatesRequest = {    BusinessEntity: contactRecord,    MatchingEntityName: “contact”,    PagingInfo: pagingInfo,    getMetadata:...

Read More
Calling D365 actions/functions from Flow – Andrew Butenko’s Blog
Nov30

Calling D365 actions/functions from Flow – Andrew Butenko’s Blog

Microsoft Flow is new and amazing product that allows to build different automations without opening Visual Studio. Components for Dynamics 365 for CE/CDS are limited at the moment. It’s possible to start flow either on-demand or when record is created/updated/deleted inside system and it allows to create/update/delete records and retrieve sets of records and iterate through it. But… Continue Reading Andrew Butenko’s...

Read More
open plugin/custom workflow activity project created using CRM/D365 Developer Toolkit – Andrew Butenko’s Blog
Nov25

open plugin/custom workflow activity project created using CRM/D365 Developer Toolkit – Andrew Butenko’s Blog

I have to confess that I used to use CRM Developer Toolkit (CRMDT) before Jason Lattimer’s VS extensions were released. After I uninstalled CRMDT I started to experience issues opening projects created using it. Following error message appeared when I tried to open a solution: Here is how it can be easily fixed: Click “Ok” in windows with error and when your solution is loaded… Continue Reading Andrew Butenko’s Article on...

Read More
Dude, where is my section? – Andrew Butenko’s Blog
Nov23

Dude, where is my section? – Andrew Butenko’s Blog

I migrated one customer from Dynamics CRM 2011 On-Premise to D365 Online and everything was fine until customer discovered that account form looks weird – one section just disappeared: And here is how the same section looked like in “Customization” mode: So controls were there but something just made it invisible. After some investigation my manager Paul… Continue Reading Andrew Butenko’s Article on their...

Read More
Enable plus button for subgrids on disabled forms – Andrew Butenko’s Blog
Nov20

Enable plus button for subgrids on disabled forms – Andrew Butenko’s Blog

Several weeks ago I got a question from my customer – when record is inactive it’s not possible to add associated records from subgrids located on entity form – is it possible to bring back “plus” button to the subgrid even if record is deactivated? I thought that it should be possible and took time for investigation. Here is what I did: Created solution and put only related… Continue Reading Andrew Butenko’s Article on...

Read More
Cancelling save event based on the result of async operation – Andrew Butenko’s Blog
Nov15

Cancelling save event based on the result of async operation – Andrew Butenko’s Blog

var AccountForm = (function () {     var SaveMode = {        Save: 1,        SaveAndClose: 2,        SaveAndNew: 59,        Autosave: 70    };     //this is variable that shows if validation was successfully passed or not    var isValidationNeeded = true;        function OnSave(executionContext) {        //so if there are… Continue Reading Andrew Butenko’s Article on their...

Read More
Showing ribbon button based on the result of async operation – Andrew Butenko’s Blog
Nov13

Showing ribbon button based on the result of async operation – Andrew Butenko’s Blog

var AccountRibbon = (function () {     //this variable stores if async operation was already completed    var isAsyncOperationCompleted = false;    //this variable stores the result – if button enabled or not    var isButtonEnabled = false;     function IsButtonEnabled(formContext) {        //If async operation was already completed I just return the result of it

Read More
Pass DateTime parameters to set field record values – Andrew Butenko’s Blog
Nov08

Pass DateTime parameters to set field record values – Andrew Butenko’s Blog

Today I got requirement to open new record form with prepopulated DateTime field. This article describes how to pre-set Date field: The following sample sets the Est. Close Date field for a new opportunity to January 31, 2011. The unencoded value for the extraqs parameter is “estimatedclosedate=01/31/11”. No single word about time component. Luckily I found a way to make it work…. Continue Reading Andrew Butenko’s Article...

Read More
How to make 9.0 Classic Client a bit cleaner – Andrew Butenko’s Blog
Nov07

How to make 9.0 Classic Client a bit cleaner – Andrew Butenko’s Blog

At the moment I do migration for one of customers from 8.2 ground to 9.0 cloud. I migrated all the customizations and customer was not satisfied with layout of updated classic 9.0 client. The biggest complain was related to huge whitespaces around fields. Just compare the same default forms of account entity 8.2 on the left and 9.0 classic UI on the right: Obviously there was no… Continue Reading Andrew Butenko’s Article...

Read More
How to share record with user using WebApi – Andrew Butenko’s Blog
Nov01

How to share record with user using WebApi – Andrew Butenko’s Blog

var target = { “accountid”: “ACAAB842-21C7-E811-A96F-000D3A16A41E”, //put <other record type>id and Guid of record to share here “@odata.type”: “Microsoft.Dynamics.CRM.account” //replace account with other record type}; var principalAccess = { “Principal”: { “systemuserid”: “d272654b-57f5-4564-8d0b-36d0d4c426c4”, //put teamid here and Guid of...

Read More
How to call QuerySchedule using WebApi – Andrew Butenko’s Blog
Jul11

How to call QuerySchedule using WebApi – Andrew Butenko’s Blog

var context; if (typeof GetGlobalContext === “function”) {    context = GetGlobalContext();} else {    context = Xrm.Page.context;} var start = new Date(); //Put Start datetime here var end = new Date(); //Put End datetime hereend.setDate(end.getDate() + 1); var requestUrl = “/api/data/v8.2/QuerySchedule(ResourceId=@p1,Start=@p2,End=@p3,TimeCodes=@p4)”;requestUrl += “?@p1=” +

Read More
How to Add Item to Campaign using WebApi – Andrew Butenko’s Blog
Jun21
Read More
Email Invoice in PDF format – Andrew Butenko’s Blog
May03
Read More
Cloning record with related records with no code – Andrew Butenko’s Blog
Apr26
Read More
Copying of N-N related records with no code – Andrew Butenko’s Blog
Apr26

Copying of N-N related records with no code – Andrew Butenko’s Blog

In this post I will provide instructions how you can copy N-N related records using latest release of Ultimate Workflow Toolkit without any code. Let’s consider typical scenario – qualification of Lead. Both Lead and Account have N-N relationship with entity Industry. When user wants to qualify Lead – Industries that are related to it have to be copied into Account that is created… Continue Reading Andrew Butenko’s Article...

Read More
Copying of N-N related records with no code using UWT – Andrew Butenko’s Blog
Apr26
Read More
Ultimate Workflow Toolkit v1.5.0.0 – Andrew Butenko’s Blog
Mar20
Read More
How to generate Excel Template from code – Andrew Butenko’s Blog
Mar19
Read More
How to use SendEmailFromTemplate action with JavaScript and WebApi – Andrew Butenko’s Blog
Mar02
Read More
How to Add records to Marketing List using WebApi – Andrew Butenko’s Blog
Mar01
Read More
How to fix connectivity issues between SSDT + Report Authoring Extension and Dynamics 365 – Andrew Butenko’s Blog
Feb14
Read More
Ultimate Workflow Toolkit v1.4.0.0 – all you want to do with Multiselect Optionsets in Workflows – Andrew Butenko’s Blog
Dec03
Read More
lookupObjects – closer look – Andrew Butenko’s Blog
Nov22
Read More
What’s new in clientside for devs besides Xrm.WebApi – Andrew Butenko’s Blog
Nov21
Read More