Category Archives: Dynamics 365
Estimated Revenue field behavior of Opportunity Entity
Overview: Now, you often must have noticed that the field Est. Revenue on Opportunities is either locked or is open to enter value into it. There’s a reason for this as well. Revenue Field: So basically, there is a field on the Opportunity that drives this operation. It is called as Revenue field! System Calculated- If you select System Calculated, the Opportunity Lines’ Total Amount will add up to the Est. Revenue field and the field will be locked for you. User Provided- If you select User Provided, the Est. Revenue field will be unlocked with whatever value it already has and you can change the same. It will no longer be driven of the Opportunity Lines.
Share Story :
Custom Document Structure in Dynamics CRM and SharePoint
Introduction: In this blog we will discuss some extended custom functionality of uploading documents to SharePoint and CRM. Purpose: By default, document location is enabled for some OOB entities like Accounts, Contacts, Opportunities and by default document location gets created for records on first time load of Document Location associated view. This is the OOB functionality but sometimes we might need some different structures for document storage according to the organization need. In this blog, we will discuss one scenario where we can have a need to customize this Document Locations and automatically create a predefined folder structure in CRM and SharePoint which will help us to store our documents according to needed structure. This functionality is described using the below screenshots. Open Documents view for any record. As you can see by default, document location gets created and documents get stored in highlighted location. We have created a custom button which takes parameters and create or update the folder structure. On click of Custom button, window opens where you can enter values and click Ok. Type: Create or Update Structure: Tree or Acyclic (Depends on Organization) URL: This is the SharePoint URL Site where you want to create folder structure. You can see the predefined folders getting created. You select the folder you want to upload the file. Chose file and click Ok. In below screenshot you can see the file gets uploaded in the selected folder. Similarly, you can see in SharePoint how the folders get created and file automatically gets uploaded.
Share Story :
Error ‘Cannot create another system semaphore’ while starting the AX 2012 AOS service
Introduction: While starting the AOS service if you face above error then check 2 things, Check your System log as mention in error (Event Viewer-> Windows Log -> System) it will give you error ‘Cannot create another system semaphore’. Also, Check your Application Log (Event Viewer -> Windows Log -> Application). Cause: This error means simply means your AX 2012 Kernel version is lower than your Application version. As, the kernel version is lower it does not support your current Timezone version. Solution: Upgrade your AX 2012 kernel version to higher version. Run below script to modify your Timezone version Update SQLSystemVariables set value = 4 where parm = ‘SYSTIMEZONESVERSION’
Share Story :
View Resource Skills and Roles on Schedule Board in D365 Field Service / PSA
Introduction: This blog explains how to view Resource Skills and Role in D365 Field Service / PSA. Scenario: We often get inquiry from Clients do we have option to view Resource Skills or Roles on Schedule Board before scheduling a Work Order to Resource. Steps: Open Schedule Board and follow below steps to view skills / roles of Resource. a. Select Resource in Resource Panel as highlighted b. Right Click on Selected Resource and Click on View Resource Card. c. Resource Details will displayed as shown below screenshot with details like Time Zone, Sills, Roles of Resource and many options to connect Resource like chat/email/phone call. Note: Above explained blog is with Reference to D365 Field Service Version 7.5.1 Conclusion: Using above mentioned steps, you can view Skills or Roles of Resource and many options to connect Resource like chat/email/phone call on Schedule Board in D365 Field Service and PSA.
Share Story :
Customer Journeys in Dynamics 365 for Marketing
Introduction: In this blog we will demonstrate how to create Customer Journeys in Dynamics 365 for Marketing. As you engage potential customers, they start by discovering your product, evaluate whether it meets their needs, look for a good offer, and finally make a purchase. This process is called as Customer journeys. Pre Requisites: Before we start we need to have live segments towards whom we can target our marketing initiatives. Check out how to create segments here. We also need to have our Marketing emails designed and ready to go. Check out how to create marketing emails here. Implementation: In our scenario we have taken an example where CloudFronts wants to organize a web development webinar and as a marketing initiative we send out emails to web developers. Below shown is the view of the Customer Journey. Step 1: First take a segment tile from the right toolbox panel and drag it on the canvas and we enter the name of the segment that we want to target. Here as stated earlier we have selected a target segment consisting of web developers. Note: The segment will appear only if it is in the “Live” state. Step 2: We drag and drop the Marketing Email tile, and then add a Marketing page in the Marketing email. We have done this as we have added a link to a marketing page in our marketing email. Step 3: The marketing page designed is as shown below. When the users click on the link in the email they will be redirected to this page which contains a Marketing Form. Step 4: Then we add a trigger tile in the customer journey with the condition to check if the user has submitted the marketing form in one hour as shown below. If the user has registered in one hour then he/she will receive a “Thank You” email with the details of the webinar. And if the user has not registered within the given period of time he will receive another email which says visit us as www.cloudfronts.com to know more about us. Once the everything is set, the customer journey will begin at the specified Start time and accordingly end at the specified End time. Once the customer journey is run completely we can get a lott of insights regarding the events that took place. Step 5: We can go to the Marketing emails section and click on the insights option as shown in the pic below: Below shown are the insights generated: Similarly we can also view the insights generated for the Customer journeys. The below image shows the number of contacts on each of the tiles as they progressed throughout the journey. The arrows show that only 2 contacts out of 7 submitted the Marketing form and hence received the Event details while the rest 5 contacts received the “Visit Us” Marketing email. Conclusion: Using this feature we have a control of how we want our users to interact with the emails and hence generate more and more leads and also gain insights on the process as a whole.
Share Story :
Creating Case in Dynamics 365 from Microsoft Social Engagement Posts
Introduction: This blog explains how to Create Case in Dynamics 365 from Microsoft Social Engagement Posts. Steps to be followed: Steps in Dynamics 365: Go to Settings –> Service Management –> Automatic Record Creation and Update Rule. Click on +NEW. Enter Name and Set the Source Type to Social Activity. Save the record Under Channel Properties section for additional properties select the search button and Create new record. Enter details. Save record Create Channel Properties Under Newly Created Channel Property Group. Enter Name and Data Type. Save record Add specify record creation and update details Enter Name and save the record. Under Condition, choose Select, and scroll to the bottom of the drop-down list to find Channel Properties under Local Values. Then, select userPreferredTargetEntity Equals incident. Under Action, select Add Step, and then select Create Record. Set the value to Case. If you want to set or change any field value you can do it by clicking on set properties and changing the fields accordingly. Save and close the record. Finally select Activate to activate the rule. Steps in Microsoft Social Engagement: Go to settings –>Automation Rule Click on + to create new automation rule. Enter Name. Filter according to your criteria. Click on + ADD NEW ACTION to add actions. Click on link to Dynamics 365. Select Instance and Entity. Click on Apply. You can also Assign this case to user from MSE. Click on Apply Click on ADD NEW ACTION Select Set label. Click on Apply. Record Details: Save the rule. Case in Dynamics 365:
Share Story :
Business Recommendation in D365 using Business Rule
Introduction: Business Recommended a cool feature in Business Rules which came out last year in D365 that can be used by simple configuration in Business Rules rather than writing JS code to achieve the same. Here’s how we do it – Setting Up Business Rule for Recommendation: Now, can you setup a Business Rule as below which can be shown on a certain condition Select Add Recommendation is a Business Rule condition is met. And then define the Recommendation you added to the condition Click Apply. Then, inside the Details of the Recommendation, we can set the value of the Price List which will take effect if the user selects Apply on the Recommendation. Seeing Recommendation work: Now as designed, Recommendation is supposed to show up when you select the Relationship Type as Customer. Recommendation is designed to not appear for other values of Relationship Type other than Customer. Recommendation would ask you to Apply the default Retail price list if you select Relationship Type as customer. Once you click on the blue ‘info’ icon on the field, a recommendation will pop-up asking if you want to apply a default price list for the same. On clicking Apply, the specified action will be performed. In this case, the Product Price List will be set. Pretty easier than writing code!
Share Story :
Reconfigure Voice of the Customer
Introduction: If the Voice of Customer solution is accidentally deleted or misconfigured, it might not be able to receive survey response. You can repair or restore the Voice of the Customer configuration. Steps for restoring configurations are listed below for Web client and Voice of Customer app. Web client: Sign in to Dynamics 365. Go to Settings > Voice of the Customer Configurations. Select Configure from the toolbar at the top of the screen. Voice of the Customer app Open Voice of Customer app. Go to Settings > Configurations. Select Configure from the toolbar at the top of the screen. Hope you find this helpful!
Share Story :
Reading more then 10K records in D3FOE OData API
Introduction: We all know Dynamics 365 Finance and Operations has limitation of 10K records to be fetched at a time using Data Entity. While reading records from D3FOE for CRUD operations in OData API you will face issue if you want to process more than 10K records at a time. You can resolve this issue by using query parameter ‘skip’ and ‘top’. Use the below syntax to query records while reading from D3FOE: DataServiceQuery<[EntityName]> EntityObject = context.[EntityName].AddQueryOption(“$skip”, 10000).AddQueryOption(“$top”, 10000); where, EntityName = Name of data entity from where you want to read records Skip = it will skip the number of records you specified from the fetched records Top = It will select the number of records specified after skipping the records Example: If there are 30K records in CustCustomers then above line will skip 10K records and then pick the next top 10K records. So records selected will be from 10001 to 20000. DataServiceQuery<CustCustomers> EntityObject= context.[CustCustomers].AddQueryOption(“$skip”, 10000).AddQueryOption(“$top”, 10000); You can also get the total count of records and then run a loop until max count of records and increment the skip with 10K on each loop and top with 10K. Using this you can read ‘n’ number of records.
Share Story :
Paging in D365 Customer Engagement v9.0
Introduction: The Xrm.retrieveMultipleRecords method is used to retrieve a collection of records in Dynamics 365 Customer Engagement . In this blog we will demonstrate how we can use paging and fetch more than 5000+ records. In CRM when we fetch records using code we only get the first 5000 records, in some cases there are more than 5k records that need to be fetched, we can achieve this using paging. In this blog for the demonstration purpose, we will fetch 3 records per page so that we can see how the paging functionality works in D365 v9.0 Implementation: Step 1: The syntax is as shown below: Xrm.WebApi.retrieveMultipleRecords(entityLogicalName, options, maxPageSize).then(successCallback, errorCallback); Here the in options parameter we specify the query. In our example we will be fetching all the accounts in the system. In the maxPageSize parameter we specify the number of records to be returned per page. By default the value is 5000. In this example we set the maxPageSize as 3 which will return 3 records per page. As the total number of records being fetched are more than 3, the nextLink attribute is retuned with the link to fetch the next set of records. The value of the nextLink attribute returned is already encoded. Before we pass the link to fetch the next set of records we have to make sure to only set the query in the options parameter. We also store all the values returned in a separate variable so that it can be used later. Step 2: The code is shown below. The allaccounts variable will store all the accounts fetched at the end as we keep on concatenating the received results. Code: var query = “?$select=name”; var allaccounts = null; var scripting = { retrieveMultipleContacts() { var url = Xrm.Page.context.getClientUrl() + “/api/data/v9.0/accounts”; Xrm.WebApi.retrieveMultipleRecords(“account”, query, 3).then( function success(result) { var resultRetrieved = result; allaccounts = resultRetrieved.entities.concat(allaccounts); if (result.nextLink != undefined) { console.log(“Next page link: ” + result.nextLink); query = result.nextLink; var splitValue = query.split(url); query = splitValue[1]; scripting.retrieveMultipleContacts(); } }, function (error) { console.log(error.message); } ); } } Step 3: To test this out we can simply trigger this code to run on the change of form fields and while debugging we can check the values returned and stored in the allaccounts variable. Conclusion: The new D365 v9.0 Xrm.WebApi.retrieveMultipleRecords method simplifies the whole process of fetching records using paging.
