Category Archives: Dynamics 365
Check Plugin Timeout issues using Tracing in D365 CE
In Dynamics plugin implementations, you might have lengthy complex plugins that makes calls to Dynamics several times. I agree that calls to Dynamics should be as less as possible and use Link Entity as much as possible and the plugin should be well designed to handle such lengthy executions. However, there are instances where these plugins are probably updating some fields that in-turn trigger some other sync processes and the execution begins to take longer than it should. At times, such lengthy executions result in the plugin timing out. In the case of Dynamics 365 Online, the timeout is 2 minutes and you can’t change it. (In on-premise, you can) And now, you need to know what’s taking so long! So I want to propose a method which proved effective for me to identify this. First, in case you are looking to work with Tracing for plugins, here’s a great blog on the same – Debugging Your Plug-ins with the Plug-in Trace Log Add DateTime to Trace Logs One of the best approaches to identify what portion of the plugin execution is actually taking time to process is to keep adding Trace logs and that too, with a timestamp! This will give you an idea of what part of your plugin is taking long to execute and will give you a fair idea if anything needs to be redesigned. Set these traces at the very beginning of your plugin and at all necessary places as well as the very end to cover execution cycle well. And your logs will actually record the time when that operation was hit. So now, you have an idea of how the 2 mins are spent and maybe start troubleshooting in that direction. I hope this quick tip helps!
Share Story :
Introduction to Microsoft Dynamics Commerce Tools
As we know, Dynamics 365 Commerce is released in the preview version, So in this blog, we will have a quick explanation upon some important “Authoring Tools” that we may need to Customize our Website. Once we reach our Dynamics 365 Commerce page, We need to click on the Site that we are going to alter. This will take you to the above page. We can see the “Authoring Tools” highlighted in red box. The highlighted wordy assets in the red box are the valuables that we will be using to change the webpage. Information regarding the highlighted authoring resources: Pages: These are all the pages that your website will have. It contains everything from login to logout. Every page is justified here with status, last user and last modified. 2. Products: This page has all the products that our D365 Retail online store has inside it. Any change in Retail Online Store products will be reflected here. 3. URL’s: These are URL’s of every Specific Page that you can link with another page. You can discard any page(considering you know its URL) through this authoring tool. Also, if you want to link your website to another page then you can do it from here. 4. Templates: Template is the page design used as a starting point for creating pages of your site. When you add a new page to your website, you need to assign a template for it. When you modify this template, the changes cascade to that respective pages on your site. 5. Fragments: In easy words, we can say this can be the upper & lower part of the website that we are designing. Every fragment that you design can have a fragment. These are small details that you can keep for your website and can make them reflect on each URL you want to. 6. Assets: It allows you to add all your assets(photos/videos) in a single place. You can reuse them every time on whichever webpage you want. Please note: Every authoring tool has its own specific condition that can be customized as per your needs. Also, this is a preview version. Hence, many more changes are expected in future versions. Hope this helps Dynamics e-Commerce builders 🙂
Share Story :
Error Handling Approaches for Integration
Introduction: Handling Errors is a best practice in Integration when integrating to keep a track of the Errors that occurred during Integration. The Customized Error Handling is Handy to find quick Errors to understand them and resolve as required. This approach can be extended to any Source or Destination as required. Our Scenario: Integration from SalesForce – NAV. Different Approaches to Error Handling: No. Approach Description Customizations Required Comments 1. Entity Level All errors will be logged in an ‘Error Log’ entity in Salesforce and NAV along with the error description and date & time the error occurred. 1. Custom entity ‘Error Log’ 2. Fields for ‘Error Log’ entity: i. Name [String(100)] ii. From Entity [String(100)] iii. Error Message [Note] iv. Record ID [String(100)] v. Created On Date [DateTime] For instance, i. Name: Error while creating ‘Customer’ in NAV ii. From Entity: Customer iii. Error Message: The specified Country is not valid iv. Record ID: Cust123 v. Created On Date: 08/07/2018 Example: 2. Field Level If an error occurs for a record during integration, the error description will be stored in a custom field on the record in Salesforce or NAV. A custom field ‘Error Description’ will have to be created on the form of all required entities. Field: Error Description: [Note] For instance, when you open a Customer ‘Cust123’, Error Description: The specified Country is not valid Example:
Share Story :
Error “A reference to ‘xyz ‘ is required to compile this module” solution
Many of the time while building project/solution we came across the “reference is required to compile this module error”. The reason behind this error is that your module’s reference package is missing the required package. In error itself, the missing module can be rectified as shown for example in following screenshot reference to “SourceDocumentationTypes” is not made. Now you have to add a missing reference to your module as follows: Select Update model Parameters from Dynamics 365 >>Model Management>>Update model Parameter Now select the required model name from the model list and click on Next. Now make sure to select the checkbox in front of a required reference from reference packages (In our case SourceDocumentationTypes reference was not there ) and click on next. Now click on finish. Now after attaching a reference to the package build package/Solution and you have solved your error.
Share Story :
Store ‘Today’s Date’ in a field to use in workflow conditions in MS CRM
Most of us need this in our workflow conditions to check against – to have today’s date handy and then use them in If conditions in workflows. But, the filter in If conditions in workflows don’t let you dynamically select On or after ‘Today’. And when you want to compare to today’s date on selection of On or After, you are forced to enter a date and not dynamically select Today. To overcome this, here’s what you can do to simply store Today’s Date in all records. Calculated Date and Time field So workaround this, you can simply create a new Date and Time type of Calculated field to store the current date and use it in your workflow conditions or wherever you need it. Make sure the type of the field is Calculated and then, Edit the criteria. Select Now() function to set the value of the field. And the final criteria condition will simply look like the below Once you save and publish all your changes, you’ll see that the field is automatically populated with today’s date. Using in Workflow Conditions Now, you can use the same in the workflow conditions as shown below – and you should be able to use this in your workflow conditions which could look like this Hope this quick workaround comes handy!
Share Story :
Unable to login to Outlook Client with MFA? Enable Modern Authentication
Modern authentication in Exchange Online enables authentication features like multi-factor authentication (MFA). Modern Authentication is by default enabled in Exchange Online and Outlook 2013 or later supports Modern authentication. I got this issue from one of my clients that the users are unable to login to Outlook after they enforce Multi-Factor Authentications for the users and as the users were using Office 2016, I haven’t thought of checking the modern authentication and it is already enabled in Outlook 2013 or later. But then it might be the possibility that somehow, they have disabled it. Of course, they were able to login to Outlook mobile as this will always use modern authentications and it doesn’t depend whether you have disabled modern authentication for Exchange Online. There was a workaround to create an App password to login but then why not modern authentication. So, let’s see how I enabled modern authentication through PowerShell. Connect to Exchange Online PowerShell. Set-ExecutionPolicy RemoteSigned $UserCredential = Get-Credential $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection Import-PSSession $Session -DisableNameChecking 2. Run the following command to enable Modern Authentication connection to Exchange Online by Outlook 2013 or later clients. Set-OrganizationConfig -OAuth2ClientProfileEnabled $true 3. Some organizations might have the requirement to disable modern authentication connection to Exchange Online by Outlook 2013 or later clients. Run the following command to disable the same. Set-OrganizationConfig -OAuth2ClientProfileEnabled $false 4. To verify that the change was successful. Get-OrganizationConfig | Format-Table Name,OAuth* -Auto I hope the above steps will be able to resolve the issues whenever the user is unable to login to Outlook client with Multi-Factor Authentication.
Share Story :
Overbooking Bookable Resources in D365 PSA v3
Mircosoft D365 Project Service Automation is a product that unites technology, processes, and people together in streams such as sales, billing, resourcing and delivery in a company. Thus, a business can scale up high when they use this particular software. They can complete the project on time and within the budget as a result of using this product from Microsoft. Businesses can accelerate the maturity of their professional services when they use this software. Managing the project becomes easy for the management team and the project managers. Learning and using software is also pretty easy. It does not take a lot of time to master this product. Here are some details of how this software will help your company: While booking resources, you often don’t pay attention to how much capacity the resource has. Or rather, you are aware, but you want to book the resource anyway (only to change later on, which I don’t recommend.) In that case, if you are trying to overbook a resource out of their capacity, you are treated with this message below – Why this occurs? This is because of the Work Hours defined for the Resource. Rather, what Work Hour Template is assigned to that resource. Now, let’s say, you are trying to book someone for 8 hours on top of their already booked 2 hours If you switch to the Hours view, you’ll see the availability marked by white cells. Grey meaning, unavailable. Remember, this is even said in the error message when you tried to click Book. Alternative Of course you can do this, but you should have a very strong reason to overbook resources. 🙂 Switch to Evenly Distribute Hours to allow the resource to be booked on top of the existing one. And this should be fine, but it will appear in red indicating that the resource is overbooked. Say, 10 hours (on top of already booked 2 hours) – exceeding the 9 hours total limit. Suggested You should rather Propose Book the resource, this way, the booking will exist and won’t bloat the schedule board. And then, you can decide later to do something with it. Front Load – Proposed Now with combination of Front-Load and Proposed, you should be able to Book for only the remaining capacity Evenly Distributed – Proposed With Evenly Distributed Proposed, you should be able to exceed the capacity and even Propose for the full time you want. Hope this quick tip helps! 🙂
Share Story :
How Dynamics 365 Can Help Companies Digitally Transform?
Businesses can become quite successful when they do things right. 365 Digital Transformation Solutions is one such solution that can help a business to streamline not only their business but also to connect various teams, resources, and staff together. Creating new business value is entirely possible when you integrate this product into your business. A lot of companies from different industries are using this product to transform the way they were doing things in the past. It is one product that is easy to install and learn. Once it is up and running, there is no need to turn back. It will not only change the way you do things but will change the way your business is performing for better. How Dynamics 365 Can Help Companies Digitally Transform? As a Microsoft Certified Gold Partner, we at CloudFronts Technologies are well-versed in the leading Microsoft products. Our mission is to help clients around the world digitally transform their companies by building robust business processes through a range of offerings, such as Power BI analytics, Azure Infrastructure Services, and Dynamics 365 implementation. In this article, we’ll focus on three major tips to help you get started with Dynamics 365. What is Dynamics 365? Dynamics 365 is a cloud-based software suite that features both CRM and ERP solutions in a service-as-a-software (SaaS) format. This makes it particularly useful for: Project service automation Sales Customer service Marketing Financial analytics With its customizable integrations, Dynamics 365 is ideal for interpreting data around your employees and products as well as your customers to discover key insights. Those insights can help businesses refine their processes, empowering employees to work more efficiently, further innovating products, and facilitating more intelligent customer engagement. Streamline Workflows with the Business Process Flow Business Process Flow is a Dynamics 365 tool that allows companies to visualize their business processes as a set of stages. Each stage consists of steps to complete, which can help guide employees through an unfamiliar process. Source: Microsoft The Flow Editor is also a useful feature to show the employee’s progression. It tracks how much time they’ve spent on a task and ensures that they don’t skip crucial steps. This makes the tool particularly adept at instructing remote teams on moderately complex tasks. Integrate Power BI to Visualize Data When it comes to business intelligence, Power BI is unmatched. It’s a comprehensive tool that helps businesses effectively analyze large amounts of data from a wide range of sources and formats, including Excel, Adobe Analytics, Google Analytics, Salesforce, and more. Source: Microsoft You can visualize data through interactive reports and dashboards, dragging and dropping elements to suit your needs. This is ideal for tracking key performance indicators (KPIs) and keeping up to date on core metrics, whether that be for employees or product. Improve Customer Engagement Using Cortana Intelligence By integrating Cortana Intelligence, businesses can process data from various sources to extract actionable insights. The tool is especially convenient for sales and marketing teams because it can predict the products and services that a customer might need based on behavioral data. Source: Microsoft This offers sales reps an opportunity to quickly address customer concerns before they come up. Enhanced customer service, lead identification, and customer data monitoring are all potential use cases to boost customer engagement. Digitally Transform Your Company Using Dynamics 365 With such a comprehensive suite of services and integrations, Dynamics 365 can be an immensely useful tool to transform your business. Contact us now to visualize and harness your data to improve internal workflows, track product performance, and better engage with customers. You can also learn more about best business practices through Clutch’s sister sites: The Still want more tips? Check out our customer success stories for more technical look or contact us today for a consultation!
Share Story :
Modified By (Delegate) & Created By (Delegate) in D365
These fields which are everywhere but you don’t really pay attention to really mean something worth. So if you feel you want to get hold of someone for modifying a record. Maybe also take a look at Modified By (Delegate) just in case so that the actual user might be someone else who wanted to do another thing on that record. 🙂 Impersonation is one of the basic aspects of a plugin step that you need to carefully design to let another user (usually Admins for most implementations) make the plugin run under their context instead of giving more security roles/privileges to every other new user. Well, the same goes for Created By & Created By (Delegate) also! Modified By Usually, when you update something on a record, the Modified By is updated as expected. But notice that Modified By (Delegate) is not updated. That’s because you are the rightful owner of the record and there’s no other person involved. But what is someone else is modifying the record (who don’t have access to that record)? In that case, the Modified On (Delegate) field is populated with the name of that user. In such scenarios, Modified By (Delegate) the user is the one who caused changes to the record. Why Modified By (Delegate) was populated The reason this was populated was that the record was updated through a plugin by a user who doesn’t have write access to the record. But because the user invoked a plugin which was Impersonating as a User who has rights to the records, the record was successfully updated. And this, the actual user who called the plugin is the one who will be populated in the Modified By (Delegate) field. Hope this quick tip helps!
Share Story :
How to avoid the reposting of Old Email Activity on the Activity Timeline of Lead when Lead is Assigned to new Owner
Customer service is the most important element in today’s business. If you do not take care of your customers well, they will not stay loyal to your brand or products. Hence, you need to do everything possible to provide them with the best service. Unfortunately, these days a lot of companies are struggling with this thing. Dynamics 365 for Customer Service from Microsoft is the best product as it will help you as a business to focus on the right aspect of the business. It will not only streamline the processes in your company but it will help you to become efficient in addressing issues that are of grave concern to the customers. Installing and using this product is easy. Since there are certain things that are confusing. Here is a blog explaining how to tackle a problem you will face. Problem: Whenever we are assigning the new owner to Lead present in the CRM, the Last Date Modified of the Email Activity gets changed to the current date and time when the new Owner is assigned. Now due to this, all the Old Email Activity with other owner get re-posted to the Activity Timeline of the Lead because email activity by default sort by the Last Date Modified. Now, above the situation is happened due to the 1: N relationship present in the CRM between Leads and Email Entity which has “Parental” Type of Behavior. So, when we assign a new owner then some of the fields get modified. Following is a step where you can find Lead to Email Relationship: Go to Solution and find the Lead Entity Click on Lead Entity and then open 1: N Relationship 3. Now open Lead Email Relationship, it will be same as the following: Now to Change the Current Behavior of the Relationship So, Email Activity should not be re-posted whenever the new owner is assigned to Lead. Step to change the Relationship Behavior: 1. Change the Type of Behavior to Configurable Cascading under the section of Relation Behavior After changing the behavior, change the Cascade All to Cascade none in Assign field. This will not change the owner of the Email Activity as well as the Last Date Modified of Lead’s old Email Activity when Lead is assigned to new Owner. Following is before and after of the configuration has been changed. If we don’t change Relationship behavior, the following is the scenario 1.1 Lead Email Relationship Configuration 1.2 Before assigning the owner 1.3 After assigning a new Owner If we change Relationship behavior, Parental to Configurable Cascading and Assign (Cascading All) to Assign (Cascading None) 1.1 Lead Email Relationship Configuration 1.2 Before assigning the owner 1.3 After assigning an Owner Hope this helps!
