Microsoft Dynamics NAV

Team Blog

October, 2012

  • Microsoft Dynamics NAV Team Blog

    Manually restoring the NAV 2013 Demo Database


    With the release of Microsoft Dynamics NAV 2013, there are some new procedures for restoring the demo database manually.  I have outlined the necessary steps below.

    1)    From within the Microsoft SQL Server Management Studio, restore the Microsoft Dynamics NAV 2013 demo database from the installation media (..\SQLDemoDatabase\CommonAppData\Microsoft\Microsoft Dynamics NAV\70\Database).

    2)    To restore the database from the Microsoft SQL Server Management Studio, open the Object Explorer and click on Databases.  With Databases highlighted, right click and select Restore Database.

    3)    This will open up the Restore Database window.  Select the Device option in the Source grouping. 

    4)    Now click on the assist edit button () and this will launch the Select backup devices window.

    5)    Next, click on the Add button to launch the Locate Backup File window and select the demo database backup file.

    6)    Once you have selected your file, click OK to exit the Locate Backup File window.  Once you return to the Select backup devices window, click on OK again.

    7)    You should now be on the Restore Database - Demo Database NAV (7-0) window - unless you have changed the value of the Database field then the window title would differ.  Make sure that the file listed in the Backup sets to restore section has a check mark next to it.  If you want to change where the database files are created, you can specify this on the Files page.  If you want to specify any Restore options this can be done on the Options page.  For this blog, it is assume that you will take the default settings.

    8)    Click OK to restore the database.

    9)    After the restore finishes, go to the Object Explorer and expand the Databases object.  The list of database objects should now have one named Demo Database NAV (7-0).

    10)  Next, expand the Demo Database NAV (7-0) object and select the Security\Schemas object.  Expand this object and make sure the $ndo$listener schema doesn't already exist.  If you had already installed NAV 2009 on this SQL Server,  then this schema may already exist.  If it does, go to step 12.  If it doesn't, then right click on the Schemas object and select New Schema

    11)   With the Schemas Properties window open, enter $ndo$navlistener in the Schema Name field.  

    Note: You will not be able to state a schema owner until the next step.  There are no values to fill in on either the Permissions or Extended Properties tabs.

    12)   Create a user in the Demo Database NAV (7-0) named NT AUTHORITY\NETWORK SERVICE or whatever user that will be used to login the NAV Server Service.

    13)   Enter $ndo$listener in the Default schema field on the General page.

    14)   On the Owned Schema page, make sure the $ndo$listener is marked.

    15)   On the Membership page, make sure that the following Role Members are selected

      • db_datareader
      • db_datawriter
      • db_ddadmin

    16)   On the Securables or Extended Properties pages, there is no information to fill in.

    17)   The last step before starting your new NAV Server, locate your new database and right-click and select the Properties option.  Select the Permissions Page.  You should see NT AUTHORITY\NETWORK SERVICE or whatever user that will be used to login the NAV Server Service on the right side of the page.

    Below that you will see a tab for Explicit Permissions for NT AUTHORITY\NETWORK SERVICE or whatever user that will be used to login the NAV Server Service.  Make sure that is a check in the following permissions 

      • Connect
      • View database state

    Once those are selected then click OK.

    18)   Use the Microsoft Dynamics NAV Administration tool to update the NAV Server settings with the new demo database name and restart the NAV Server.



    NOTE: If you were to use the Microsoft Dynamics NAV 2013 Installer to install the demo database, it would have run a script that would have executed each of these steps for you.

    Now, enjoy using Microsoft Dynamics NAV 2013!!!


  • Microsoft Dynamics NAV Team Blog

    Configurations of Profiles in Microsoft Dynamics NAV 2013


    In NAV 2013, the out-of-the-box experience shows how RoleTailoring makes a difference.

    All 21 pre-defined user profiles have been updated to include configuration of individual pages to fit the work of each user profile. This affects the list places in the navigation pane, all associated ribbons, and the majority of list places in the department

    Benefits for customers include:

    • Simplified appearance of the application.
    • Improved help for on-boarding users by presenting work tasks in a sequenced fashion.
    • Increased user productivity by promotion of relevant tasks and hiding less frequently used actions and fields.
    • Personalization of pages made easier because actions are grouped in domain groups (Warehouse, Service) that can be removed altogether if not relevant.

    Benefits for partners and super users at customers include:

    • Better leverage and demonstration of the ribbon, its icons, the configuration and personalization story, the Quick Entry feature, the freeze pane, etc. Customer demos are made easier, and the demonstrations are more convincing because the pages look simpler and more focused.
    • Redundancy removed and a pattern established for partners, super users and end users. Future configuration work is easier because a better starting point is provided, which means less time for partner and power users to do a good job.
    • Less training is required with a Microsoft Dynamics NAV 2013 installation since the right information and actions are readily available.


    In order to understand how the final user interface has been built up for Microsoft Dynamics 2013 RTM, a short description of the three stages of the delivery is described below. The same sequencing is recommended for partners that want to integrate their solution in Microsoft Dynamics NAV 2013.

    In summary, the 3 stages are:

    1. Changing page objects to reduce the amount of configuration needed.
    2. Establish a configuration baseline, which configures elements useful for every user profile.
    3. Finalize the RoleTailoring experience by configuring for the special needs per user profile.

    Stage 1: Changes in the Page Object Actions (ActionItems, RelatedInfoItems, Reports)

    The recommended changes are:

    • Break up “giant” ribbon groups (those with more than nine actions per group), using the Action Designer, into smaller groups that are organized by topic in a relevant way for the domain. In general, group the actions using additional relevant groups. Suggestions can be domain driven (Warehouse, Service, Resources, etc) or process driven (Documents, Print, History, etc.).

    Example of a giant ribbon action group in the Navigate tab (the “Item” group has 22 actions/dropdowns):

    Example of a “giant” ribbon action group (the “General” group has 20 reports):

    • No work is carried out in the Home tab
    • Create domain groups like “Release,” “Warehouse,” or process groups like “Documents”, “History”, “Send To” etc.

    Examples of new action groups created to avoid Giant groups. This work is not carried into the Home tab. To promote action is considered as a configuration task.

    • Exploit the QuickEntry property

    Example of a quick entry implementation on Sales Order page where only No.; Sell to Customer No.; Requested Delivery Date; and External Document No.; are "mandatory" to pause by or amend when using the Enter key. Skipping 6 fields in W1. In the following illustration, the QuickEntry property is set to FALSE on Sell-to-Customer Name. In general all fields that have a defaulting mechanism (the various dates on sales order) or are retreived by master record are skipped.

    • Sync help references with the new structure.
      • When assisting the users to find an action, the Help system was referring to generic places defined with the general groups like "General", "Functions", etc. When new groups were defined, these references needed to be updated.

    Stage 2: Establish a Configuration Baseline with a New “Master Page” Concept

    To provide the most flexibility in configuration, Microsoft Dynamics NAV 2013 allows pages to be configured differently dependent on how a page is opened. For example, a list used for lookup can be configured differently from how the same list looks when opened as a listplace. Conversely, in cases where in fact the same configuration should be used regardless of where a page is opened from, it is necessary to duplicate the configuration.

    Because this duplication was a frequent need during the work to configure W1, an internal tool was developed that included the concept of a "master page". A master page for each list and card page was crafted and duplicated in the Department page (and other places), so the user gets configured pages regardless of whether they come from the navigation pane or the Department page. The "configured" page included in Department was the one from the most predominant role - e.g.: the Sales Order list optimized for the Sales Order Processor is the "default" Sales Order list for all profiles when accessing the Department page. The Purchasing Agent optimized Purchase Order should be the one included in the Department page, the Finance pages optimized for the Accounting Manager are included in the Department page, etc.
    The basic configuration of pages that was duplicated as described includes:

    • Improve the Home tab (the promoted commands):
      • Organizing the ribbon by either frequency of tasks or sequence of tasks.

    Example on Sales order card page: Release and Posting are groups placed where frequency is the design criteria. Prepare, Order, and Documents reflects a sequence of activities.

    On the Actions Tab, the positioning of the Posting group follows the sequence of tasks.

    • Implement a pattern for the generic groups - Print, Send To, View, and Show Attached. They are always in this order and at the right end of the ribbon in order to ease the retrieval and to focus the attention to the specific actions of the pages placed at the left.
    • Simplify the ribbon - remove Show as Chart when irrelevant, promote the few action in Navigate or Actions when possible, and remove redundant tabs.

    As an example, see the following screenshots of the non-configured ribbon for the sales Journal List place Home and Action tabs:

    The following is the configured ribbon for the same page (Sales Journal List place) without redundant Actions Tab and without the group "Show as Chart"

    • Establish a visible integration to Office (Send To Group with Excel on list and Email on card pages).

    The integration to Office is included by default in the NAV Application menu:

    Examples of integration to office - Excel for list, Email or Word for Document or Card page:

    • Implement Quick Entry functionality on all document pages (some are also implemented in the page object).
      • Not all page card were amended with the QuickEntry property on the page object directly, so the remainder were configured with the QuickEntry property at the FastTab customization.

    You can select the "Customize FastTab" button on the Customize page, and then select Quick Entry for fields. You do not need to select Quick Entry for fields with the Importance set to "Additional." (The "Additional" fields are fields that are included when you click "Show more fields.")


    • Define Freeze pane on list and card page repeater.

    Some pages like the Job Journal with integration to several application area and a complex functionality benefit greatly from a Freeze pane when working with the lines.


    All list places on the Navigation pane have received a Freeze pane, usually with No. field. The description field is usually placed just after the freeze pane. Note: a quick way to see if a page has been configured is to see if there is a freeze pane defined or a promotion of a Send To group is created. These are two examples of improvements that are not defined out-of-the-box on the page object.


    • Add fields and list pages to navigation panes, role center ribbon, or as additional fields on repeaters. The need can originate from a wish to make the configuration
      more specific to the role. Or it can be because of the limitation of the web client to perform personalization, so critical fields for some functionality have been included. 
      • Creation of new tabs: The following is the Accounting Manager Role Center. To avoid giant groups and to make the Actions group more readable, several actions have been placed under new tabs. One example is the Setup tab. An analysis of what are the frequent Setup tasks of an accounting manager suggested that some VAT setup and some other general setup could be included. Since these additions were made at Configuration time, there are no actions in the page object that can be assigned an icon. This also demonstrates the current lack of ability to add an icon at the time of promoting an action to the Role Center ribbon.


    Stage 3: Finalize the Role Tailoring experience

    The third and final stage of RoleTailoring relates to the configuration one carries out for individual user profiles. Needless to say, this is when your knowledge about the roles and responsibilities of the individual user profiles come into play. Overall, this is how this stage of configuration was implemented in Microsoft Dynamics NAV 2013:

    • Perform page optimization on the baseline and only for the specific profile/role center. Two types of RoleTailoring take place:
      • Tailoring the common list or card pages for the specific role/profile. Example: Finance versus Supply Chain flavor on master data list and card.
      • Tailoring the pages depending on which functionality are used. Example: Remove posting group on sales order and promote “Create Warehouse Shipment” for a profiles using WMS, as warehousing processes require the user to release the order, the posting being delegated to the Warehouse Shipment document.

    The following are three examples with Item card. Purchasing agent, including journals:


    Warehouse responsible, excluding journals, bringing Bin Contents to a predominant place. Depending on the company flow, it can be simplified much more, for example, by removing reports and Requisition Worksheet.


    Service Technician, excluding journals, add Service group. Requisition Worksheet is kept in case the technician has his own batch, where he can add missing parts for the consideration of the Purchasing agent.


    The following are two examples with the Sales Order page. Sales personnel, Purchase and Finance:


    Warehouse Responsible, location with WMS: Sales Order, no posting group, only Create Whse Shipment (the posting is done at the warehouse shipment):


    The following are two examples with Customer page. Warehouse Responsible, location with WMS:


    Service Technician:


    • Rearrangement of the sequence of fields on selected order pages.

    Sales order line for a warehouse responsible:


    Sales order Lines for a Purchasing agent:


    • Fine tune role centers by adding missing actions or list places.
      • In Microsoft Dynamics NAV 2013, all ledgers have been added as lists to the Department page History category. This allows the user to add the list to its navigation pane and to create specific views.

    The following example is from the Accounting Manager profile where the vendor ledger entries has been added to the navigation pane and a view is created for purchase invoices due today.


    • Create correlations between Views and Ribbon.

    On the Sales Invoices “Pending Approval” view (built up filtering on sales, invoices pending approval), the following actions are promoted: “Release,” “Cancel Approval,” and “Approvals.” The Posting group and the Reopen, Send
    Approval Request etc., are not promoted because these actions are not relevant for the view.


    On the subsequent “Approved” view, the "Reopen" action is promoted and the Posting group is added.


    Issues to Note

    • Not subject to configuration. The following examples of RoleTailoring activities have not been carried out:
      • Promote charts to role centers
      • Promote relevant “all records” charts as FactBoxes on list or cards (FactBox charts do not listen to individual records)\
      • Customization of TastTabs
      • Customization of FactBoxes
      • Sequence of fact boxe
    • Non-configured profiles - Two new profiles have been added to the demo company: Rapid Start (both role center and profile) and Order Processor NC (Non-Configured). These profiles are not configured. The targeted user for the Rapid Start profile is a partner. The purpose of the Order Processor NC profile is to have a back-door to access the page object without configuration. The scenario for the non-configured order processor could be a simple wish to understand what is in the base object, or the applied configuration does not have an action that you quickly wants to use and you are not able to correct the currently applied configuration.
    • Emptying groups is different from removing. Note: This issue is also valid for tabs. Subsequent changes on page object will not appear on existing configurations if groups have been removed. If an administrator removes a whole group and his partner adds some actions in that group, the group will not “reappear” in the final UI. However, the added actions will be present in the personalization dialogues. If this is the desired behavior, the recommendation is not to remove whole groups, but only to empty them. The added action will then appear.
    • Shortcuts - A simple rule has been implemented: if the action is removed from the ribbon, then it’s not possible to invoke it, even if the keyboard short-cut is invoked. The only exception to this rule is Refresh (F5).  If some system action like Clear Filters (Ctrl+Shift+A) or Find (Ctrl+F) should be active but should take up real estate at the Home tab, then move these type of actions to a second tab.
    • Multi-language - The configuration for the North America (NA) build is multi-language enabled as all four languages are present in the configuration file (en-US, es-MX, en-CA and fr-CA). The caption will be shown depending on which language code is selected. This is the only “multi-language” capability out-of-the-box. If a Sales order processor working in Denmark on a Danish installation is German and wants to experience all the configured groups and tabs in German, after selecting the German language, she needs either to import the German version of the configuration file, or to configure or personalize all the captions that would be rendered in ENU.
    • Size - Each profile has an associated configuration file (XML format) of approximately 20 Mb, multiplied by 21 profiles per language version and by 15 countries (Canada counts for 2). This ends up with an impressive 0.6 GB. there is lot of handling associated with working with configurations and we are working on simplifying this.
    • Integration between configuration and security permissions - The configuration ability is not a security functionality. When an administrator removes items from the interface for simplicity reasons through the configuration, the personalization performed by users can bring them back. There is a functionality to exclude the ability to use the personalization by adding the command -disablepersonalization when starting the Microsoft Dynamics NAV Windows client. You can read more about this on MSDN.
    • Help is available at MSDN - Check this link to bring you to the Profiles and Role Center topics.

    Known Issues for Profiles or Limitations in the Configuration Capabilities

    The following issues exist with the configured ribbons:

    • Only W1 has been configured. The changed local pages compared to W1 has not been configured.
    • The Purchase Orders list and task page on Finance roles does not have the action New. (Should only be for the list in navigation pane, but the Department page should have the configuration from the Purchasing agent.)
    • The Job Planning and Tasks lines do not have a freeze pane.
    • The correct caption for some promoted actions on configured profiles is missing.
    • Profiles on local versions contain promoted actions with labels such as "Action 12345". This occurs because of the difference between the profile for the W1 version of Microsoft Dynamics NAV and the local profile. The pages in local versions can contain actions that have been deleted or promoted to another group. The instances are identified in the Deleted or Promoted Actions section, later in this document, with information about how resolve the differences. The workaround depends on the issue. You can either:
      • Personalize or configure the ribbon again.
      • Delete the configuration of the page (Departments, Administration, IT Administration, Data Deletion, Configuration and Personalization, Delete Profile Configuration). Then recreate the configuration manually.

    The configuration capabilities are evolving with the following not currently available in the product:

    • Actions added to role centers (e.g. at local versions) do not have an icon assigned.
    • The toolbar above the grid of subpages (e.g. Sales Order lines) is not possible to configure or personalize.
    • It's not possible to add a FastTab to a Card page, nor is it possible to move or copy fields from one tab to another.

    Deleted or Promoted Actions

    The following table shows pages in the local version of Microsoft Dynamics NAV 2013, which contain actions that have been deleted or promoted to another group, with a recommendation for a possible resolution.








    9020 - Small Business Owner RC


    Sales Order (42)

    Delete the action or delete and move the duplicate action from the "New Document" group.


    9020 - Small Business Owner RC


    Purchase Order (50)

    Delete the action or delete and move the duplicate action from the "New Document" group.


    43 - Sales Invoice


    No target

    Delete the action.


    44 - Sales Credit Memo


    No target

    Delete the action.


    507 - Blanket Sales Order


    No target

    Delete the action.


    509 - Blanket Purchase Order


    No target

    Delete the action.


    51 - Purchase Invoice


    No target

    Delete the action.


    52 - Purchase Credit Memo


    No target

    Delete the action.


    6630 - Sales Return Order


    No target

    Delete the action.


    6640 - Purchase Return Order


    No target

    Delete the action.


    132 - Posted Sales Invoice


    No target

    Delete the action.


    5743 - Posted Transfer Shipment


    No target

    Delete the action.


    9004 - Bookkeeper Role Center


    Sales Invoice (43)

    Replace caption with "Sales Invoice".


    9004 - Bookkeeper Role Center


    Purchase Invoice (51)

    Replace caption with "Purchase Invoice".


    16 - Chart of Accounts


    Detail Trial Balance (4)

    Replace caption with "Detail Trial Balance"


    21 - Customer Card


    No target

    Delete the action.


    27 - Vendor List


    Vendor List (27)

    Payments on Hold (319)


    27 - Vendor List


    No target

    Delete the action.


    370 - Bank Account Card


    Bank Account Statement List (389)

    Replace the caption with "Bank Account Statement List".


    371 - Bank Account List


    Bank Account Statement List (389)

    Replace the caption with "Bank Account Statement List"


    434 - Reminder


    Customer - Trial Balance (129)

    Replace the icon with "Customer - Trial Balance"


    9004 - Bookkeeper Role Center


    Sales Invoice (43)

    Delete the action or delete and move the duplicate action from the "New Document" group.


    9004 - Bookkeeper Role Center


    Purchase Invoice (51)

    Delete the action or delete and move the duplicate action from the "New Document" group.


    9020 - Small Business Owner RC


    Sales Order (42)

    Delete the action or delete and move the duplicate action from the "New Document" group.


    9020 - Small Business Owner RC


    Purchase Order (50

    Delete the action or delete and move the duplicate action from the "New Document" group.


    9004 - Bookkeeper Role Center


    Sales Invoice (43)

    Replace the caption with "Sales Invoice".


    9004 - Bookkeeper Role Center


    Purchase Invoice (51)

    Replace the caption with "Purchase Invoice".

    -Philippe Jacobsen

    Senior Program Manager

  • Microsoft Dynamics NAV Team Blog

    How to have few Microsoft Dynamics NAV 2013 services on the same server


    Sometimes we need to have few Microsoft Dynamics NAV 2013 services connected to different SQL databases but running on the same server. Let us say few developers are working on different databases and want to see how RTC works with their customizations. Or maybe we want to compare how different RTC versions/builds work and want to compare functionality.
    In article I described how to have few RTC on the same client computer in NAV 2009. This is also very useful now in NAV 2013, but let us look what new we have in NST site in NAV 2013

    With Microsoft Dynamics NAV 2013 we have few solutions how to create new NAV service (NST). First NAV 2013 Service we already have installed by NAV DVD and now we want to have more

    1.  If we want to have few instances of service tier connected to the same or different db. Then we can:
      1. Use Microsoft Dynamics NAV Administration Tools (Administration console) as described at . With it we can create new instance of the same service as it is described at .
      2. Use Microsoft Dynamics NAV Windows PowerShell Cmdlets. This can be done by running Microsoft Dynamics NAV Shell and execute cmdlet “New-NAVServerInstance” as it is described at . Required parameters can be find by execute “Get-Help New-NAVServerInstance –full” in shell. But for example if I want to create new instance named “TestNAV70” then I execute:
        New-NAVServerInstance -ServerInstance TestNAV70 -ClientServicesPort 7600 -ManagementServicesPort 7601 -ODataServicesPort 7602 -SOAPServicesPort 7603
        Four ports parameters are required to add here.
        There will be new folder TestNAV70 created in c:\Program Files\Microsoft Dynamics NAV\70\Service\Instances and it includes two configuration files.
        This instance will be visible in Microsoft Dynamics NAV Administration Tools, where you can change database name, start, stop service etc.
        Users now can connect to these instances and work with RTC.
        Advantages: easy/simple creation, usage and administration. For example, have customer db and want to see how report works on it in comparing to Cronus: create new instance, point it to customer db, run RTC using these ports and connect to required service.
        Disadvantages: Used another ports – RTC configs need to be modified. Firewall need to be configured. Used the same binaries.
    2. If we want to have fully separate services (including binaries):
      1. We can use the same way as it was in NAV 2009 – use sc.exe utility and execute it with parameters as it is described at or at
      2. Or use Windows power shell “New-Service” tasklet like:
        New-Service -Name 'MicrosoftDynamicsNAVServer$TestNAV70' -BinaryPathName '"D:\NAV 7\Service\Microsoft.Dynamics.Nav.Server.exe" $TestNAV70 /config "D:\NAV 7\Service\Microsoft.Dynamics.NAV.Server.exe.config"' -DependsOn 'NetTcpPortSharing' -Description 'Service handling TestNAV70' -DisplayName 'Microsoft Dynamics NAV 70 Server [TestNAV70]' -StartupType Manual
        Here my new service is ‘TestNAV70’ and binaries are in folder ‘D:\NAV 7\Service’. Service depends on 'NetTcpPortSharing'.
        Now I can modify servise CustomSettings.Config file to force to connect to required db, use required ports, name service instance (for example ‘NAV70Test’). ATTENTION: when RTC connects to service instance, it must to use in service CustomSettings.Config file described ports and service instance name (Not windows service name used in service creation TestNAV70, but service instance name – NAV70Test).

        Advantages: Can use different binaries (builds or versions); can share the same ports between few services – users can use the same client config file, just change service instance name.
        Disadvantages: Not easy to create and configure.

    In both ways created services can be managed using Microsoft Dynamics NAV Administration Tools, so it is very easy modify services for any further needs. However if we try to remove service by using function “Remove”, then tools uninstall service and remove folder (including all binaries) and this can be problem if we have few services based on the same binaries folder.

    Few Microsoft Dynamics NAV 2013 services can share the same TCP communication ports (Attention: do not mix it with NAV 2009). However, here are few tricks need to do before we use port sharing:

    1. Windows service NetTcpPortSharing must to run on computer where NAV services are running. By default this service is not started, so you need to set service “startup type” to “Automatic” and start it.
    2. Any NAV 2013 service need to be modified by adding dependency (DependsOn) – Net.Tcp Port Sharing Service. This can be done in few ways:
      1.  During service install add parameter “-DependsOn 'NetTcpPortSharing'”
      2. Use sc.exe utility to modify existing services like: sc.exe config ‘MicrosoftDynamicsNAVServer$NAV70’ depend= NetTcpPortSharing
      3. Modify windows registry key using regedit utility. Go to HKLM\System\CurrentControlSet\Services\MicrosoftDynamcisNAVServer$NAV70; and add/modify key DependOnService = NetTcpPortSharing


    These postings are provided "AS IS" with no warranties and confer no rights. You assume all risk for your use.

    Gedas Busniauskas
    Microsoft Lithuania
    Microsoft Customer Service and Support (CSS) EMEA

  • Microsoft Dynamics NAV Team Blog

    Microsoft Dynamics NAV 2013 Reporting Design Guidelines


    Reports join different views of data in one place. You design reports in Microsoft Dynamics NAV 2013 using the Microsoft Dynamics NAV Development Environment and Microsoft Reporting Services.

    For Microsoft Dynamics NAV 2013, we have created report design guidelines to help you take advantage of the power of Microsoft Reporting Services.

    Design Concepts

    The basis for the design guidelines is twofold: They should benefit the customer using a report and they should help the partner designing a report.

    For customers to be effective using reports in Microsoft Dynamics NAV 2013, the design of the reports should be such that the reports are:

    • Simple and clean — reports should not contain more information than necessary.
    • Easy to skim and read — optimizing visualizations helps the user going through a report.
    • Consistent — across all report types, reports can be categorized and each category can have the same principles.

    To help partners in designing reports, we have based the principles of the report design guidelines for development on:

    • Simplicity
      • Create a minimum of rules.
      • Use the default options that Visual Studio 2010 offers.
      • Use a standard palette for colors (Bright Pastel).
      • Create a checklist that can be used when designing a report.

    All reports in Microsoft Dynamics NAV 2013 can be classified as one of three types:

    • Documents — formal outgoing reports, for example, sales invoice and order confirmation reports.
    • Simple lists — internal reports that show data at one level with a unique key, row by row. Reports are mostly overviews of master data, for example, the Customer and Vendor List reports.
    • Grouped lists — internal reports that show more complex data grouped per key. Reports are mostly combinations of master data and its connected data, for example, the Customer Detail Aging and Customer/Item Sales reports.


    Document Reports: Sales Invoice

    Simple list reports: Resource Usage

    Grouped list reports: Customer – Detail Trial Bal.


    The following shows the Microsoft Dynamics NAV 2013 report design guidelines, wrapped in a checklist. It is divided into three sections: canvas, header and body.

    Example of a Document Report Design

    For more information, see Report Design Guidelines on MSDN.

    -Coen Overgaag

  • Microsoft Dynamics NAV Team Blog

    Excel Buffer Using Open XML Instead of Excel Automation (Part 1 of 2)


    In Microsoft Dynamics NAV, there are several areas that enable the user to perform analysis in Microsoft Excel. Areas such as importing and exporting budgets, analysis by dimensions, and a number of selected reports all use Excel Buffer to export data to Microsoft Excel. In Microsoft Dynamics NAV 2013, the exporting technology has changed to gain better performance in the export as well as to enable more advanced customization capabilities. In Microsoft Dynamics NAV 2013, Excel Buffer has changed from being a chatty client automation solution to one that uses the Open XML SDK 2.0 for Microsoft Office and renders the Excel workbook on the server side.

    This article explains some of the changes that were made to the Excel Buffer table (table 370) and gives examples of how to use and extend the table with the new Open XML functionality from C/AL.
    Excel Buffer works as a temporary table which is used when you import or export data between Microsoft Dynamics NAV and Microsoft Excel. For the export part, you have an additional option to add formulas and formatting of the Excel cells.
    When a Excel workbook is rendered, you use the File Management codeunit (codeunit 419) to download the file from the server to the client and then use Office .NET Interop to open it in Excel and do final formatting, such as Auto Fit Columns.
    A couple of objects that use Excel Buffer are the reports Import Budget from Excel (report 81) and Export Budget to Excel (report 82). These objects are a good way of getting inspiration on how to use it. But in this article, I'm extracting some of this logic to give a simple and clear way of using import and export.

    Example 1: Formatting and summarization

    1. In the Microsoft Dynamics NAV Development Environment, create a new codeunit.

    2. Add a new temporary record variable for table 370 called ExcelBuffer.

    3. Add the following lines of code, which include formulas and simple formatting to the Excel Buffer table.

    // Copyright © Microsoft Corporation. All Rights Reserved.
    // This code released under the terms of the
    // Microsoft Public License (MS-PL,

    // Add values to the Excel Buffer table.
    ExcelBuffer.AddColumn('Header',FALSE,'',FALSE,FALSE,FALSE,'',ExcelBuffer."Cell Type"::Text);
    ExcelBuffer.AddColumn(123.45,FALSE,'',FALSE,FALSE,FALSE,'',ExcelBuffer."Cell Type"::Number);
    ExcelBuffer.AddColumn(-223.45,FALSE,'',FALSE,FALSE,FALSE,'',ExcelBuffer."Cell Type"::Number);
    // Add formula, second parameter TRUE.
    ExcelBuffer.AddColumn('SUM(A2:A3)',TRUE,'',FALSE,FALSE,FALSE,'',ExcelBuffer."Cell Type"::Number);
    // Include custom format for the cell.
    ExcelBuffer.AddColumn('SUM(A2:A4)',TRUE,'',FALSE,FALSE,FALSE,'#,#0.0;[blue](#,#0.0)',ExcelBuffer."Cell Type"::Number);
    // Create and write the content from the Excel buffer table to Open XML Excel server file.
    ExcelBuffer.CreateBookAndOpenExcel('Sheet ABC','Header',COMPANYNAME,USERID);

    4. After adding the lines, compile and run the codeunit from the Microsoft Dynamics NAV Development Environment. The Microsoft Dynamics NAV Windows client will open and execute the codeunit and Excel with the data from the codeunit. The formatting capabilities are shown in the Excel sheet, including summarization and coloring.

    Example 2: Reading from Excel sheet
    Before trying the following example, you need to save the Excel file from Example 1 in the following location: C:\TEMP\ExcelBufferReadBookScenario.xlsx.
    This example will illustrate the reading capabilities that are possible.

    1. Create a new codeunit.
    2. Add a new temporary record variable for table 370 called ExcelBuffer.
    3. Add a new text variable called MessageValue.
    4. Add the following lines of code.
    // Copyright © Microsoft Corporation. All Rights Reserved.
    // This code released under the terms of the
    // Microsoft Public License (MS-PL,;

    ExcelBuffer.OpenBook('C:\TEMP\ExcelBufferReadBookScenario.xlsx','Sheet ABC');

        MessageValue := MessageValue + ExcelBuffer."Cell Value as Text" + '\';
      UNTIL ExcelBuffer.NEXT = 0;

    5. Run the codeunit from the Microsoft Dynamics NAV Development Environment. The Microsoft Dynamics NAV Windows client opens and the content of the Excel workbook is now read into the Excel Buffer table and presented to the user in a message box for each row.

    -Lars-Bo Christensen

  • Microsoft Dynamics NAV Team Blog

    G/L Entry Table Locking Redesign in Microsoft Dynamics NAV 2013


    Do you or your customers have peak hours when all the sales orders and invoices need to be posted at the same time? Or do you have large numbers of postings that need to be run without blocking other users? I bet the answer is yes. If so, then you may also have experienced your screen freezing for several seconds – minutes even – until the order is processed. “Try again later” is also a well-known option.

    To provide a better user experience and to enable more users to leverage the possibilities of Microsoft Dynamics NAV, we have redesigned how the General Ledger (G/L) Entry table is locked during the posting process.

    The implementation of Microsoft Dynamics NAV application was, for historic reasons, primarily designed for Microsoft Dynamics NAV Classic Database Server, but it has been adapted and deeply enhanced to also run on SQL Server. Microsoft Dynamics NAV Classic Database Server uses table locking, and the locking order and use of semaphores are designed to avoid deadlocks in a table locking scenario. With Microsoft Dynamics NAV 2013, the Classic Database Server is retired, which allows us to fully benefit from SQL Server’s row level locking. We decided to focus on a few key scenarios, as they involve most users:

    • Posting a Sales Order (codeunit 80)
    • Posting a Purchase Order (codeunit 90)

    These enhancements to G/L posting, combined with the job queue and background posting will open up more flexible usage of Microsoft Dynamics NAV and will lead to more efficient users and a better experience in peak hours.

    Setup and Use of the Redesigned G/L Posting

    The new locking schema is enabled by default. Do you want to still use the legacy one? That’s very easy:

    1. In the Search box, enter General Ledger Setup, and choose the related link. The General Ledger Setup window opens.
    2. On the General FastTab, locate the Use Legacy G/L Entry Locking field. This field controls the behavior of the posting routines as far as locking is concerned.

    Note: The new behavior is automatically turned off if the Automatic Cost Posting field is selected in the Inventory Setup window.

    What Has Been Changed

    Of course, you can make a comparison of codeunits 80 and 90 between previous versions of Microsoft Dynamics NAV and Microsoft Dynamics NAV 2013. But even better, you can see a graphical representation of the changes.

    In codeunits 80 and 90, we were locking the G/L Entry table (as a semaphore) quite early during posting, thereby locking other users out from posting at the same time. This lock has been moved to a later stage in the posting process. With those changes, our estimates are that:

    • Microsoft Dynamics NAV 2009: G/L is locked >90% of the time during a typical sales or purchase post.
    • Microsoft Dynamics NAV 2013: G/L is locked <10% of the time during a typical sales or purchase post.

    -Tomás Navarro Casbas

  • Microsoft Dynamics NAV Team Blog

    Use Open XML to Extend the Excel Buffer Functionality (Part 2 of 2)


    In Microsoft Dynamics NAV, there are several areas that enable the user to perform analysis in Microsoft Excel. Areas such as importing and exporting budgets, analysis by dimensions, and a number of selected reports all use Excel Buffer to export data to Microsoft Excel. In Microsoft Dynamics NAV 2013, the exporting technology has changed to gain better performance in the export as well as to enable more advanced customization capabilities. In Microsoft Dynamics NAV 2013, Excel Buffer has changed from being a chatty client automation solution to one that uses the Open XML SDK 2.0 for Microsoft Office and renders the Excel workbook on the server side.

    In the blog post Excel Buffer Using Open XML Instead of Excel Automation - (Part 1 of 2), I demonstrated simple write and read scenarios. This blog post will go into details on how you can use the Open XML API in C/AL to extend the Excel Buffer functionality.
    I will show what can be done with some additional cell formatting. The following areas will be covered:

    • Exposing the Microsoft Dynamics NAV Open XML worksheet writer object in table 370.
    • Using the decorator parameter to provide additional formatting.
    • Creating an OpenXml Helper class to interact with the lack of support for generics in C/AL.
    • Showing the file management capabilities by download file to client from server, without opening it directly into Excel.

    Exposing the Microsoft Dynamics NAV Open XML worksheet Writer Object in Table 370

    You need to expose the workbook writer object from table 370 by adding the following method. In this way, you open for applying functionality from the extensive and verbose Open XML API. The easiest way is to export the Excel Buffer table (table 370), add the following procedure, and then reimport and compile the object.

    PROCEDURE GetWorkbookWriter@21(VAR WrkBookWriter@1000 : DotNet "'Microsoft.Dynamics.Nav.OpenXml, Version=, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.Microsoft.Dynamics.Nav.OpenXml.Spreadsheet.WorkbookWriter");
      WrkBookWriter := XlWrkBkWriter;
    Using the Decorator Parameter to Provide Additional Formatting

    Due to a limitation in C/AL, you cannot use generics as part of the C/AL DotNet object type. Therefore, you need to create a helper class that can handle the places where the Open XML SDK only uses generics. This helps avoid using unnecessary, complex looping of collections in C/AL code. Often tasks like this are much easier to implement in a DotNet helper class. An example of this is described below where I have a simple method that can append an Open XML element to a collection.
    To create the OpenXmlHelper class, do the following steps:
    1. Open Visual Studio.
    2. Create new C# class library project called OpenXmlHelper.
    3. Ensure that signing is enabled on the project, as the assembly needs to have a strong name key.
    4. Reference the DocumentFormat.OpenXml.dll from the Open XML SDK. The default installation is typically in the following location: C:\Program Files (x86)\Open XML SDK\V2.0\lib\DocumentFormat.OpenXml.dll.
    5. Rename Class1 to OpenXmlHelper.
    6. Add a using statement DocumentFormat.OpenXml to the file.
    7. Create the method: AppendChild by copying the following code.

    public static bool AppendChild(OpenXmlElement parent, OpenXmlElement child)
      if (parent.HasChildren && parent.Contains(child))
        return false;
      return true;

    8. Compile and place the OpenXmlHelper in an OpenXML Add-ins folder for the client and server. The default installation will point to the following locations: C:\Program Files (x86)\Microsoft Dynamics NAV\70\RoleTailored Client\Add-ins\OpenXML and C:\Program Files\Microsoft Dynamics NAV\70\Service\Add-ins\OpenXML.
    9. Import the ExcelBuffer Extensibility codeunit (attached) and compile. This codeunit opens up to add decorations as well as download the file to the client.

    The first part of the codeunit is the same as in Excel buffer that we used in the blog post Excel Buffer Using Open XML Instead of Excel Automation - (Part 1 of 2), but I have added the workbookwriter. In addition, instead of opening the file in Excel I use the FileMangement codeunit functionality to download the file from the server to the client, to show a different way of working with the generated file.
    // Create new method on ExcelBuffer table to expose the WorkbookWriter.
    // Call method that adds new font with a set of new characters.
    // Add a new cell Formula using the new fontdecorator.

    // Download the Excel file from the server to client.
    FileClientName := 'C:\Temp\ClientFile.xlsx';
    In the codeunit, there is also an example of how the AddingFont method can be used:

    // Create new Font, cloned from existing Font.
    Font := WrkbookWriter.FirstWorksheet.DefaultCellDecorator.Font.CloneNode(TRUE);
    // Create a new Font Color.
    FontColor := FontColor.Color;
    FontColor.Rgb := FontHexValue.HexBinaryValue('0000EEEE');
    Font.Color := FontColor;
    // Create a new Font Size.
    FontSize := FontSize.FontSize;
    FontSize.Val := FontSizeDoubleValue.DoubleValue(30);
    Font.FontSize := FontSize;
    // Get the collection of Fonts that already exists.
    Fonts := WrkbookWriter.Workbook.WorkbookPart.WorkbookStylesPart.Stylesheet.Fonts;
    // Add the new font to the collection of fonts and increase the number of fonts by one.
    IF OpenXmlHelper.AppendChild(Fonts,Font) THEN
    Fonts.Count.Value := Fonts.Count.Value + 1;
    // Add the Font to a decorator.
    Decorator := WrkbookWriter.FirstWorksheet.DefaultCellDecorator;
    Decorator.Font := Font;
    Running the codeunit will save the file on the client in the following file: C:\temp\clientfile.xlsx. In the spreadsheet, the number is now formatted to a larger font and color.

    From here, it's only up to your own imagination and needs for how you want to extend with more methods, and so forth.

    The capability of the Open XML SDK API is your only limitation.

    -Lars-Bo Christensen

  • Microsoft Dynamics NAV Team Blog

    Alternative Ways of Starting the Microsoft Dynamics NAV 2013 C/AL Debugger


    The other day a partner asked me about how to start the Microsoft Dynamics NAV 2013 C/AL Debugger for another NAV Server instance than the one used by C/SIDE.

    The explanation is below, but first, let’s see how C/SIDE finds the NAV Server instance used for running and debugging.

    The Microsoft Dynamics NAV Server Instance used by C/SIDE for Run and Debug 

    When you Run an application object from the C/SIDE Object designer, C/SIDE is starting a Dynamics NAV Windows client with the application url constructed from:

    • NAV Server as defined in File/Database/Information Server Instance field (see Database Information)
    • Current selected Company in C/SIDE
    • Type and id of the application object you run

    Read more here: Starting the Windows Client at the Command Prompt, the URL parameter.

    This could be an example:

    Microsoft.Dynamics.Nav.Client.exe "DynamicsNAV://localhost:7046/dynamicsnav70/CRONUS International Ltd./RunPage?Page=42"

    The rest of the client configurations are taken from the default ClientUserSettings.config, which is typically found at %APPDATA%\Microsoft\Microsoft Dynamics NAV\70.

    The same principle is used when you start the debugger from within C/SIDE Tools/Debugger/Debug Session.

    All this works quite well in more confined setups where you can address different databases and NAV Servers if you are using the same authentication type for them all, but if you want to address different NAV Servers having for example different authentication types, you have to find other solutions – feel free to be inspired by how to.

    Define Alternative Ways of Starting the Microsoft Dynamics NAV 2013 C/AL Debugger

    Now let’s say you have made a dedicated NAV Test environment with:

    • a separate database
    • dedicated NAV Server(s)
    • another client authentication type than you are using in your Development environment
    • no development environment installed

    … and you want to debug some issue that appears in the Test environment from your development environment machine.

    The trick is to create a Dynamics NAV Windows client shortcuts on your development machine that specifies:

    Ending up in a combined command line description:

    Microsoft.Dynamics.Nav.Client.exe -settings:file  "DynamicsNAV://< Server>[:<port]>/<ServerInstance>/<Company>/debug"

    Or the short-form (all defaults to the .config settings):

    Microsoft.Dynamics.Nav.Client.exe -settings:file  "DynamicsNAV://///debug"

    Adding up to shortcut examples like this:

    Microsoft.Dynamics.Nav.Client.exe -settings:"%USERPROFILE%\Desktop\TestEnv.config" "DynamicsNAV://///debug"

    Microsoft.Dynamics.Nav.Client.exe -settings:"%USERPROFILE%\Desktop\ProdEnv.config" "DynamicsNAV://///debug"

    Or with full paths like this:

    "%ProgramFiles(x86)%\Microsoft Dynamics NAV\70\RoleTailored Client\Microsoft.Dynamics.Nav.Client.exe" -settings:"%USERPROFILE%\Desktop\TestEnv.config" "DynamicsNAV://///debug"


    The Windows client specifically understands the “special” /debug url, which is currently a “shorthand” for starting the client with:

    • -debug (that sets the CURRENTEXECUTIONMODE to Debug and groups the debugger clients separately in the taskbar under the debugger icon)
    • -shownavigationpage:0  (i.e. not showing a role center)
    • And do what’s defined in ApplicationManagement (Codeunit 1). LaunchDebugger (Trigger 60)
      • Typically, running the “Session List” (Page 9506)

    The debugger can be started this way because it is working similar to any Microsoft Dynamics NAV solution.

    -Hans Kierulff

  • Microsoft Dynamics NAV Team Blog

    Using ClickOnce to Deploy the Microsoft Dynamics NAV 2013 RoleTailored Client for Windows


    In Microsoft Dynamics NAV 2009, the RoleTailored client could only be deployed using a standard Windows Installer (.msi). While this is a common scenario, .msi-based deployment requires the partner to do customer visits, do remote logons, or educate the customer’s IT administration to install the Windows client and any additional add-ins, change any client-side settings, or upgrade the client (manually or through group policy).

    This approach does not scale well in on-premise solutions that have a lot of users or in volume Azure or syndication scenarios when the Windows client is needed rather than a Web client for deeper functionality or better performance.

    Thus, in Microsoft Dynamics NAV 2013 a new way of deploying the Microsoft Dynamics NAV Windows client, using ClickOnce, has been introduced, providing benefits such as:

    • Creating zero end-user configuration deployments for the Microsoft Dynamics NAV Windows client, for example, pushing out a predefined ClientUserSettings.config file directly, as well as pushing out changes to this.
    • Updating the client without the user having to do anything but run the usual client.
    • Co-deploying any partner created additional add-in assemblies.
    • Side-by-side installation, for example, test and production clients, including different versions.

    These benefits allow for a more streamlined and centralized deployment of the Microsoft Dynamics NAV Windows client in high volume scenarios such as Azure.

    In this blog post we’ll dig a bit into ClickOnce, the end-user and partner experiences, and the benefits and current limitations of deploying the Microsoft Dynamics NAV 2013 Windows client using ClickOnce. In other blog posts about implementation, we’ll dive into the technical details around how to actually create a ClickOnce application for the MIcrosoft Dynamics NAV 2013 Windows client.

    ClickOnce Overview

    ClickOnce is a standard deployment technology — starting with .NET Framework 2.0 — that allows you to create self-updating Windows-based applications that can be installed from a Web server or network file share and run with minimal user interaction. It addresses three major issues in deployment:

    • Ability to detect and update to a newer version
    • Running as a self-contained application, allowing side-by-side installations
    • Not requiring administrative permissions to install

    In use, ClickOnce is basically a configurable file copy from a repository to the client machine that, at a high level, consists of three parts:

    • A folder structure with application files, in our case, the files that make up the Microsoft Dynamics NAV 2013 Windows client. Different versions are put in different root application folders. All versions are then put on a file share or web/cloud storage. 
    • An xml application manifest that describes files to install for a given application version, the main file to execute, and so forth. There is one manifest per version of the application, located in the application root folder.
    • An xml deployment manifest that describes which version to install along with application metadata, for example, name, icon, upgrade policy, and so forth.

    With the above created, the application can be installed by the end user by running the deployment manifest. Typically, this is accomplished by hosting the above files and providing a link to the application and deployment manifest to the end user, for example, on a landing page or in an email message, after the user has signed up for a solution and required a client to be installed.

    For more information on ClickOnce, see ClickOnce Security and Deployment in the MSDN Library.

    The End-User Experience

    To install Microsoft Dynamics NAV 2013 using ClickOnce deployment, the end user will choose the link to the application, the deployment manifest, that is provided in a landing page or email message. The link may point to a file share or a website. Using the .NET Framework on the client machine, the ClickOnce runtime runs the linked deployment manifest and opens with a confirmation dialog box, such as the dialog box shown in the following illustration.

    If the user chooses the Install button, ClickOnce downloads all the necessary files to a local folder on his computer. This folder is a per user folder, located in the ClickOnce generic application cache for the user: <user>\AppData\Local app folder), not in the standard Program Files folder.

    When the installation is complete, ClickOnce installs a program shortcut on the Start menu and starts the Microsoft Dynamics NAV 2013 Windows client, using the connection settings provided as part of the installation. No configuration is needed during or after installation as this is set up as part of the ClickOnce Windows client application.

    The next time that the end user wants to run the Windows client, he can either select the link again, or he can select the shortcut on the Start menu. In either case, ClickOnce will check if there is a newer version available, which the user will have the option to install.

    The Partner Experience

    To create a ClickOnce deployment of a Microsoft Dynamics NAV 2013 client with settings, add-ins, and so forth, the typical process for a partner is to:

    1. Create a base Microsoft Dynamics NAV Windows client installation, that is, actually install the client using the .msi installer, with needed languages, and so forth.
    2. Add any additional partner developed add-in assemblies.
    3. Modify the clientusersettings.config file to fit the end-users' case.
    4. Build and sign application and deployment manifests.
    5. Test deployment.
    6. Upload all files to a repository (web, hosted storage or file share).
    7. Create a landing page, email message, or similar and provide a link to a customer’s users so that they can just click and run the deployment manifest. ClickOnce takes care of the rest.

    The above process will typically take 30-60 minutes to set up the first time. Repeating this process on changes in low fluctuating on-premise installations makes sense. In the case where the same vertical solution and Windows client setup is to be used by multiple different customers, the clientusersettings.config file will be different, it is better to streamline the above process by creating a script for creating the basic customer-agnostic client installation, and then inject clientusersettings and recompile and sign on the fly.

    As mentioned, in other blog entries we’ll dig into the technical steps on how to set up a ClickOnce deployment. See also the Help topic Deploying Microsoft Dynamics NAV Using ClickOnce in the MSDN Library.

    Benefits of a ClickOnce Deployment of the Microsoft Dynamics NAV 2013 Windows Client

    ClickOnce deployment resembles traditional Windows Installer-based deployment. In addition to .msi-based deployment functionality, ClickOnce provides the following benefits:

    • Seamless upgrade: End users will not notice when the Microsoft Dynamics NAV RoleTailored client is upgraded. There is also very minimal user interaction, such as applying a hotfix.
    • Centralized configuration: The configuration file that is installed with the Windows client contains several settings that must be adjusted for the specific installation, such as the server address and the authentication type to use. By using ClickOnce, you can control the ClientUserSettings.config file centrally and push it out to the client computers. Configuration is not required on the individual client computer. If you make a mistake, or if the settings have to change, for example, because you want to move the Microsoft Dynamics NAV Server to a different computer, then you can create an updated configuration file and push it out to users by using the upgrade capability.
    • Co-deploy of bundled add-ins: By using ClickOnce, you can easily deploy your own assemblies and third-party add-in assemblies. You do not have to copy add-in files after the installation.
    • Side-by-side installations: You cannot have two .msi-based Microsoft Dynamics NAV Windows clients on the same computer. A ClickOnce-deployed Windows client does not interfere with other ClickOnce-deployed Windows clients. This makes it easy to run ClickOnce against different servers from the same computer. For example, you could have two Windows client installations, one for a production server and one for a test server. This also means that you can run different versions of the Windows client side-by-side, which is not possible with Windows Installer
    • Multi-languages deployed: Multiple languages can be included in the same installer. By using ClickOnce, you can decide which files, such as language resource files and Help files, that you want to include in the deployment. End users will not be aware of the difference between installing an EN-US-only version and a version with different languages.
    • Non-administrator installation: By using ClickOnce, a regular Windows user can install the Windows client; administrator permissions are not required. Note, however, that the prerequisites for installation require administrator permissions. These have to be installed one time on the computer, after which any user can install and upgrade the Windows client.

    The result is that end users can install the Windows client without relying on partners or super users to do it for them.

    Using Windows Installer vs. Using ClickOnce

    A ClickOnce-deployed Windows client has some limitations compared to the Windows client installed by the Windows Installer. These limitations are not a technical shortcoming of the ClickOnce framework, but a scoping of the provided support in Microsoft Dynamics NAV 2013, based on what we expect the typical usage of ClickOnce for deployment to be. The following are the limitations:

    • Command-line arguments — ClickOnce installed on the Microsoft Dynamics NAV client cannot be run with custom command-line arguments. For example, this affects the following scenarios:
      • An end user cannot specify the Home page.
      • An end user cannot specify a profile. He can only use his default profile.
      • An end user cannot disable personalization. An administrator can disable personalization on a profile.
      • An administrator cannot configure profiles. He should use the .msi-installed client for this task.
      • An end user cannot run in full-screen mode.
      • An end user cannot disable the navigation pane.
    • Hyperlinks — The protocol handler dynamicsnav:// is not registered during ClickOnce installation, which means that the Microsoft Dynamics NAV client cannot be activated by choosing a hyperlink. This could impact the following scenarios:
      • End users cannot send each other links to specific pages.
      • An end user cannot use the link on a OneNote page.
      • An end user cannot use the link on a report.
    • External components calling the Microsoft Dynamics NAV Windows client — A ClickOnce-installed Windows client will be installed in a randomly generated folder, and when it is upgraded to a new version, it will be installed in a new randomly generated folder. This means that external components will not be able to detect where the Windows client executable is located. This could impact the following scenarios:
      • An end user can send a list page to Excel, but cannot refresh data from the Excel application (because the Excel integration relies on locating the client to get to server through the client's ClientUserSettings.config file).
      • Third-party applications cannot start the Windows client.

    If any of these limitations is an issue in the given deployment scenario, and the benefits of the ClickOnce deployment scenario do not outweigh this, the guideline is to use the standard Windows Installer-based Microsoft Dynamics NAV Windows client deployment instead.

    The following table provides a summary of the value proposition for Windows Installer and ClickOnce:

    Coverage Windows Installer ClickOnce
    Stream deploy over the web No Yes
    Upgrade No Yes
    Installation location Program Files Per user, per app cache
    Install prerequisites Yes Check only
    Access to Windows registry Yes No
    External integration to client.exe (for example, app links using protocol handler, or refresh in Excel add-in) Yes No
    Client.exe command line parameter support Yes No
    Co-deploy/bundle additional add-in assemblies No Yes
    Side-by-side (test and production versions) No Yes
    Centralized administration/co-deploy ClientUserSettings.config No Yes
    Deploy multiple client languages in one go No Yes

     -Peter Borring Sørensen

  • Microsoft Dynamics NAV Team Blog

    Timeline Visualization in Microsoft Dynamics NAV 2013


    Microsoft Dynamics NAV 2013 ships with a fully integrated Timeline Visualization tool. It provides the user with a visual projection of future supply and enables the user to make modifications on the fly.

    The Timeline helps you understand and optimize your inventory profile with its visual projection of future supply, demand, and planning data.

    Who Will Benefit from the Timeline?

    Well, the initial idea with the Timeline was to create a tool that would bring clarity to specific supply and demand situations. It was intended to help the planner analyze the planning output and quickly make adjustments. However, we quickly realized that this was a great tool for other types of users, including sales people, purchasers, and so forth.

    Okay, So What Does It Do?

    Basically, the Timeline Visualization displays a visual projection of the future inventory level for a specific item or SKU, based on supply from Purchase, Prod. Output, and other areas, and demand from Sale, Prod. Components, Forecast, and so forth. On top of this, you can choose to include planning suggestions – giving you a chance to see and modify the plan prior to executing on it. All of this takes place outside the Requisition Worksheet, so you can play with the quantities and dates until you are satisfied and then save the changes to the worksheet.

    Timeline Usage Examples

    • Production Planner
      • Analyzes the planning setup and cost of inventory.
      • Understands the planning suggestions.
      • Modifies and optimizes the supply plan for special situations.
    • Order Processor
      • Uses the fast overview of what can be sold and when.
      • Checks normal order size and frequency prior to giving a discount.
    • Purchasing Agent
      • Manually creates planning suggestions based on inventory level.
    • Warehouse Manager
      • Monitors the expected warehouse load for a specific item.

    -Christian Rytt

  • Microsoft Dynamics NAV Team Blog

    Reports Enhanced in Microsoft Dynamics NAV 2013


    Reports join different views of data in one place. In Microsoft Dynamics NAV 2013, reports are delivered in RDLC 2008 format, supported by Visual Studio 2010. The RDLC 2008 format and Visual Studio 2010 offers Microsoft Dynamics NAV reports much more richness, so that the reports can be compelling, more readable, and more easily understood.

    Since RDLC 2005, which was used by Microsoft Dynamics NAV 2009, you can get a better overview of the presented data, such as by grouping data through coloring, or by visualizing data through charting, for example. The format also makes it possible to interact dynamically with reports on screen so that you have a better experience searching for data. For example, you can link from one report to another report, and you can even link to a page. In this release, we have used these features in some of our reports.

    The following sections provide a quick overview of the main changes to reports and where you can find examples of how they are used in Microsoft Dynamics NAV 2013.

    Charts in Reports

    Charts can be used so that customers get the most out of their data. At a minimum, charts should be readable, be understandable, and identify actionable tasks. They should help users find items of interest or outliers in business data based on objectives or measures.

    RDLC 2008 supports different types of charts. In Microsoft Dynamics NAV 2013, reports use the following chart types:

    • Bar chart
    • Pie chart
    • Column

    Charts are used in the following reports in the W1 version of Microsoft Dynamics NAV 2013:

    • Report 111: Customer Top 10 List
    • Report 915: Assemble to Order - Sales
    • Report 5872: BOM Cost Share Distribution

    Grouping Data with Color

    You can use shades of colors to group data visually. This improves the readability of the report by emphasizing similar kinds of data. This type of coloring can improve reports that contain lists, such as the Customer Detailed Aging report, where
    we have applied a color to group the lines for each customer. Coloring is implemented in several reports in Microsoft Dynamics NAV 2013, such as:

    • Report 106: Customer Detailed Aging
    • Report 105: Customer – Summary Aging
    • Report 915: Assemble to Order – Sales

    Drill-Through Reports and Hyperlinks

    When a report gives you the ability to drill through to the underlying data, you are more likely to find the right data. You can create a report that enables a user to go from the high-level overview to a detailed view with a single click. You can also provide hyperlinks that open another report or a page. Situations where it is useful to drill down into specific information include navigation from a customer to the customer's phone number or from a total amount to the underlying transactions.

    For example, in the Inventory Valuation report, you can choose the item number for an inventory item, and this opens the Inventory Valuation – Cost Specification report for that item.

    Hyperlinks are implemented in the following reports:

    • Report 106: Customer Detailed Aging
    • Report 1001: Inventory Valuation

    Interactive Sorting

    It’s easier to get the view that you want if you can change the order of rows of data, based on the sort order of the specified column. We have enabled sorting on-the-fly in some reports, so that you can easily visualize the right priorities. In most cases, the sorting has been enabled on name, number, and amount fields. The sorting that is applied during preview of the report is what will also be used during printing.

    Sorting is enabled in the following reports:

    • Report 111 Customer Top 10 List
    • Report 106 Customer Detailed Aging
    • Report 105 Customer - Summary Aging
    • Report 5872 BOM Cost Share Distribution

    You can find technical information on the Microsoft Developer Network (MSDN):

    -Coen Overgaag

  • Microsoft Dynamics NAV Team Blog

    How to start any object in Role Tailored Client


    Sometimes we need to run some specific object (page, report, codeunit or xmlport) on Microsoft Dynamics NAV 2013 Role Tailored Client. Let say we want to test report received from customer on our Cronus demo db.

    The easiest way is of course to run report directly from Microsoft Dynamics NAV 2013 Development Environment Object Designer. However, if we have few client versions on our pc then this way could be impossible

    Then we can add run object as action in initial role center.

    Again, I need to create action for every new object I want to test – unproductive.

    Faster way is to add new menu shortcut in menu suite 1010, then it populates to RTC menu.

    Nevertheless, this action need to be repeated for every object I want to test...

    Finally, I have chosen another way:

    1. I created new page which populates all runnable objects from Object table and added function to start “current record” object. (page 50100 attached)
    2. I added shortcut to this page in Menu suite 1010.

    Now I have:

    1. This page is searchable in RTC search menu – I can open it fast from any place in RTC.
    2. I can choose any object from object list and run it by double click on it or use action Run.


    Now whatever I import to object designer I can it run directly from RTC.
    Moreover, I can run even objects from standard application if I do not know how to find it in menus :)

    These postings are provided "AS IS" with no warranties and confer no rights. You assume all risk for your use.

    Gedas Busniauskas
    Microsoft Customer Service and Support (CSS) EMEA

  • Microsoft Dynamics NAV Team Blog

    Microsoft Dynamics NAV 2013 Now Available


    I’m pleased to announce that Microsoft Dynamics NAV 2013 is now available!

    With deep investments in new capabilities and improvements across all areas of the product, this is the most significant release yet in the history of Microsoft Dynamics NAV. The feedback from our early adopter customers and partners has been really positive, and we couldn’t be more excited about getting this product out into the market and putting it to work in your businesses.

    With this release, we’ve focused on building what we’ve come to call “a business solution from Microsoft.” By this we mean a solution that combines comprehensive ERP capabilities for small and midsize businesses together with a simple, intuitive user experience, insightful business intelligence and reporting tools and deep ties into Microsoft’s portfolio of products. The result is an ERP solution that’s easy to use, works seamlessly with your existing productivity tools, and is quick and cost-effective to implement.

    We’ve seen some great outcomes from customers already up and running with the new product. For example, Flemming Warrer Jensen, Managing Director of Dixie, a fashion company in Denmark, shared that “With Microsoft Dynamics NAV 2013 all in all, our inventory management has become 20% more effective. Microsoft Dynamics NAV 2013 has been optimal in helping us to streamline processes– and using the time gained on customers.

    We’ve also done a lot of work with Microsoft Dynamics NAV to give you the power of choice - choice about which client, device or browser your people use to connect with the system. And choice about where and how you deploy the solution—whether that is on-premises or in the cloud.

    For our partners that build industry and custom solutions on top of Microsoft Dynamics NAV 2013, we’ve made a big investment in improving the “hostability” of the solution. What does this mean in practice? It means you’re up and running faster because partners can deploy and manage Microsoft Dynamics NAV 2013 in a more streamlined way. It also means that performance is significantly faster. Some of our hosting partners such as NovaVision, Pleasant Valley Business Solutions, and Technology Management are already experiencing the benefits of this work as they offer a hosted version of the solution to our customers today.

    Last but not least, we’ve localized Microsoft Dynamics NAV 2013 for 15 markets: Australia, Canada, Denmark, France, Germany, India, Italy, Mexico, Netherlands, New Zealand, Spain, Sweden, United Kingdom, United States, and International English. Other localized versions are on the way, but we don’t have dates to share yet.

    Anyway, that’s just an overview of what’s new. I hope that you’re as excited as our early customers and partners are about the new product. Check out the Microsoft Dynamics NAV 2013 product site here for more information.


    Paul White

    Senior Director – ERP Product Management

  • Microsoft Dynamics NAV Team Blog

    Supply Planning Changes in Microsoft Dynamics NAV 2013


    The Microsoft Dynamics NAV 2013 release includes a set of new supply planning options, aimed at the following goals:

    • Optimize supply handling cost by minimizing order changes.
    • Provide a more precise setup for optimizing the inventory profile.
    • Reduce the time spent on processing and changing the planning result.

    So, now you might start to wonder: Is this relevant to me? A fair question, which will probably also be raised in many upgrade, sales, and implementation situations.

    The short answer: If you are working with either the Requisition or Planning Worksheet, then this change is relevant.

    So What Changed?

    On the Item card and SKU card on the Planning FastTab, the Reorder Cycle field has been removed and split into four new fields, making it possible to have different values for:

    1. Lot Accumulation Period: Demands that are due within the reorder cycle are grouped together to make a joint supply order, used by Lot-for-Lot.
    2. Rescheduling Period: Used to determine if the action message should reschedule an existing order or cancel it and create a new order, used by Lot-for-Lot.
    3. Time Bucket: Period used by the reorder point to define how often inventory level is checked.
    4. Dampener Period: In Microsoft Dynamics NAV 2009, the dampener period applies to an item and can never be higher than the value in the item's Reorder Cycle field.

    On the quantity side, you will also find a few new fields:

    • Dampener Quantity: Specifies a dampener quantity to block insignificant change suggestions for an existing supply if the quantity by which the supply would change is lower than the dampener quantity.
    • Overflow Level: Specifies a quantity by which you allow projected inventory to exceed the reorder point before the system suggest decreasing existing supply orders. In most scenarios this field should be left blank.

    Note: The reorder point is now triggered when inventory level is equal to or below. In earlier versions, it used to be only below.

    This was done to align with manufacturing standards and to address the situation when the safety stock quantity and reorder point had the same value.

    During upgrade from earlier versions with low repoint values, you may need to update the Reorder Point to reflect this change. For example, if you have a Reorder Point of five pieces (with a rounding factor of one) in Microsoft Dynamics NAV 2009, this would trigger a supply when inventory dropped below five pieces, to four pieces. In Microsoft Dynamics NAV 2013, the Reorder Point would have to be four to get the same planning result.

    With the new layout on the Planning FastTab, the planning fields are now grouped based on when they are used. So if you use the Lot-for-Lot Reordering Policy, you should focus on the Lot-for-Lot Parameters and if you use Fixed Reorder Qty. or Maximum Qty. you should focus on the Reorder-Point Parameters.

    When you are done with the setup and turn to Calculate Regenerative Planning from either the Requisition or Planning Worksheet you should pay attention to a new option to respect planning parameters:


    When you select this option, the calculation will respect the planning parameters even when Microsoft Dynamics NAV has to make an exception order to avoid having the inventory level dropbelow the safety stock level. If you do not select this check box, the calculation will just create a suggestion to cover the safety stock level – regardless of most planning parameters, as in Microsoft Dynamics NAV 2009.

    Are you spending too much time analyzing and understanding the planning suggestions?

    The new FactBoxes on the Requisition and Planning Worksheet make it easier to get a full overview, by displaying both item details for Replenishment, Planning, and Warehouse as well as details for the Untracked Planning Elements for each line in the worksheet. So make sure you display the FactBoxes relevant for you.

    If you want more information on Supply Planning in Microsoft Dynamics NAV 2013, one place I suggest you turn is to the Readiness material on Microsoft Dynamics PartnerSource site. In general, you should also take a look at the product Help, in the box and on Microsoft Developer Network (MSDN), which got quite an overhaul and now includes content from relevant whitepapers.

    -Christian Rytt

  • Microsoft Dynamics NAV Team Blog

    Planning and Execution in Jobs and Services in Microsoft Dynamics NAV 2013


    I think everyone agrees that keeping track of project performance is essential in all project-based delivery scenarios. It should be fairly easy to see if a project is on track and that everything that should be invoiced is invoiced.

    Project managers need to answer questions such as:

    • What are the costs required to complete this job or project?
    • Are all costs that should be invoiced to the customer, invoiced or planned to be invoiced?
    • Are the estimated resource requirements accurate for what we have completed so far?

    Job task lines and job statistics in the Project Management area of previous versions of Microsoft Dynamics NAV gave a good overview of total amounts for planning, actuals, and invoicing, but it was cumbersome to tie usage to those.

    The Apply Usage Link, a new feature in Microsoft Dynamics NAV 2013, enforces this link. The main goal in Microsoft Dynamics NAV 2013 is to strengthen the link between the project plan and the actual work done. That enables Microsoft Dynamics NAV to go further in calculating estimate at completion, better integrate to the planning engine, and enable partial invoicing.

    Basically, you specify whether usage entered by, for example, a project manager or order processor, is linked to the project plan. This enables you to track the quantities and amounts of remaining work needed to complete a project, which easily brings you to estimate at completion numbers.

    With the usage link, Microsoft Dynamics NAV 2013 provides you with an easy way to review and record usage on various parts of your project, which is automatically updated as you modify information about actual work done.

    It’s important to note that previously, you would have used various tools and manually updated quantities to invoice on sales invoices if you wanted to invoice something different than what was planned for particular project task. Now, when you enable the usage link, you can really focus on planning and executing your project, rather than on the way your ERP system is working.

    Using new configuration capabilities of the Microsoft Dynamics NAV RoleTailored client, you can easily set up different views on a project plan (tasks) that will fit each role, for example, that of project manager for a planning view, that will fit project team member.

    In earlier versions, a user who entered purchases related to a project, or registered time or usage of inventory items, needed to know how the contract was constructed in order to match usage to particular planned project task. Now, there’s an algorithm that will do the matching of usage to project plan for you, or create new tasks for unplanned work if it doesn’t successfully identify project plan tasks to which to match usage. Of course, Microsoft Dynamics NAV 2013 flexibility still allows you to set this link manually.

    As I mentioned before, with the link between usage and the project plan, you are always able to see an up-to-date estimate at completion and track your project budget variance. This also enables correct invoicing, since it tracks planned work versus done work.

    Since Microsoft Dynamics NAV 2013 is an integrated solution, you can expect it to be able to use project plan as a demand source when you are planning your requisitions. Microsoft Dynamics NAV 2013 tracks the outstanding quantities that need to be supplied or processed based on the project plan.

    This means it knows how many items you used on the project versus your requirements. Demand overview allows you to see whether an item you need to finish particular task on the project is in stock, and if not, when it will be. In addition, if an item is available to reserve, you can reserve it, to make sure it is available for your use.

    -Ivan Koletic

Page 1 of 2 (24 items) 12