Category Archives: Blog
Filter Error In Excel While Exporting SSRS Report From D365 CRM To Excel
Introduction: Once a User exports a report to Microsoft Excel from a Microsoft Dynamics CRM environment, they may want to further filter the report in Microsoft Excel. Issue: An issue I came across recently was that the report, when exported to Excel, would not allow me to filter in Excel for the first few columns, as shown in the screenshot below. On further testing, I found that this was due to the Title text box above the table. Solution: Once the side of the text box was extended to the very end of the report (as shown above), near the end of the page, Excel allowed the filters to be applied to all columns in the exported SSRS report. That solves it!
Share Story :
D365 Unified Interface: Enabling embedded legacy dialogs
Introduction: Quite simply put, some of the embedded dialogs like the Advanced Find, Merge Records, Assign & Edit record windows which are not by default visible on the Unified Client Like when you multi-select records, you can’t see the typical Merge, Edit buttons on the ribbon. Here’s how you enable them. System Settings: In your Web Application’s system settings, you have an option under general where you can enable these buttons in the Unified Interface. Now, you can retain those buttons in the Unified Interface as well. Have a great time exploring Unified Interface!
Share Story :
Activate Order button is not working on Order Entity in UCI
Introduction: This blog explains an alternative approach to Activate an Order in UCI. Scenario: We are using Prospect to Cash solution to integrate Sales Order from Sales to Operations (CRM To Operations). In UCI Activate Order button is not working which is used for Order Integration. In this blog we will see an alternative approach to achieve this. Pre-Requisites: D365 Sales Microsoft Flow Steps to be followed: Dynamics 365 – 1. Create Custom “Activate Order” button in UCI. 2. Add below JavaScript code which will trigger on Click of “Activate Order” Button. (This code will take the Order Guid and pass it to the http post request) Refer this blog to understand more about HTTP Post Request using Microsoft Flows: https://www.cloudfronts.com/http-post-requests-using-microsoft-flows/ // JavaScript source code CallMSFlowsToActivateOrder: function () { var entityGuid = Xrm.Page.data.entity.getId(); entityGuid = entityGuid.replace(“{“, “”).replace(“}”, “”); var data = JSON.stringify({ “OrderID”: entityGuid }); var xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener(“readystatechange”, function () { if (this.readyState === 4) { console.log(this.responseText); } }); var xhr = new XMLHttpRequest(); xhr.open(“POST”, “URL Created From MS Flow”, true); xhr.setRequestHeader(‘Content-Type’, ‘application/json’); xhr.send(JSON.stringify({ “OrderID”: entityGuid })); } Microsoft Flow: 1. Create Flow from Blank. 2. Select the Http request is received trigger. 3. Add below in Request body JSON Schema 4. Add Get Record Trigger of Dynamics 365. In Item identifier pass the OrderId from the Dynamic Content. 5. List all related Sales Order Product of that Order. 6. Add apply to each control and update the value of Order is Active field. 7. Update the Processing state field of Order entity. Overall Flow:
Share Story :
Run Report in UCI Form for Web Browser
Introduction: This blog details steps for Run Report button in UCI Form via Web Browser in D365 Sales. Scenario: Client requires Run Report button in UCI Form for Order Entity in D365 Sales Steps: Below are steps to be performed for enabling Report button on Order Entity Create WebResource with below javascript function. Create a button on Form and call function “PrintSalesOrderDetails”. Conclusion: Hope this blog helps you to run report in UCI browser.
Share Story :
Featured Dashboard in Power BI
Introduction: In this article, we will learn how to set a default dashboard when you login to Power BI Service. Default Dashboard is termed as ‘Featured Dashboard’ in Power BI. Steps for configuring featured dashboard: Login to Power BI Service Open the Dashboard you need to display when you open Power BI Service. Click ‘Set as featured’ on the top navigation bar of your dashboard. A Pop-up window will appear for confirmation. Click on ‘Set as featured dashboard’ button. 1
Share Story :
Identify who imported the solution – Dynamics 365 CRM
Introduction: Sometime there is a need to know when and who imported the solution in to CRM. This will be done by XrmToolBox plugin called “Solution History”. Purpose of Solution History: The purpose of the tool is to view a historical list of solutions that have been imported. This provides sort of audit functionality for solutions, as the OOB solution view doesn’t really display how many times a solution has been imported, version number that was updated, error/warning messages that were encountered during solution import. Steps: Install Solution History plugin from Plugin Store in XrmToolBox. Open the plugin and connect to the environment. Select the time frame for the solution. The solutions will be displayed as below. Select the solution for which you want to check the details. Click on Load Solution History. The details will be shown as highlighted below. Other methods of knowing this are listed below: 1) Looking in to the database 2) Checking XML Hope this helps!!
Share Story :
[SOLVED] “Corrupted report PDF generated using JavaScript” in Dynamics 365 V9.0
Introduction We had developed a functionality for Dynamics CRM v8.2 on Quote Entity by adding a custom button and on clicking a button we run a report, capture its contents using JavaScript, convert it to a PDF and attach the PDF to an Email Record. Below shown is the code snippet quoteInvoice = { runReportToPrint: function () { debugger; var params = quoteInvoice.getReportingSession(); var newPth = Xrm.Page.context.getClientUrl() + “/Reserved.ReportViewerWebControl.axd?ReportSession=” + params[0] + “&Culture=1033&CultureOverrides=True&UICulture=1033&UICultureOverrides=True&ReportStack=1&ControlID=” + params[1] + “&OpType=Export&FileName=public&ContentDisposition=OnlyHtmlInline&Format=PDF”; //Calling the below function converts the report to PDF format. quoteInvoice.convertResponseToPDF(newPth); }, getReportingSession: function () { var selectedIds = Xrm.Page.data.entity.getId(); selectedIds = selectedIds.replace(‘{‘, ”).replace(‘}’, ”); var strParameterXML = “<fetch distinct=’false’ mapping=’logical’ output-format=’xml-platform’ version=’1.0′><entity name= ‘quote’><all-attributes/><filter type=’and’><condition attribute=’quoteid’ value='” + selectedIds + “‘ operator=’eq’ /></filter></entity ></fetch >”; var reportGuid = “DAF05843-CA33-E711-811E-FC15B42827EC”; var reportName = “Quote Invoice.rdl”; var pth = Xrm.Page.context.getClientUrl() + “/CRMReports/rsviewer/QuirksReportViewer.aspx”; var retrieveEntityReq = new XMLHttpRequest(); retrieveEntityReq.open(“POST”, pth, false); retrieveEntityReq.setRequestHeader(“Accept”, “*/*”); retrieveEntityReq.setRequestHeader(“Content-Type”, “application/x-www-form-urlencoded”); retrieveEntityReq.send(“id=%7B” + reportGuid + “%7D&uniquename=” + Xrm.Page.context.getOrgUniqueName() + “&iscustomreport=true&reportnameonsrs=&reportName=” + reportName + “&isScheduledReport=false&p:quoteid=” + strParameterXML); var x = retrieveEntityReq.responseText.lastIndexOf(“ReportSession=”); var y = retrieveEntityReq.responseText.lastIndexOf(“ControlID=”); var ret = new Array(); ret[0] = retrieveEntityReq.responseText.substr(x + 14, 24); ret[1] = retrieveEntityReq.responseText.substr(x + 10, 32); return ret; } } The runReportToPrint() function is called when the custom button is clicked Issue and Error Details Once the environment was upgraded to V9.0 we were facing issues as the PDF that was generated was corrupted as show below. While debugging the code we got the following message. On further research we found that the URL has been changed and below shown is the new path that has to be used which works correctly on V9.0. var pth = Xrm.Page.context.getClientUrl() + “/CRMReports/rsviewer/ReportViewer.aspx”; Once this change was done we did not get any error and the PDF of the report that was generated opened correctly with all of its contents.
Share Story :
Error in ‘Amount in Words’ during Check Report Customization in Business Central? Here’s what you can do!
Introduction: In Business Central, the existing reports cannot be modified. Thus, for modifications in the report, the existing report is to converted to text using Text-To-Al and then modifications are to performed. But in case of Check Report(10401) it doesn’t work giving error ‘Index out of bounds!’. Pre-requisite: Microsoft Dynamics Business Central (Online) Solution: When modifying the Check Report in Business Central, the only approach available is converting existing Check Report 10401 to Text and then using Text-To-Al.Which gives the error ‘Index-Out-of-Bounds!’. Thus for a workaround I used the code from https://community.dynamics.com/nav/b/moxie4nav/archive/2014/12/08/numbers-to-words Although this algorithm works perfectly on NAV and Business Central On Premise, it returns the same error on Business Central Online. As assumed, it was because of the recursion used. So, here is the non-recursive algorithm that works perfectly fine up to 8 digits characteristics and 2 digits of mantissa. List of variables: Units[10], Tens[20], Expos[30] are arrays with respective dimensions. Initialization of Variables: Code: Kindly find the text object on GitHub: https://github.com/olisterrcf/CheckReportAmountInWords Conclusion: While the updates are still getting generated on this issue, it is far from being conclusive to reach out to the expected results. As per our cordial discussions with Microsoft, the existing report objects on On-Premise versions such as NAV and Business Central On Premise are not 100% compatible with Business Central Online which are converted using Text-To-Al tool. In the next blog, I’ll write about update for the same.
