Your cart is currently empty!
Blog
- 
		
		

Planning for Dynamics 365 License Changes
Understanding how things used to workPrior to this change, Dynamics 365 was licensed on a selection “One Size Fits All” packages. Depending on what applications and features you needed, your accounts were licensed according to different bundles that would provide as much or more than needed for your account to function.
For example, if you needed to access Field Service and Sales, your only option was to purchase the Customer Engagement Plan, which would also give you access to Customer Service and Project Service Automation.
Now its a pay-per-app modelWith the changes launched on October 1, pricing moves to a Base plus Attach model for licensing in which a Base application is selected and then one or more Attach licenses can be added to it to determine costs.
In this new model, many businesses can save costs in some areas and see price increases in others. Due to the way licensing is assigned, these costs may not always be clear.
Announcing the Dynamics 365 License PlannerIn order to help you understand how these licensing changes impact you, we are releasing a Dynamics 365 License Planner tool to help you build your license plan and understand how your users will need to be licensed upon renewal.
Click the image above to visit the planner and start planning your license renewal today.
Dynamics 365 License Planner - 
		
		

Building a PowerApp that uses Excel as a database
Part one: Reading data from ExcelFor 100 days, I will be doing 100 push-ups a day. I built a PowerApp to track the push-ups I have done each day.
The PowerApp does the following:
- Lookup a row from Excel containing today’s count
 - Calculate and display the remaining push-ups for today. Each day starts at 100.
 - Show a set of buttons for the number of push-ups completed.
 - When a button is pressed, update the Excel spreadsheet and show the remaining count. This will be covered in a future blog post
 
To get this project started, I needed my data in Excel. Starting with a blank worksheet, our data starts off like this.
Preparing the Excel file for use with PowerAppsBefore you can connect an Excel file you will need to convert the data into a table. To do this, select cells that contain your data then use Insert > Table with the selected values to convert your data into a table.
Once your table is created, assign the Table Name and rename each of the Column Names to describe the data they contain.
I used the following for my table:
- Table Name: pushupTable
 - Column1: Date
 - Column2: done
 
Click the image to watch how this is done
Creating your PowerAppNext, we’ll visit https://make.powerapps.com/ to create a new PowerApp. We’re going to be creating a Canvas App for this project.
This will give us a completely blank screen. You can use the Insert tab to add various items and place them.
To build the push-up tracker, we added the following fields:
- Count label
 - “Remaining push-ups” label
 - 1 button
 - 5 button
 - 10 button
 - 20 button
 - 25 button
 - 50 button
 
With the layout completed, it’s helpful to give each field a meaningful name. You can double click the field name on the Tree view to rename each. You’ll access these within the coding portion of PowerApps so give each a name that will make sense if you have to maintain this later. You can also choose a color theme under the Home tab.
Next, we’ll move on to connecting this to Excel. First, you need to connect OneDrive for Business and select the Excel file and table that you want to use.
Once your table appears as a data source, your excel file is now connected.
Lookup a row from Excel containing today’s push-up countLet’s look at our first requirement for our app:
Lookup a row from Excel containing today's push-up countBreaking this requirement down into steps, we need:
- Access data from our connected data source 
pushupTable(The Excel table) - Locate a single row matching today’s 
Date - Find the value in the 
donecolumn inside the matching row 
Accessing a specific row in Excel from your PowerAppIn order to find a row in our Excel table we use the LookUp function. Here’s the code we’re using:

This code looks up a Record from the table
PushupTableand assigns it to the global variablepushupsToday.Calculating and displaying the remaining push-ups for todayAfter we have the record stored in
pushupsTodaywe use this to populate a local variable that we will assign inside ourPushup Statusscreen. To do this, we assign a Context parameter inside of a call to the Navigate function. Note that the call toNavigateisn’t required but is used here so we can push the variable into the right area. It’s not possible to create local variables from withinApp.OnStartany other way.
Here is the full code we’ve used in our
App.OnStart:App.OnStartSet( pushupsToday, LookUp( PushupTable, DateAdd( Date, TimeZoneOffset(Today()), Minutes ) = Today() ) ); Navigate( 'Pushup Status', ScreenTransition.Cover, { Count_text: 100 - pushupsToday.done, loading: false } );Assigning dynamic label textWe’ve assigned a local variable called
Count_textwith the text that we want to display on the big label. To assign the label to show the value for this, do the following:Why are we using a variable to hold the text?
When we assignCount.Textto a variable it will update whenever the value of that variable is updated. In a future blog post you’ll see how we use this to always display the most recent data from Excel so that our push-up count is always accurate.Putting everything togetherThe first step in our PowerApp is now done. We are showing the remaining number of push-ups for the current day on top of the app. In coming blog posts we will cover how to enable each of the buttons and how we’ll use what we did today to dynamically update the remaining count so it is always accurate.
As a final walkthrough, lets run our app and show how all of the moving pieces are connected. View the image below to see how the values are captured from Excel and then used to display inside the app.
 - 
		
		

Reenhanced at User Group Summit
Reenhanced is thrilled to be speaking at thee events at the upcoming User Group Summit. If you will be at User Group Summit, be sure to stop by one of our sessions!
10 User Adoption & Training Best Practices You Can Implement TodayOrganizations of all shapes and sizes struggle with user adoption. All too often, new CRM technology is rolled out only to find that employees aren’t using it. They feel like it’s just another management tool. Join this session to learn best practices, tips and real-life examples of how organizations like yours have overcome the same struggles you are facing. This session will cover configuration, end user and training best practices and tips. “They need to learn how to use this to do their job. They will figure it out.” – Management Don’t let that be you! Come to this session and learn how to increase adoption at your organization. We will have time at the end for an interactive Q&A. Please feel free to share what has worked at your organization or ask questions to learn what your organization may be able to do better.
Join us for a workshop-type session where you can build a model-driven app in Dynamics 365 using out-of-the-box configuration. We will review components of a model-driven app, how to work with the App Designer, use the artifacts and entity assets to build your App and limit access using your organization’s security model. Then, we will be hands-on: bring your tablets or laptops and follow along. If you have appropriate permissions in your organization, I welcome you to build an App today as part of our session (in your Sandbox environment, of course!). Model-driven apps, when designed properly have the ability to streamline the user experience and simplify their journey in Dynamics 365. I will also point out limitations when accessing CRM data via an App versus the full web experience. When you leave this session, you will be equipped with the tools to build Apps for your organization (and/or possibly your first App built in the session!), including an understanding of best practices around App design.
You did it! After months of hard work, your Dynamics implementation is officially live. Users have licenses and have been trained. You are starting to see data flowing through the system. It’s a fairy tale ending! Or is it? Within weeks you start to hear users asking things such as “Hey, this is great, can we have a field over here for this?”, or “wait, I don’t remember how to do XYZ, can you remind me?” (or, worse yet, “do it for me?”), or “hey, I was listening to this podcast and they talked about this great product that does email marketing, let’s add that in tomorrow!”. The list goes on. Join this session to explore how to shift gears from project implementation to project maintenance and ensure your organization continues to push the envelope of organizational efficiency.
 - 
		
		

Adding a Logo or Custom Image to a Model-Driven App Tile
PowerApps are a great way for you to streamline the user experience in Dynamics 365. Available for Dynamics 365 Online Customers, creating an App is easier than ever with the PowerApps interface and drag-and-drop App Designer.
Today, let’s show you in a few simple steps how you can replace the Default Image for your App to be a custom image. In this example, I will use the Reenhanced logo. You can use your company’s logo or any image that works for the App you are building.

The default PowerApp Image Tile. This is what your users see when they select an App in Dynamics 365. 1. If your image/logo does not yet exist as a Web Resource, the first thing we need to do is add it. In a Dynamics 365 Solution File, add a new Web Resource.

Adding a new Web Resource to a Dynamics 365 Solution File. 
Name your Web Resource and upload file. Save, then Preview to ensure it looks right. Finally, Publish your Web Resource. 2. Open your Model-Driven App. Navigate to Properties in the control panel on the right-hand side of your App Designer.
3. Under Icon, uncheck the box next to Use Default Image.

Uncheck Use Default Image under the Properties tab, highlighted here. 4. In the search box above App Tile, find the Web Resource you added in step #1 and select it.

Select your new Web Resource and preview App Tile. Once you Save and Publish the changes in your App, your App Tile will be updated with the new image!

 - 
		
		

How to get started with Form Scripts in Dynamics 365
A very simple script that we’ll load into the OnLoad event of Lead form.
In this article, you’ll learn how to load a simple javascript extension into Dynamics 365 forms. Our example script is a single function that will execute during the OnLoad event for our Lead form. In future articles you’ll learn how to package full Angular and React applications and deploy them to your entities.
TIP: While today’s method is useful for an example, you won’t want to modify your forms directly like this. In future articles you will learn how to package your javascript into a solution that will allow you to more easily manage your releases.
The first step will be to create your javascript file as shown above. Our file is saved under the filename onload-example.js
Some important things to note at this time:
- Your file must include a function that will be available in the global context.
 - If you are minifying a large application, you will need to know the name of the function to execute.
 - Dynamics will handle the import of this single script and will control when the method is executed.
 
Now that you have your javascript file, the next step is to load it into your Dynamics instance.
Loading Web Resources into Dynamics

A full overview of loading web resources
To load web resources into CRM, visit the Settings > Customizations page and click “Customize the System”.

Once that page loads click on “Web Resources” from the left column and then click “New” to add a new web resource.
Note the web resource will automatically be prefixed with new_ so when you are searching for it later, you’ll have to look for the filename you uploaded starting with that string.

Once you have named your file, select it from your file system and click “Save”.
You don’t need to publish new uploads but you will need to click publish when you change an existing web resource.
Once these steps are complete, your new javascript file is stored within the Dynamics filesystem.
Next we need to load this script into the Lead entity.
Attaching your Web Resource to Form Events

A full overview. We break this down into steps below
Now we will be modifying the form to add the new web resource to it. The first step is to open the form editor from the dropdown menu in the ribbon.

How to open the form editor
The form editor will open a new window and from there you’ll click on “Form Properties”.

Why do I use Form Properties instead of inserting a Web Resource?
Even though you upload your script as a web resource, we must use Microsoft’s Form Properties to insert the script and set it up for execution during the OnLoad event of the form. If you attempt to insert it as a web resource you won’t have the ability to connect it to the form events.
Next, you will click on “Add” to bring your Web Resource into the Form Properties. You’ll need to first add the web resource and then assign the resource to an Event Handler.

Below, you can see an animated example of how you can find your web resource (Remember, it was uploaded with a filename starting with new_) and attach it to the form event.
Inserting your script. Remember how it was prefixed with `new_` during upload? That makes finding it easy.
In this final steps shown above you pull together the file you’ve uploaded with the form and assign it to the Event Handler. Once completed, press “OK” and then Save followed by Publish on the Form Editor window.

You are done!
If you’ve enjoyed this article and would like to see more, please email us at javascriptforcrm@buildbettersoftware.com with ideas for what you would find helpful for future articles. We are always happy to answer questions and help you get more comfortable modifying CRM to meet your needs. - 
		
		

Change Management Best Practices for your Dynamics 365: Create a Change Management Team
To help your organization embrace the change that comes along with a Dynamics 365 project or enhancement, make sure that you have established an internal Change Management Team. This team should be comprised of champions, end user and organizational culture experts and anyone who handles corporate communications.

This is the second article in a series on Change Management in Dynamics 365 projects and enhancements. First, we talked about understanding change as a process, specifically looking at how a simple CRM project lifecycle may look when overlaid on a standard Change Curve.
Let’s look at a few areas to consider when you begin to think about creating a Change Management team at your organization.
What does the Change Management team do for a Dynamics 365 project?
This team is tasked with:
- understanding the corporate culture and user groups
 - collecting end user feedback
 - designing the change management plan and strategy
 - designing a communication plan and execute the plans and related activities
 
How does this relate to the standard Dynamics 365 project team?
Your Change Management team should be involved in any regular project meetings and have an agenda item. A representative of the Change Management team should report on the action items: end user feedback (survey results), development of the change management plan and updates on the communication plan.
What roles should be represented on my Change Management Team?
When selecting your Change Management Team, you should consider participation at the following levels:
- Change Champions: These individuals will write and execute the change management and communication plans. There should be at least one expert in your organization’s culture and users included on the team.
 - Change Sponsor: An executive team member who can champion the plan throughout the leadership team.
 - Steering Committee: If this change is in conjunction with a Dynamics 365 project, this can be the same Steering Committee. Depending on organization size, a separate Change Management Steering Committee may be appropriate.
 - Corporate/Organization Communications: If your organization has a team member who handles all communications, (s)he should be a part of the Change Management team to facilitate delivery of the Communication Plan.
 
More on Change Management
Stay tuned for more articles in the Dynamics 365 Change Management series. The next articles will focus on the following topics:
- Assess change readiness
 - Include a Communication Plan as part of your CRM project
 - Incorporate Change Management into your Training Plan
 
Need help crafting your plan? Contact the Dynamics 365 experts at Reenhanced today!
 - 
		
		

How to Adopt Change Management Best Practices into your Dynamics 365 Project: Understand Change as a Process
- Understand Change as a Process
 - Create a Change Management Team
 - Assess change readiness
 - Include a Communication Plan as part of your CRM project
 - Incorporate Change Management into your Training Plan
 
This blog kicks off a series on Change Management in Dynamics 365 projects and enhancements. When you are planning for a Dynamics 365 project or enhancement, change is coming to your organization. That change won’t be a one-time thing and then your users simply move on. To properly address change, you will need to be able to adapt and accept change as a process and not a one-time event.
Let’s look at a standard, simple CRM project life-cycle and overlay it with a standard Change Curve:

Dynamics 365 Project life cycle applied to a standard Change Curve - Project Kick-off: You’ve invited stakeholders, end users and management to help kick off the project! Expectations are all over the place: excitement, fear, confidence, uncertainty. Performance and motivation are at the start of the standard Change Curve.
 - Requirements: You’re being heard by your Partner and Project team! All of your wish list items are being captured. Excitement is high!
 - Development: Your partner and project team are busy building the system per requirements in the prior stage and working off of a mutually-approved project plan. As development begins and continues, you wonder if the requirements gathered were correct? Confidence begins to wane.
 - UAT & Testing: You’re in the system doing User-Acceptance Testing. You’re running through test scripts, documenting where items pass and fail. Why are there failures? The Change Curve reaches its lowest point in performance and motivation for users. 
 - Training: As users go through training, they will increase the confidence with the CRM system, learning new areas and seeing new features. If you have followed some basic User Adoption tips, you have successfully used the technology of Dynamics 365 to create a system that will aid users in their daily job, building confidence.  We’re heading back towards our starting point in the Change Curve of performance & motivation.
 - Go Live & Beyond: You’ve returned to your starting point on the change curve and surpassed it!
 
Remember – change is a PROCESS. It is continuous. While the graphic above represents one cycle, be prepared for the curve to ebb and flow as your team continues to use and enhance your Dynamics 365 system
Stay tuned for more blogs in the Dynamics 365 – Change Management series! The next articles will focus on the following topics:
- Create a Change Management Team
 - Assess change readiness
 - Include a Communication Plan as part of your CRM project
 - Incorporate Change Management into your Training Plan
 
Ready to learn more? Contact Reenhanced today to learn how we can assist with your project!
 - 
		
		

How to fix Dynamics 365 File download apostrophe bug
The Problem
Starting in Chrome 72 the way the file download process works has changed. For Dynamics users, this means that files are currently being downloaded with a ‘ character surrounding the files.

What this means is if a user downloads a file called Report.xls what actually happens is the file is downloaded as ‘Report.xls’ which causes the file to be unknown. There is no problem with the file itself, but this is very confusing for users.
The Solution
To fix this, users may rename the file to remove the apostrophe or if you like, I wrote a Chrome Plugin available for FREE that will automatically remove the apostrophe before download.
Download the extension from the Chrome Web Store here or click the button below.
What our users say…
I am new to CRM (under a year) and have been super frustrated with the single tics on downloads that were happening in Chrome. Today we got a Help desk ticket that i researched and found your chrome plug in…. [link to store]… It worked… Helped the customer right away… Thank you so much for this. I have a very tenured developer on my team that actually worked for Microsoft on the CRM team and he didn’t know how to fix this. Made me look like a rockstar for the day!!! Great plug in! Thank you,
Steven T. ParsleyOur firm is a heavy user of Dynamics CRM. We have been dealing with the CRM/Chrome export to Excel issue for a year. Our “solution” was not ideal. We either instructed users to use Internet Explorer or to associate .xlsx’ files to Excel. Nobody wants to use IE and the file association workaround was too difficult for users resulting in lots of Helpdesk tickets.
Aaron Appelbaum, Laird Norton Wealth Management
This extension worked exactly as described. We were able to immediately roll it across our firm via our Chrome Group Policy.
Thank you so much for providing a fix to a problem that should have been resolved by Google and/or Microsoft by now. Your firm is our hero!To whom Concern,
Bahram T.
I have added extension which is provided by your company to chrome to fix download problem of Chrome on CRM 365. It is great and useful. thanks for your solutionHave a great experience? Share a message with the hashtag #reenhancedtotherescue
 - 
		
		

Reenhanced Enhances CRM Services & Offerings
Hello world! I am thrilled to be joining the Reenhanced team as the Director of CRM Projects.
Reenhanced has been rescuing struggling software and Dynamics 365 projects for 14 years. I’ve always loved CRM rescue projects – stepping in when a project is nearing failure and helping an organization to turn it around. This is a wonderful opportunity to help more companies embrace their CRM systems and use the technology within Microsoft CRM to streamline their business processes and help achieve greater user adoption.
I have more than ten year’s experience in Microsoft CRM technologies that I am bringing to the Reenhanced team. I have personally worked with Microsoft CRM from version 4.0 all the way up to my current role using Dynamics 365 online.
If your company has a failed CRM implementation or just needs a little help optimizing the technology to meet your organizations’s business needs, contact us today at (215) 804-9408! We can help you get your system back on track.
 








