Improvements in Microsoft Dynamics NAV 2018 Webclient
Introduction: Microsoft Dynamics NAV 2017 Web client had limitations such as the reports couldn’t be previewed. The reports could be saved as .pdf file but we couldn’t preview the reports as we could do in the Windows Client. With the new release of Microsoft Dynamics NAV 2018, there is availability of Print Preview for non-Internet Explorer browsers. Pre-requisites: Microsoft Dynamics NAV 2018.(with Web Client set up) Summary: 1. Previewing a report in the Dynamics NAV Web client was only possible in Internet Explorer, but is now possible on all supported browsers with the release of Microsoft Dynamics NAV 2018. 2. Now, we can preview a report directly in the client by choosing the Preview button on report request pages. This displays the report by using the new PDF Viewer control, which enables us to use our keyboard and mouse to navigate the report and download it to our computer. 3.The report preview in the Web client has been refurbished with a new design and additional features. It works with all supported browsers. We preview a report by choosing Preview on the report options page. A toolbar provides several features for working with the report, such as zooming in and out, downloading to file, and more. Two new features include selecting text and panning: • Select text This feature lets you select one or more words, paragraphs, or rows in the report, and then copy and paste it somewhere else, like a page in Financials or a Microsoft Word document. • Pan the document This feature lets you move the visible area of the report in any direction, so you can view other areas. This is helpful when you have zoomed in to see details. Limitation of Microsoft NAV 2018 Web client are mentioned in the below link- https://docs.microsoft.com/en-us/dynamics-nav/browser-limitations-with-the-microsoft-dynamics-nav-web-client
Share Story :
Manually Clearing Cache on ADX Portals to reflect changes made to Portals through CRM
Introduction: People using ADX Portal often face the issue of clearing cache due to which changes aren’t being reflected on the frontend. In this blog we will see how a user can manually clear cache in ADX Portals to reflect changes made to Portals through CRM. Pre-Requisites: ADX Portals CRM Environment Scenario: One scenario mostly faced is that notes added in CRM in the activity section of a particular case aren’t appearing in the notes section on the case entity form in portals. The problem can be resolved by clearing the cache of the portals which will help to reflect the changes made to portals via CRM. We will see below how we can resolve the issue by using manual cache clearing technique. Process: Step 1: User while adding notes in CRM will have to add the prefix as *WEB* to the note. For eg. “*WEB*This note states the resolution of the case Step 2: The user will have to save the following ” javascript:var url=document.location.protocol+’//’+document.location.host+(document.location.host.indexOf(“demo.adxstudio.com”)!=-1?document.location.pathname.split(“/”).slice(0, 3).join(“/”):””)+’/Cache.axd?Message=InvalidateAll&d=’+(new Date()).valueOf();var req=new XMLHttpRequest();req.open(‘GET’,url,false);req.send(null);window.location.reload(true);” as a Bookmark in the URL section in the Browser. For Chrome Browser: In Bookmarks section of chrome we will add a new bookmark as shown below: Select “Add new bookmark” to add a new bookmark in the dropdown options Name the bookmark as “Cache Invalidate” and add the following to the URL “javascript:var url=document.location.protocol+’//’+document.location.host+(document.location.host.indexOf(“demo.adxstudio.com”)!=-1?document.location.pathname.split(“/”).slice(0, 3).join(“/”):””)+’/Cache.axd?Message=InvalidateAll&d=’+(new Date()).valueOf();var req=new XMLHttpRequest();req.open(‘GET’,url,false);req.send(null);window.location.reload(true);”. Click on save once done. Enable “Show bookmark bar” which will display the added bookmark to the chrome ribbon. Step3: On opening the case page click on the saved Bookmark “Cache Invalidate” on the bookmark bar which will make the note visible in the note section. Conclusion: In this way we can manually clear the cache which will reflect the newly made changes to ADX Portals.
Share Story :
Form and Table Customization in Dynamics 365 For Finance and Operations
Introduction: Customization of any particular form or table is done by creating extensions. Any modifications or to add some fields to an original object can be done by creating extensions. At run time all these extensions run as single object. In this blog we demonstrate how to add fields to an existing form. Consider the form CustTable and add two fields in the form. Passport Number Age Step 1: From Application explorer open DirPerson Table –> right click and click on create extension Step 2: Open the table designer and expand the fields. Add the two fields and set the appropriate properties. Step 3: From Application explorer open CustTable Form –>right click and click on create extension Step 4: Open the form designer of CustTable. Expand the deign portion until you reach the control, where you want to add required field. for example I want to add New fields in Person Detail section. Step 5: Open the data sourceà go to fields and drag and drop the newly created field. Save the changes and build the project. Step 6: This adds the fields to the form.
Share Story :
New Email capabilities in Unified Interface – D365 v9
Overview: After much wait, the new Email feature in the Unified Interface is finally here. So this blog is about what all the new Email functionality can do in the Unified Interface. This feature is only for the Unified Interface. Now, you can see the Email button appearing on the ribbon. In the To field, you can select the record type in more intuitive way without having to load the Lookup view. Rich Text Editing: Now, the new Unified Interface offers Rich Text Editing capabilities wherein you can add new media to your email body. HTML Preview: Even you get to see the HTML preview of your email Preview of the Email You’d definitely want to see what goes out before sending the email out. You can also preview the final email before sending the same. Email: And this is how it looks when received by the recipient Hope this helps to a great start in email editing in D365!
Share Story :
Set SSRS Report Parameter to allow null values in D365 Operations
Introduction: Reports are used to see summary of data. We also set parameter to filter data but at times we don’t want to filter using a parameter and keep it as blank. By default, parameter values are always mandatory in D365 Finance and Operations, Enterprise Edition. In this blog article, we will see how we set property to allow null values to a parameter in SSRS Report. Steps: Go to Report -> Parameters. Select the Parameter which you don’t want to be mandatory. Go to Properties -> Nullable. Set the value to True. This will allow you to pass null value. This is how you can make the report parameter as optional.
Share Story :
Trick to find the fields Workflows trigger on
Introduction: This blog consists of information on how you can find the triggering parameter of the Workflow. Scenario: There are many workflows on update of a record and which workflow is triggering for which fields and on which fields the workflow is dependent on. It may be handy to identify which fields are being used to trigger workflows. You would open each workflow and check or you could click field in every entity and Check Dependencies. But there is much easier way for it. Solution: We can make use of Advance Find on the Process Entity. There are some fields like 1) Trigger On Update Attribute List 2)Trigger On Create 3) Trigger On Delete 4) Is Child Process This fields can be useful in many ways. Trigger On Update Attribute List has a field list separated by comma. This are the fields on which the workflow triggers.
Share Story :
Creation of Reports using AL Extension in Microsoft Dynamcis NAV Development Preview
Introduction: This blog demonstrates the creation of Reports through extensions in Microsoft Dynamics NAV Development Preview Environment(Microsoft Dynamics 365 for Financials and Operation, Business Edition). Pre-requisite: Microsoft Dynamics NAV Development Preview Environment Visual Studio Code with AL Extensions Demonstration: 1. Creating a Report using AL extensions. report 50100 MyReport { UsageCategory = ReportsAndAnalysis; ApplicationArea = All; CaptionML = ENU = ‘MyCustomerList’; RDLCLayout = ‘ReportLayouts/MyReport.rdl’; // WordLayout=’ReportLayouts/MyReportWord.docx’; // DefaultLayout=Word; dataset { dataitem(DataItemName; Customer) { column(CustomerName; Name) { } column(CustomerNumber; “No.”) { } } } requestpage { layout { area(content) { group(GroupName) { field(HideDetails; HideDetails) { } } } } actions { area(processing) { action(ActionName) { } } } } var HideDetails: Boolean; } 2. Creating a Page Action to run the Report using AL extensions. pageextension 50100 MyExtension extends “Customer List” { layout{ } actions { // Add changes to page actions here addlast(“&Customer”) { action(ShowMyReport) { ApplicationArea = All; trigger OnAction(); begin clear(myReport); myReport.Run; end; } } } var MyReport : Report MyReport; } 3. Installing the extension and executing the Report, the results are blank as the Layout for the Report is not set. 4. To create the layout, search for ‘Report Layout Selection’. 5. Then select the report added through the extensions and Export the template. 6. Open the RDL Export file in SSRS or Visual Studio and add the relevant fields or tables. 7. In the Visual Studio Code add the following lines of code. RDLCLayout=<PATH of RDL File>; UsageCategory = ReportsAndAnalysis; ApplicationArea = All; 8. Viewing the Report Conclusion: Thus according to the NAV 2018, the report when created in C/SIDE automatically has an RDL file associated with it. But when creating reports through extensions separately the layout needs to be created.
Share Story :
Implementing extensions in NAV Development Preview using Docker
Introduction: This blog describes Container, Docker, and Benefits of using Containers. As containers was a new functionality in Microsoft Dynamics NAV Development Preview from September Update, this document also demonstrates creating containers and how to implement extensions using containers. Also, it includes saving the image into Azure Container Registry Service. Pre-requisites: Microsoft NAV Development Preview(December update) Visual Studio Code(VS Code) Description of Containers: 1. What is a Container? A container image is a lightweight, stand-alone, executable package of a piece of software that includes everything needed to run it: code, runtime, system tools, system libraries, settings. Available for both Linux and Windows based apps, containerized software will always run the same, regardless of the environment. Containers isolate software from its surroundings, for example differences between development and staging environments and help reduce conflicts between teams running different software on the same infrastructure. 2. Why do we use container? When you are running an app on a computer, you stand the risk that it will conflict with everything else on the machine. If two apps are having the same name and utilizing the same folder structure on the hard drive, there is a conflict and if 2 apps are using different versions of the same DLL, there might be problems.With a container, you achieve a higher level of isolation. Each container has its own file system, its own registry, its own network layer with its own published ports, and of course its own memory space – kind of like a virtual machine, just without the fat guest operating system. 3. What is a Docker? Docker is the company driving the container movement and the only container platform provider to address every application across the hybrid cloud.Docker enables true independence between applications and infrastructure and developers and IT ops to unlock their potential and creates a model for better collaboration and innovation. 4. Implementing Docker: What is a Docker Image? An image is an inert, immutable, file that’s essentially a snapshot of a container. Images are created with the build command, and they’ll produce a container when started with run. Images are stored in a Docker registry such as registry.hub.docker.com. i. List of Docker Images ii. List of Containers PS C:\Users\cfadmin> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c45e57849c56 microsoft/dynamics-nav:devpreview-finus “powershell -Comma…” 14 hours ago Up 2 minute s (healthy) 80/tcp, 1433/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:7046-7049->7046-7049/tcp, 7045/tcp, 0.0.0.0:8080->8080/t cp navserver iii. Creating a new Container PS C:\demo> docker run -e ACCEPT_EULA=Y a9 Initializing… Starting Container Hostname is 0b04fbea782e PublicDnsName is 0b04fbea782e Using NavUserPassword Authentication Starting Local SQL Server Starting Internet Information Server Creating Self Signed Certificate Self Signed Certificate Thumbprint 52600A924814D5A8848D7990BC3F76F7FB6FAF66 Modifying NAV Service Tier Config File with Instance Specific Settings Starting NAV Service Tier Creating DotNetCore NAV Web Server Instance Enabling Financials User Experience Creating http download site Creating Windows user admin Enabling SA WARNING: This license is not compatible with this version of Dynamics NAV. Creating NAV user WARNING: This license is not compatible with this version of Dynamics NAV. WARNING: This license is not compatible with this version of Dynamics NAV. Container IP Address: 172.18.232.162 Container Hostname : 0b04fbea782e Container Dns Name : 0b04fbea782e Web Client : https://0b04fbea782e/NAV/WebClient/ NAV Admin Username : admin NAV Admin Password : Tyvo6712 Dev. Server : https://0b04fbea782e Dev. ServerInstance : NAV Files: http://0b04fbea782e:8080/al-0.12.15359.vsix http://0b04fbea782e:8080/certificate.cer Initialization took 105 seconds Ready for connections! Note: Instead of full Image ID starting few characters can be used as Identifiers. Image Name can also be instead of Image ID. Download the Certificate from the URL and installed in Enterprise Trust, Trusted Publisher. iv. Viewing the created Container PS C:\demo> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORT S NAMES 0b04fbea782e a9 “powershell -Comma…” 3 hours ago Up 3 hours (healthy) 80/t cp, 443/tcp, 1433/tcp, 7045-7049/tcp, 8080/tcp stupefied_stonebraker ca1980d041c6 microsoft/dynamics-nav:devpreview-finus “powershell -Comma…” 28 hours ago Up 6 hours (healthy) 80/t cp, 1433/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:7046-7049->7046-7049/tcp, 7045/tcp, 0.0.0.0:8080->8080/tcp navserver Newly Created Container with name as ‘stupefied_stonebraker’ and ID as ‘0b04fbea782e’ 5. In Visual Studio Code: i. Contents of Launch.json file ii.Contents of App.json file iii. Contents of Code unit which displays a Hello Message iv. Contents of Customer Card which Creates a field and an action that triggers the CodeUnit above v. Contents of Customer Table Extension that adds a field vi. in the Extension Management Pane vii. Action in Customer Action vii Displaying Hello Message viii. Added field in the Customer Card Page 6. Merging the Containers in Image and Managing with Azure Container Service i. Comitting the Container ‘stupefied_stonebraker’ to Image ‘microsoft/dynamics-nav:devpreview–finus’ PS C:\Users\vmadmin> docker stop stupefied_stonebraker stupefied_stonebraker PS C:\Users\vmadmin> docker commit stupefied_stonebraker microsoft/dynamics-nav:devpreview-finus sha256:eca05b64ed3619c688225685613e27fb4dbb6823aee46e24e96f3d813158440f ii. Tag the Image ’ microsoft/dynamics-nav:devpreview–finus’ as ‘navcontainerregister.azurecr.io/dynamics-nav:v1’ and push the committed image to Azure Container Service PS C:\Users\vmadmin> docker tag microsoft/dynamics-nav:devpreview-finus navcontainerregister.azurecr.io/dynamics-nav:v1 PS C:\Users\vmadmin> docker login –username NavcontainerRegister –password 6QiIyg9ICAa=aEg1jL2Wp8JumxvfPAEd navcontainerregister.azurecr.io Login Succeeded PS C:\Users\vmadmin> docker push navcontainerregister.azurecr.io/dynamics-nav:v1 The push refers to a repository [navcontainerregister.azurecr.io/dynamics-nav] 79bb52c8ab0d: Preparing 9c54b1a40ebc: Preparing 0d828dcd4895: Preparing b52bf723b284: Preparing 4beec416a215: Preparing 282537c6428c: Preparing b786ae432ac1: Preparing b07b88fd6145: Preparing 28c2b5be05f7: Preparing cc91b1f75f98: Preparing 7305c5891baa: Preparing bb5530559b18: Preparing 021428a01c82: Preparing 13b346524402: Preparing cda2d40c0d33: Preparing 64efa9cbaf9b: Preparing aa2b81bfb0aa: Preparing 505553846eae: Preparing 7a83b9538cb1: Preparing 20c2a3ed5225: Preparing 5437ac367abf: Preparing c856f8e0a2f7: Preparing f358be10862c: Preparing b07b88fd6145: Waiting 28c2b5be05f7: Waiting cc91b1f75f98: Waiting 7305c5891baa: Waiting bb5530559b18: Waiting 021428a01c82: Waiting 13b346524402: Waiting cda2d40c0d33: Waiting 64efa9cbaf9b: Waiting aa2b81bfb0aa: Waiting 505553846eae: Waiting 7a83b9538cb1: Waiting 20c2a3ed5225: Waiting 5437ac367abf: Waiting c856f8e0a2f7: Waiting f358be10862c: Waiting 282537c6428c: Waiting b786ae432ac1: Waiting b52bf723b284: Pushed 9c54b1a40ebc: Pushed 4beec416a215: Pushed b07b88fd6145: Pushed 282537c6428c: Pushed b786ae432ac1: Pushed cc91b1f75f98: Pushed 28c2b5be05f7: Pushed bb5530559b18: Pushed 021428a01c82: Pushed cda2d40c0d33: Pushed 13b346524402: Pushed aa2b81bfb0aa: Pushed 64efa9cbaf9b: Pushed 505553846eae: Pushed 20c2a3ed5225: Pushed 79bb52c8ab0d: Pushed c856f8e0a2f7: Skipped foreign layer f358be10862c: Skipped foreign layer 0d828dcd4895: Pushed 7305c5891baa: Pushed 7a83b9538cb1: Pushed 5437ac367abf: Pushed v1: digest: sha256:0aa9bfe03388e4fa20f83fcac99dafdf1933f58a2aed9d1c8bb2d05d162f062e size: 5343 iii. Azure Container Registry Repository: Pushed Image into Container Registry in Repositories Conclusion: These are the actions that can be performed on Container using Docker and how extensions are developed on Containers.
Share Story :
Configuration and Installation of MPOS in Dynamics 365 for Retail
Introduction: Dynamics 365 for Retail Provides Modern POS functionality (MPOS). It supports online as well as offline mode. The blog describes the configuration and Installation of MPOS step by step. Steps: Step 1: Go to Retail -> Channels -> Retail Stores -> All Retail Stores Select the Store for which you want to configure MPOS. In my case I have selected the warehouse. Step 2: On right hand side Go to registers and select which register you want for that particular store. Double click on the register Step 3: Under General Fast Tab, Enable Support Offline and Double click on the Device Please Note: If Device is not set for the register of the store. Go to Devices and assign a device of type Retail Modern POS to the register. Step 4: Click on Download and select the Configuration file Step 5: When the download starts click on save or the browser will automatically download it. Step 6: Again Go to Download and now select the Retail Modern POS Step 7: Once the download starts click on Save and then click on Run. This completes the installation of Modern POS
Share Story :
Raise and expense entry for a Fixed Bid Project in D365 PSA
Introduction: Let’s consider a scenario where we need to raise an expense entry for a Fixed Bid project. PSA by definition does not charge for expenses. If you want to have fixed price for the project and expense to be charged for other things, you need to do it via adjusting the contract. Steps: Follow the steps below to prepare the contract: Prepare a contract and add a Fixed Bid project with “Time” and “Fee” as the option shown below: Add another line and create another Time and Material Type project and select “Expenses” as the option. You will have to inform the team to select the right project while raising the expense, that is the T&M one. Now when you create the invoice via that contract, you will get your milestone as well as the expenses coming up in the same invoice as shown below.