Category Archives: Dynamics 365
Open report from custom ribbon button on entity form
Introduction: This blog explains how to open report from custom ribbon button on entity form. Steps to be followed: 1. Add custom button on entity form using Ribbon Workbench. (If you don’t have ribbon workbench solution installed, you can install it from here. ) 2. Once button is added on form, navigate to the Quote entity and run the report. Take note of the URL, it should look something like this. (I am doing it for quote entity) URL: https://portals1.crm.dynamics.com/crmreports/viewer/viewer.aspx?action=run&context=records&helpID=Quote.rdl&id=%7b18c85c59-7d04-e711-80e6-00155db8652a%7d&records=%7bBD891D3F-C92C-E811-A831-000D3A37CC26%7d&recordstype=1084 Specifically note the items I’ve bolded, these are the report name, report unique identifier, and the entity type code of the main entity. 3. code to our new JavaScript web resource. function OpenQuoteReport() { debugger; var rdlName = “Quote.rdl”; //Replace with your report name var entityType = “1084”; //Replace var entityGuid = Xrm.Page.data.entity.getId(); var reportGuid = “18C85C59-7D04-E711-80E6-00155DB8652A”; //Replace with your report guid var url = Xrm.Page.context.getClientUrl() + “/crmreports/viewer/viewer.aspx?action=run&context=records&helpID=” + rdlName + “&id={” + reportGuid + “}&records=” + entityGuid + “&recordstype=” + entityType; window.open(url, null, 800, 600, true, false, null); } 4. Create Command i.e. add JavaScript web resource to the button using Ribbon Workbench. 5. Add command on button. 6. Publish. 7. Now go to Quote entity and click on the custom button which you have created, your report will get open.
Share Story :
Design Marketing Emails in Dynamics 365 for Marketing
Introduction: In this blog we will see how to create a marketing email in Dynamics 365 for marketing preview. Dynamics 365 for marketing provides an easy drag and drop tool to design marketing emails with dynamic personalized content. Implementation: Step 1: We navigate to Marketing Emails and Click on New. We can see there are a number of pre defined email templates The templates are also categorized by purpose Step 2: At the top of the page we see three required fields Name, Subject and Form. The Name is the internal name for the designed email, Subject is the message that will be displayed in the emails subject and the From is the Dynamics 365 user who email recipients will see as the sender Step 3: In the toolbox we can see content blocks which can be used to design the email. We can add text, images , buttons etc as shown below. We can also add Surveys and Marketing Pages to the email which creates a button and on click the user is navigated to the Survey form and marketing page respectively. Step 4: The assist-edit button </> can be used to add dynamic content to the email. Step 5: Once the email is designed as per the requirement in the HTML tab we can see the code is auto-generated. In the preview tab we can see how the email would look in different clients like Desktops, Tablets and mobiles Step 6: It is important point to note is that every email message must include both a subscription centre link and your organizations physical address. These are required by the law in many jurisdiction and Dynamics 365 wont let you publish any marketing email that doesn’t have them. Email templates include them already but when we are working with a blank template you must add them yourself. Step 7: Once the email designing is done we can check for error by clicking on the button in the navigation bar. We can also Test send the email.
Share Story :
Free Text Invoice Dynamics 365 for Finance & Operations
Introduction: Free text invoice is useful to book sales without creating Sales order. It is used to sell a quantity of services and goods which are not inventory item. User cannot select Item in Free Text Invoice. It contains order lines that include ledger accounts, descriptions, and a sales amount. Steps: Below are the steps to create Free Text Invoice Click Accounts receivable> Invoices > All free text invoices. On Action Pane, Click new button to create new Free text invoice. On header, select the customer account, Invoice date, currency. Other fields are non-mandatory fields. In the Invoice lines grid, enter a description, select the main account, Sales tax and enter the quantity and unit price for the invoice line. On the Line details FastTab, enter any additional information. Click on Total for check the total amount of invoice. After filling all the data, click on Post button to Post the Invoice. To check Posted Free text invoice, click on Invoice journal button. To check the ledger entry, click on view accounting button.
Share Story :
Deployment of Power BI reports to Sandbox and Production
Introduction: Deployment of Power BI to Dynamics 365 for Finance and Operations is done by Embedded Power BI in Dynamics 365 for Finance and Operations. Configurations of Power BI in operations: Configure your LCS project within Dynamics 365 for Operations Navigate to System Administration –> System Parameters –>Go to Help Tab Here you will be asked to Connect to Life Cycle services. This operation is mandatory, it enables Dynamics 365 for Operations to established a trusted connection to LCS using your user credentials. Click on “Click here to connect to Lifecycle Services” On successful connection, you will be able to choose a set of LCS projects from the drop down menu. Select the LCS project Enable Power BI: Register Dynamics 365 for Operations deployment as an web app. 1. Login to you Power BI account 2. There are some fields we need to fill in: AppName (e.g. “D365PBI”) AppType (Server-side Web app) Redirect URI (this will be your instance URL with “oauth” at the end. E.g https://D3651611aos.cloudax.dynamics.com/oauth) Home Page URL (This will be your instance URL. E.g https://D3651611aos.cloudax.dynamics.com/) 3. Choose APIs to access 4. Then hit “Register App”. This will generate a Client ID and a Client Secret which we are going to input inside D365. 5. Keep this window open, we need to copy paste the keys into D365. Deploy Power BI Files: Navigate to System Administrator –>Deploy Power BI Files .Click on Deploy Power BI Files Here you will be asked to Authorize Power BI, Click on Authorize Power BI. Click on Deploy Power BI Files
Share Story :
Dynamics 365 Client Diagnostics
Main cause of Performance Issues: Bandwidth and latency are the primary characteristics which affects the performance of Dynamics 365 client application on the web browser and other apps like D365 for Outlook It is also important to note that even if there is high bandwidth, the performance may be still slow because of latency issues. Let us define these two terms: Bandwidth is the width or capacity of a specific communications channel. Latency is the time required for a signal to travel from one point on a network to another, and is a fixed cost between two points. An application designed to send a request, wait for a reply, send another request, wait for another reply, and so on, will wait at least five seconds for each packet exchange, regardless of the speed of the server. How to Check Latency in D365 Online Applications: Dynamics 365 includes a basic diagnostic tool that analyzes the client-to-organization connectivity and produces a report. To run the Dynamics 365 Diagnostics tool, follow these steps. On the user’s computer or device, start a web browser, and sign in to a Dynamics 365 organization. Enter the following URL, https://myorg.crm.dynamics.com/tools/diagnostics/diag.aspx, where myorg.crm.dynamics.com is the URL of your Dynamics 365 (online) organization. Click Run You can see the results like below: What to make of this? The report displays a table with test and benchmark information. Of particular importance is the Latency Test row value. This value is an average of twenty individual test runs. Generally, the lower the number, the better the performance of the client. Although users may receive a satisfactory experience by using connections with more latency, for best application performance we recommend that the value be 150 ms (milliseconds) or less Other Notes: One of the reasons of high latency is that sometimes D365 tenant is setup in a region far from the home region. For e.g. Customers in USA using D365 which is setup in Australia. This will result in high latency for the end users. In these scenarios where most of the customers are in USA, you can contact Microsoft Support to help move your tenant to USA or nearby region. Best practices for improving application performance Maximize how quickly your forms load. More information: Optimize form performance Make sure you aren’t using legacy form rendering, which can make forms take significantly longer to load. More information: System Settings dialog box – General tab
Share Story :
Closing Blind Shift in MPOS and CPOS in Dynamics 365 for Retail
Manual For closing Blind shift in POS: Blind shifts terminate the currently ongoing shift and when logged in a new shift opens. In this blog we shall see how to close the blind shift. Steps: 1. Login to the POS 2. Open a new shift or continue with the existing one. 3. Click on Show blind closed shifts. 4. Select the shift you want to close. 5. At the bottom click on declare. 6. Declare the starting amount and the tender amount. 7. Click on close shift. This is how blind shifts can be closed.
Share Story :
Cause and Solution for Scribe MSMQ not receiving Message from AX
Issue: Microsoft Message Queuing (MSMQ) service running on Server might be unable to receive messages. Therefore, messages stay in “Waiting to connect” state in the outgoing queue of the sending computers. Cause: Issue occurs on 2 scenarios- During computer start, MSMQ service tries to bind to machine IP for listening which is still not acquired by DHCP. This might happen when DHCP takes some time acquiring IP due to any network latency or service start timing between DHCP and MSMQ. In this case MSMQ starts listening to the loopback address i.e. 127.0.0.1. DHCP acquired IP correctly and MSMQ listening on that IP as well. However, at some later point, DHCP IP renewal happens and now machine IP is different from the last one. In this case MSMQ is still listening on the older IP. So, when a new message comes for any old IP, it is never seen by MSMQ service. Verify Scenario: In Command Prompt, type following command and check the result netstat –abno | findstr 1801 If the system is facing this problem, output resembles the following in first scenario: TCP 127.0.0.1:1801 0.0.0.0:0 LISTENING xxxx TCP [::1]:1801 [::]:0 LISTENING xxxx Output resembles the following in second scenario: TCP y.y.y.y:1801 0.0.0.0:0 LISTENING xxxx where, y.y.y.y is the IP address which MSMQ port is listening to but this is different from the IP it should listen to. Resolution: Restart Message Queuing Service If Point 1 don’t resolve the issue, Install this Metadata hotfix. https://support.microsoft.com/en-us/hotfix/kbhotfix?kbnum=2554746&kbln=en-US
Share Story :
User Privileges on SharePoint – D365 Document Integration
Overview: Often, we wonder what could be wrong where we see a generic error on Documents in Dynamics 365. Something like this – That’s when you wonder if all the privileges in D365 Security Roles for SharePoint Site or Document entity are correct or not? In fact, it’s the SharePoint privileges that you must look into. Privileges On SharePoint: Even if the error indicates that you don’t have access in D365, it is actually the SharePoint site that’s missing permissions. Here’ where you need to check for the O365 User’s SharePoint privileges: Navigate to SharePoint Admin Center in the Office 365 Admin center Next, in any of the intended SharePoint sites, navigate to the Gear Icon and then Site Settings. In Site Settings, navigate to People and groups under Users and Permissions area. Check that you might not have the intended user in that list. You can then click on Add and add the user in the list. You can either add an individual user or ‘Everyone Except external users’. and confirm that you see them in the list now. Confirm Permissions: Now, you can ask the users to check and they should be good to go. Hope this helps!
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 :
Service Level Agreements in D365 Field Service
Introduction: This blog explains how to configure SLA to Work Order Entity. Scenario: Most clients demand SLA for Work Orders and Resource Bookings in Field Service. Steps of Implementation: We need to configure SLA for Work Order as explained below. 1. Mark checked for setting “Enable for SLA” on Work Order entity as highlighted below. 2. Create new Lookup Field with target record type as “SLA KPI Instance “as shown below. 3. Set the field on the form and insert the Quick View form as shown below also publish the cusotmizations. 4. Insert the “Quick View form” which shows time for First Response Lookup as shown below and pubish the Customizations. 5. Create a new record of SLA by navigating to Settings > Service Management > Service Level Agreements. 6. Create new record of SLA Details with below settings as shown below Select First Response In for SLA KPI field. Select criteria for SLA trigger time in “Applicable When”. Select criteria for SLA succerss in “Success Criteria”. Select criteria for SLA failure in “SLA Item Failure”. 7. Activate the SLA and “SET AS DEFAULT” button on the SLA ribbon form. Before enabling :- After enabling :- 8. Create a new record of Work Order and save it you will see SLA records shows the details. Conclusion: This blog explains how SLA can be configured to Field Service entities where it helps in tracking time by users on task.