Category Archives: D365 Sales
Security role of user after Business Unit Change
Introduction: Have you ever faced simple issue of security role after changing the business unit? Yes, you will. You will not be able to identify which security role was assign to a user whose Business unit has been changed. Description: This is a simple thing but if we have not noted down the security role of a user, we will not be able to identify the previous security role a user, as all the security roles gets removed. Solution: If audit history for user is enabled. You can easily identify the user who has what security role. So, as you can see in the above screen shot what security role this user has been assigned. Conclusion: Hope this help, while changing BU so, this help to remember the user security role.
Share Story :
“$ undefined error” conflict issue in Dynamics 365 v9.0
Introduction: After upgrade of dynamics CRM 8.2 to 9.0 jQuery start breaking or you will receive $ undefined error. This blog will explain how to resolve this issue jQuery ($) is not defined in dynamics 365 sales. Description: Currently we have upgraded our dynamics CRM from 8.0 to 9.0. We had lots of customization. Looking at documentation of Microsoft. It seems that no script will break. Also, scripts are 8.0. dynamics CRM loads there internal JavaScript and start conflicting. Solution: After system upgrade developer needs to make sure that they are avoiding conflict between our JavaScript and System JavaScript. As you can see in below screen shot it shows that $ is not defined as it has more than 1 jQuery library loaded and it try to get the definition from another library which does not contains the definition of our library. As you can see in the below screen shot we have included no conflict script. This will resolve the issue of conflict and you will not receive the error related to conflict. Source: You can refer the below link for more information on conflict. https://learn.jquery.com/using-jquery-core/avoid-conflicts-other-libraries/
Share Story :
Design Views in App Designer – D365
Introduction: Create and edit public or system views by using the app designer Description: Dynamics 365 sales app designer allow us to create/edit system view using the app designer. In this example we will use the sales app and account entity for view design. Design: Go to Setting > select My Apps. And open the sales app in app designer. We can define the filter criteria with and/or condition. Select the account view and click on the create new view from the components tab. Adding Column: Now you will able to see the designer page of a view. You can add the column to the view from the components tab I have added the account number column. You need to drag and drop. After adding few columns. Adding Filter: We can add the filter criteria which will show only related record. We can define the filter criteria with and/or condition Save the view: Provide the view name and save it Column Sorting: You can define the primary and secondary sorting column Publish: Finally, you need to publish the view as shown Conclusion: So, this is another quick way you can create Views than just traditionally creating from within Solutions in D365.
Share Story :
HTML loading issue in Tablet version of Dynamics 365 Sales
Introduction: Html web resources are not loading properly on tablet version of Dynamics 365 sales. Description: We were working on custom html page which needs to be shown on tablet version of Dynamics 365. After the completion of development, we start testing. During testing some time html page was loading properly and sometime not. We thought this might be due to current changes in the customization. After, development was completed we start getting loading issue and we could not find why we are not able to load the form. We tried various approach to resolve this issue but we were not able to find the exact cause of not loading the html page on the tablet version. We noticed that this weird behaviours start coming when there is any customization done at CRM level. We also noticed that if you uninstall and reinstall the app it starts working fine but this is not a feasible solution to work every time to install and uninstall the app. Solution: We registered this case with Microsoft and we also tried every possible solution to work on this but this was still not resolving. Microsoft internally tried to replicate the issue and they said that- “Based on our investigation result, The root cause of this issue is that ‘this.LoadFinished();’ under CustomEventHandlersManager.cs is not being done when reproducing, hence the iframe would not be able to load. We have two ways you could try to resolve the issue: Option 1: Try to make form dirty and publish it again through form editor. The way we could make it dirty could be ‘Add a hidden field’, ‘Switch any two field like name and owner, then switch back’ Option 2: Other then way 1, user could visit any linked field on the form, like Owner, lookup field, then navigate back through top left navigation button If we go to option 2 and open another form, then it will hit loadFinished, when come back, the iframe loads well. The CustomScriptsContainerViewModel libraryNames not loaded are [“msdyn_/libraries/require/require.js”, “SystemUser_main_system_library.js”] Static names are [“/_static/_common/scripts/BusinessRulesExecution.js”,”_static/_common/scripts/BusinessRuleExecution.js”] So finally, 2nd approached work for me. This is still and open case with Microsoft. Conclusion: Hope this may help those who are facing the issue of HTML page loading on Tablet App on Android/iPad. I will update this post if I get a solution from Microsoft.
Share Story :
Finally a CRM that improves my productivity!
As a Sales professional all my life I have used several CRMs. This includes my experience using Homegrown CRM, no CRM (Excel Spreadsheet), Salesforce Automation and now finally Microsoft Dynamics 365 for Sales. It has been about 2 months that I am using it and without a doubt, D365 steals the show! CRMs have been disliked by sales professional because they seem to be more of a data entry job than a one focused towards helping people become more productive, one that throws more insights and one that makes life easier. All of this is what every CRM promises to do but don’t very much end up achieving. Most of the time people end up duplicating their jobs and hence don’t find it useful. But not anymore with D365 for Sales! Let me tell you why? A sales professional spends maximum time on the below 3 tools in the following order: Email CRM and/or LinkedIn LinkedIn and/or CRM 1) Email: A lot of communication happens on email which the CRM fails to capture. One key Differentiator in D365 for sales is the Email Tracking feature. All you will have to do in your outlook is to click on ‘Dynamics 365’ and it opens the same opportunity/lead in D365 CRM. Then click ‘Track’ and all the emails get tracked against that opportunity. It is so useful that you don’t have to spend your precious time in searching old emails. Even if an account manager leaves the job, the successor can just reply on systems to track every bit of communication. 2) Another beautiful feature that will soon release is how all your contacts within the CRM will show up LinkedIn profiles. This will help to prepare for your meetings by tracking your prospects activities, likes etc. and customize your communication. Your manager too can prepare for the meetings by just looking up the CRM! A sales Leader can completely rely on CRM for reviewing his/her teams as all the information needed is present here. You can derive all the insights that you need to make data driven decisions. Your organization is now truly dependent on technology. Apart from this AI and ML are soon going to aid D365 CRM with features like Predictive Lead scoring, Relationship health and Social Intelligence all to make you a smarter than ever sales consultant! Well these features have made my life simpler. I can truly say that MS Dynamics 365 for sales is the tool that really offers Value. The seamless integration and Unified systems that we keep hearing is what you can experience for real. You may reach out to me on pkakrania@cloudfronts.com would you like to make a smarter choice for your Sales Organization and derive true productivity.
Share Story :
Managing your Sales pipeline in 1-2-3: Triggering Email Notification on ‘Proposal Sent’
Introduction: The purpose of this article is to help fellow entrepreneurs and sales managers leverage the power of Office 365 and Dynamics 365 to manage and build their sales pipeline with a few easy steps. In this article, we focus on utilizing Business Process Flows on Opportunities in Dynamics 365 and Triggering Email Notifications to team members. Step 1 – Enable the Out of the box Opportunity Sales Process In case you are not using Business Process Flows, please start using it. For a growing Sales team, using Business Process Flows on Opportunities enables a methodical approach to your pipeline management. When you enable the out of the box Opportunity Sales Process, you will see the following Process Flow appear on your Opportunities – The above Business Process Flow has 4 stages – Qualify, Develop, Propose and Close. You can move your Opportunity through each of the stages as you make progress. When the Opportunity reaches the proposal stage, we mark the Present Proposal check box as ‘complete’ as per below – We also ensure that we save the proposal on the Opportunity at that point – Step 2 – Send Email Notification to Project Delivery Manager on Proposal Complete When a proposal is sent to the Customer, we trigger a workflow notification to our HR and Delivery Managers. The Workflow email looks something like this – The above email serves as a reminder to our Delivery Manager that a new Project might be coming their way soon. It also informs our HR Manager, so they can look at our PowerBI Resource Allocation Dashboards to understand staffing and hiring needs. In addition, we also include the URL to the Opportunity, so our Delivery Manager can look at the Opportunity and even the proposal that we attached to the Opportunity. Finally, when an Opportunity is Won, we send a similar workflow email. Hence the ‘Propose’ stage email provides our Delivery Manager with some preparation time to ensure we are ready for Kick off when we Win the Opportunity. Step 3 – Just do it. Yes, this step is same as in my previous article. Get in the habit of doing this and it will help close the communication loop from Sales to Delivery to HR, thus helping your organization meet its commitments. Remember… ‘Sales cures all.’ Let’s take care of that sales pipeline.’ You can always email me at AShah@CloudFronts.com to discuss your sales processes and technology adoption. In the coming articles, I will continue to focus on efficient ways to build and manage your sales pipeline and how this ties into one of the most important KPIs for running your professional services business.
Share Story :
WebResource Dependencies in Dynamics 365 v 9.0
Introduction In earlier version of dynamics CRM, there were no way to define dependencies of web resource. Due to this, it is possible that someone delete/remove WebResource from solution and this may create an instability in behavior of CRM functionality. But now in dynamics 365 version 9.0. It has ability to define dependencies of WebResource. Description: Let’s consider below example. I have 3 web resources- new_test.js new_test2js new_test3.js Here new_test3.js is dependent on new_test.js and new_test2.js. in that case we need to define dependencies. Once dependencies are defined it will not allow to delete WebResource. Add Dependencies: If you want to add dependencies in WebResource, you can follow below steps Open WebResource which is dependent on other WebResource Select dependencies tab as shown and click on add Select WebResources that are required to present Save and publish WebResource. If anyone accidentally tries to delete WebResource. He will receive alert message. It will list down where this file is needed Conclusion: By following these steps, you can create WebResource and define dependency of WebResources.
Share Story :
Session Time out in Dynamics 365
Introduction: By default, Dynamics 365 online sets user time out 24 hours. In that case a user not required to login in up to 24 hours regardless or active or inactive. Applicable for- Applies to Dynamics 365 (online), version 9.0 Microsoft Dynamics CRM 2016 (on-premises, version 8.2) Microsoft Dynamics CRM 2016 (on-premises, version 8.1) User session timeout: Earlier there was no configuration provided to set the session timeout. Dynamics 365 with specified version have provision to set the session timeout. To enforce the users to re-authenticate after pre-defined time, this can be set by admin. Once the specified time is passes the user will logoff automatically from the system. Configure session timeout: To configure the session timeout, you need to follow the below path and set the time Dynamics 365 -> settings -> Administrator -> System Settings -> General tab By default, it is set to 1440 minutes and maximum value as well. If you want to set session time out as per you convince then you need to select the option “Set Custom” and specify the desire value. You can also specify time for warning message before the session timeouts. Inactivity timeout: By any reason a user forgot to logoff from his system then if Dynamics 365 detects the ideal mode then it will logoff the user automatically after certain period. Configure inactivity timeout: To configure the session inactivity timeout, you need to follow below path and set time Dynamics 365 -> settings -> Administrator -> System Settings -> General tab By default, “session timeout” is inactive and not enabled. If you want to configure inactive timeout, you need to enable it from general tab as shown below point no 6. Session timeout section: Minimum duration for inactivity is 5 minutes and maximum duration of inactivity is 1440. Conclusion: It is good practice to have session timeout and inactive timeout, which will provide security to data.
Share Story :
Put validation on Business Process Flow
Introduction: CRM business process flow allows users to enter data in steps which makes it simple and don’t required to scroll down all the way to bottom of form. A single business process flow can be divided into small steps to achieve the same and enter the data easily. But user may have requirement where a person should not move to the next stage. If it is based on the field than there is no problem, user can simply set the field required and get requirement fullfilled. But what if user should not allow to move to the next stage until a record of related entity is not present. For example, an account should have a phone call or an appointment to move the next stage. Or in our case an Incident should have few documents attached to it before moving to the next stage. While moving from Reporting to Insurance stage it should have below listed document. Otherwise it should display an error. Description: To achieve this requirement, we can write a plugin on the business process flow. But we must understand the structure of the Business process flow. While creating a new business process flow it creates a new entity with the same name. Which holds the related entity name Current stage Record with which it is associated When creating a record with the having business process flow. Name of the business process flow: Incident Business Process Active stage: Reporting Record name: 20171025–ESTDEL55-1 Plugins- Write Code: We need to write code and need to compare the current stage with previous stage and check if required document is present or not. Using the above information user can write a plugin and stop the user to move the next stage until required document is provided. Register Plugin: Once you have completed the code you need to register the plugin on update of business process entity. Message Name: update Entity: cf_incidentbusinessprocess Filter attribute: activesateid. Event stage: pre-operation Register Image: PreIamge Once you have completed your plugin and registered it. You can simply test it by moving to the next stage without having the required document. You will receive the below error. Until user not provides the document he will not be able to move to the next stage Conclusion: You can write a plugin to prevent a user from moving to the next stage.
Share Story :
Advanced Find Changes
Introduction: While working with Microsoft Dynamics CRM we wanted to make query or advanced find to list down all the account which does not have any opportunity associated to it. But in the dynamics CRM with current or earlier version we cannot write down the simple advanced find query which list down the record does not associate to it. Description: With upcoming update of Microsoft Dynamics 365 CRM, you can perform the Search on that criteria as well. You can design this query in the advanced find. Query: Get all the account which does not have any opportunities. 1. Open advance find and select account entity and in filter select opportunitie in related entities, as show below. 2. You will notice that a new attribute has been added, by which you can apply additional filter on opportunities. 3. Here you need to select the “Does Not contains data”. 4. Now click on result. 5. It will list down all the records which does not have any opportunities as shown 6. Fetch XML: let see what modification has been done in the fetch XML <fetch version=”1.0″ output-format=”xml-platform” mapping=”logical” distinct=”true”> <entity name=”account”> <attribute name=”name” /> <attribute name=”primarycontactid” /> <attribute name=”telephone1″ /> <attribute name=”accountid” /> <order attribute=”name” descending=”false” /> <link-entity name=”opportunity” from=”parentaccountid” to=”accountid” notinvalue=”DoesNotContain” link-type=”outer” alias=”af” /> <filter type=”and” isnotinfilter=”true”> <condition entityname=”opportunity” attribute=”parentaccountid” operator=”null” /> </filter> </entity> </fetch> 7. As you can see that it has an addition filter attribute is added. Query: Get all accounts contains opportunities. 1. Similarly, you can get all the accounts which have opportunities associated to it. 2. Here you need to apply filter criteria as contains data; as shown below. 3. It will list down all the account records with opportunities as shown below. Conclusion: Hope this helps while doing advanced find or designing fetch Xml query.