Microsoft Dynamics NAV is a complete enterprise resource planning (ERP) software solution for mid-sized organizations that is fast to implement, easy to configure, and simple to use. Right from the start, simplicity has guided—and continues to guide—innovations in product design, development, implementation, and usability.

This document details new features and functionality that are available in Microsoft Dynamics NAV 2015 and have been added to the product since Microsoft Dynamics NAV 2013 R2. It also describes features that have been deprecated since Microsoft Dynamics NAV 2013 R2. For information about Microsoft Dynamics NAV 2013 R2, see What's New: Developer and IT Pro Changes for Microsoft Dynamics NAV 2013 R2 in the MSDN Library.

What's New for Developers, Administrators, and IT Pros in Microsoft Dynamics NAV 2015

Microsoft Dynamics NAV 2015 introduces changes to the upgrade, deployment, and development experiences compared to Microsoft Dynamics NAV 2013 R2.

Microsoft Dynamics NAV Tablet Client

Microsoft Dynamics NAV 2015 introduces a new interface called Microsoft Dynamics NAV Tablet client. The Microsoft Dynamics NAV Tablet client allows users in small and medium sized businesses to access data from a tablet. Developing for Microsoft Dynamics NAV Tablet client is very similar to developing for the Microsoft Dynamics NAV Web client using the Microsoft Dynamics NAV Development Environment. For more information, see Developing for the Microsoft Dynamics NAV Tablet Client.

Microsoft Dynamics NAV for Tablets

Along with Microsoft Dynamics NAV Tablet client comes the Dynamics NAV app, which is available in the Windows Store, on Google Play, and in the Apple Store. For more information, see Dynamics NAV for modern Windows, Dynamics NAV for iPad, and Dynamics NAV for Android.

Small Business - Tablet Profile

In Microsoft Dynamics NAV 2015, there is a new profile, the Small Business - Tablet profile. This is based on the same Role Center (9022) as the Small Business profile, but is designed for the form factor limitations related to tablets. This profile is ideal for showcasing the tablet experience using Dynamics NAV for iPad, Dynamics NAV for modern Windows, or Dynamics NAV for Android. The new profile is also ideal for developers who may use this as an example when designing for tablets. For more information, see Getting Started Developing for the Microsoft Dynamics NAV Tablet Client.

Opening Microsoft Dynamics NAV Web client and Microsoft Dynamics NAV Tablet client with Profile ID

In Microsoft Dynamics NAV you can now open the Microsoft Dynamics NAV Web client and Microsoft Dynamics NAV Tablet client with a specified profile ID. For more information, see How to: Open the Microsoft Dynamics NAV Web Client and How to: Open the Microsoft Dynamics NAV Tablet Client from a Browser.

Encryption

Several encryption functions have been added to enable developers to add security for encrypting and decrypting data and key management. For more information, see Cryptography Overview.

Compiling Objects

Performance when compiling objects in Microsoft Dynamics NAV Development Environment has been improved.

Data Upgrade

Microsoft Dynamics NAV 2015 introduces a new way of running the data upgrade logic that migrates data from the old table structure of an earlier Microsoft Dynamics NAV version to the new table structure of the current version.

The data upgrade process is now prepared and run with the help of new type of codeunit called the upgrade codeunit. The data upgrade process has been enhanced significantly to optimize the performance and provide developers with a superior tool for testing, automating, tracking progress and troubleshooting the data upgrade code. The new data upgrade approach has the following benefits and features:

  • Simplifies the upgrade environment because all steps are performed by the latest version of the Microsoft Dynamics NAV.
  • Increases the data upgrade performance because it is possible to run upgrade functions of upgrade codeunits in parallel (at the same time) and across companies.
  • Reduces the amount of code that is required to handle the data upgrade because several operations are now executed automatically by Microsoft Dynamics NAV Server.
  • Minimizes the number of manual actions that must be performed during the data upgrade, which makes the data upgrade process less error-prone.

  • Uses familiar upgrade toolkit design concepts, such as upgrade tables and upgrade functions.
  • Includes end-to-end sample Windows PowerShell scripts that perform a complete data upgrade.

For more information, see Upgrading Data and Upgrade Codeunits.

Database Schema Synchronization

Microsoft Dynamics NAV 2015 introduces several improvements to the table schema synchronization process that improve performance and make it more explicit and controllable. The improvements give you with the flexibility to decide when and how the table changes are synchronized with corresponding tables in the SQL Server.

In Microsoft Dynamics NAV 2015, changes to the database schema are no longer synchronized automatically to the database when a client connects to a Microsoft Dynamics NAV Server instance. Instead, you specify when to synchronize schema changes in the development environment or the Microsoft Dynamics NAV 2015 Administration Shell. For example, when you change a table object and compile the table, you can choose to synchronize the change to the database immediately or later. In a production environment, you apply changes to the database schema by running the Sync-NAVTenantWindows PowerShell cmdlet with the Mode parameter set to the relevant synchronization mode.

The schema synchronization design provides the following features and benefits:

  • On-demand schema synchronization and monitoring
    As a developer or system administrator, from the development environment or Microsoft Dynamics NAV 2015 Administration Shell, you control when to perform the schema synchronization and how to synchronize table changes. This enables you to plan and schedule the schema synchronization on a case-by-case basis. Additionally, you can monitor the progress and state of the business (tenant) database at any time.
  • Non-blocking and increased productivity
    Schema synchronization has become more granular. You perform schema synchronization for a single table or for all tables at the same time. When one table is being synchronized, you are no longer blocked from making changes to other tables.
  • Capability to provide additional instructions in upgrade codeunits
    By using upgrade codeunits, you can provide instruction for the schema synchronization to perform additional tasks, such as automatically moving or copying data into upgrade tables, validating the table changes before applying them, or forcefully applying them when it is required.

For more information, see Synchronizing Table Schemas.

Automatic Deployment of Microsoft .NET Framework Interoperability and Control Add-in Assemblies

Microsoft Dynamics NAV 2015 makes it easier for the system administrators to deploy client-side assemblies for .NET Framework interoperability and client control add-ins on computers that are running the Microsoft Dynamics NAV Windows client or Microsoft Dynamics NAV Development Environment. You can now install the assemblies in the Add-ins folder on the computer that is running Microsoft Dynamics NAV Server. By default, this is the C:\Program Files\Microsoft Dynamics NAV\80\Service\Add-ins folder. When an operation from the client requires an assembly, Microsoft Dynamics NAV Server automatically deploys the assembly to a temporary folder on the client computer.

For example, if Microsoft Dynamics NAV Windows client opens a page that contains a control add-in, Microsoft Dynamics NAV Server will find the control add-in assembly by name in the Add-ins folder. Then, it deploys the assembly to the client computer in the %TEMP%\Microsoft Dynamics NAV\Add-Ins folder of the user who is running the client. Subsequently, the deployed assembly will be used whenever the page is opened.

Similarly, if the development environment requires a control add-in, for example, when you compile an object, then the control add-in assembly will be deployed by the Microsoft Dynamics NAV Server to the local temporary folder for the current user on the computer that is running the development environment.

Note
To be deployed, an assembly must comply with the following Microsoft Dynamics NAV Server configuration settings: Chunk Size, Max Upload Size, and Prohibited File Types.

If a .NET Framework interoperability or control add-in assembly is updated and its version number changes, Microsoft Dynamics NAV Server will deploy the updated assembly to the client computer the next time that the client requests the assembly. The updated assembly is put in a subfolder of the %TEMP%\Microsoft Dynamics NAV\Add-Ins folder, where the subfolder has the assembly's version number as its name. This implementation means that you do have to remove the older versions of assemblies that are stored on the client computer.

To support compatibility with earlier version of Microsoft Dynamics NAV, before Microsoft Dynamics NAV Server deploys an assembly to a client, the client looks for the assembly in the local Add-ins folder (for example, C:\Program Files (x86)\Microsoft Dynamics NAV\80\RoleTailored Client\Add-ins). If the assembly is not found, then the client will request the assembly from Microsoft Dynamics NAV Server. Javascript-based client add-ins have been using this deployment technique since Microsoft Dynamics NAV 2013 R2.

For more information, see How to: Set .NET Framework Types to Run on the Microsoft Dynamics NAV Windows Client or Microsoft Dynamics NAV Server Computers or How to: Install a Windows Client Control Add-in Assembly.

Microsoft Dynamics NAV Best Practice Analyzer Includes Single Sign-on Verification

The Best Practice Analyzer includes a scan option that verifies the configuration of the Microsoft Dynamics NAV deployment for single sign-on with Office 365. The scan checks that the Microsoft Dynamics NAV Server and Microsoft Dynamics NAV web server instances are configured correctly to authenticate Microsoft Dynamics NAV users with Windows Azure Active Directory and an Office 365 account. The scan returns a list of any issues that are found and provides links to information about how to resolve the issues. For more information, see the Help that is available in the navbpa.chm file that is provided with the Best Practice Analyzer on the Microsoft Dynamics NAV 2015 installation media.

Help Server Configuration

You can now configure Help Server to use the "https" protocol in addition to "http." In addition, you can specify a subpath in the url, which can be useful in organizing your Help content. To enable either of these scenarios, include "http" in the beginning of your Help Server setting.

For more information, see Configuring Microsoft Dynamics NAV Help Server.

UI Elements Removal

Depending on the setting in the UI Elements Removal field in the Microsoft Dynamics NAV Server Administration tool, only UI elements on objects in the license or on objects that the user has permissions for will appear in the user interface. For more information, see How to: Specify When UI Elements Are Removed.

For UI elements without a direct relation, you can use the AccessByPermission property to set a value for a table field or UI element that determines the permission mask for an object that a user must have to see and access the related page fields or UI element in the client. For more information, see How to: Remove UI Elements Using the AccessByPermission Property.

To make full use of the LicenseFileAndUserPermissions option in the UI Elements Removal field, it is recommended that you assign the special FOUNDATION permission set to the user along with the relevant application permission sets that define which application objects the user will access. In addition, you must make sure that the user’s application permission sets grant all the functionality access that is not granted by the FOUNDATION permission set alone. For more information, see Special Permission Sets.

Important
The application permission sets that are provided with Microsoft Dynamics NAV are not ready out-of-the-box to be used with the FOUNDATION permission set to automatically remove UI element according to user permissions. You must first create or edit the relevant application permission sets to avoid that the user is blocked from performing the involved tasks. For more information, see How to: Create or Modify Permission Sets.

If you only use the LicenseFile option in the UI Elements Removal field, then you do not have to edit any application permission sets as they will not affect which UI elements are removed.

A couple of the application permission sets that are provided by Microsoft Dynamics NAV are adapted to support the FOUNDATION permission set for demonstration purposes. To experience how UI elements are removed for a user performing the task to create and edit a new customer, you can create a sample user interface based on the provided permission sets. For more information, see How to: Try Out the UI Elements Removal Feature Based on Demonstration Permission Sets.

New Windows PowerShell Cmdlets

New Windows PowerShell cmdlets have been introduced to aid in merge operations, administration tasks, and for importing and exporting data.

Cmdlets for Merging Application Objects

Microsoft Dynamics NAV includes Windows PowerShell cmdlets that help you compare and merge application objects. You can use Microsoft Dynamics NAV cmdlets to modify application object source files in the Microsoft Dynamics NAV 2015 Development Shell, or by importing the Microsoft.Dynamics.NAV.Model.Tools.psd1 module into the Windows PowerShell Integrated Scripting Environment (ISE). The application merge utilities that are available in the Microsoft Dynamics NAV 2015 Development Shell install when you choose the Developer option in Microsoft Dynamics NAV 2015 Setup, or if you add the development environment to another installation option.

On the installation media, you can find sample Windows PowerShell scripts and sample data to help you get started with using the cmdlets. You can find the scripts and samples in the following folder: \WindowsPowerShellScripts\ApplicationMergeUtilities.

Cmdlet Description

Compare-NAVApplicationObject

Compares text files with Microsoft Dynamics NAV application objects and then calculates the delta between the two versions. The result of the comparison is a number of text files with the calculated delta.

Get-NAVApplicationObjectProperty

Gets Microsoft Dynamics NAV application object properties from the specified application object text files.

Join-NAVApplicationObjectFile

Combines multiple application object files into one text file.

Merge-NAVApplicationObject

Compares the changes that have been made to application objects between two versions of Microsoft Dynamics NAV, and applies the difference to a third set of application objects. The result of the merge is a number of text files with the merged application objects. Any conflicts that the cmdlet cannot merge are identified in conflict files.

Set-NAVApplicationObjectProperty

Sets Microsoft Dynamics NAV application object properties in the specified application object text files.

Split-NAVApplicationObjectFile

Splits a text file that contains two or more application objects into separate text files for each application object.

Update-NAVApplicationObject

Applies a set of deltas to the specified application objects. The files that describe the delta are generated by the Compare-NAVApplicationObject cmdlet.

For more information, see Comparing and Merging Application Object Source Files.

Cmdlets for Handling Captions

You can use this set of cmdlets to update captions in application object files.

Cmdlet Description

Export-NAVApplicationObjectLanguage

Exports captions from the specified text files with Microsoft Dynamics NAV application objects. The captions are exported to text files.

Import-NAVApplicationObjectLanguage

Imports strings in the specified language into text files that contain Microsoft Dynamics NAV application objects.

Join-NAVApplicationObjectLanguageFile

Combines multiple text files with captions for Microsoft Dynamics NAV application objects into one text file.

Remove-NAVApplicationObjectLanguage

Deletes captions in the specified language from Microsoft Dynamics NAV application objects.

Split-NAVApplicationObjectLanguageFile

Splits a text file that contains multilanguage captions for two or more application objects into separate text files for each application object.

Test-NAVApplicationObjectLanguageFile

Tests captions in Microsoft Dynamics NAV application objects to test to validate if they have translated strings for the specified languages.

Cmdlets for Administering Office 365 Setup

With Microsoft Dynamics NAV 2015, several new PowerShell cmdlets are available to automate processes around setting up single sign-on for Office 365 and creating test certificates. The following cmdlets have been added.

Cmdlet Description

Set-NavSingleSignOnWithOffice365

Performs configuration changes to support single sign-on with Office 365 for Microsoft Dynamics NAV Windows client and Microsoft Dynamics NAV Web client.

New-NavSelfSignedCertificate

Facilitates creating self-signed certificates that are used to protect the communication between a NAV Service and a Microsoft Dynamics NAV Web client.

For more information, see How to: Create a Self-signed Security Certificate Using PowerShell Script and How to: Set up Microsoft Dynamics NAV for Single Sign-on With Office 365 using Windows PowerShell.For information about Microsoft Dynamics NAV Administration cmdlets, see MSDN Library.

Cmdlets for Exporting and Importing Data using .navdata Files

You can export a company from a Microsoft Dynamics NAV database and import it into another database, and you can export and import other types of data such as global data, application data, and application objects. In earlier versions of Microsoft Dynamics NAV, you exported and imported this type of data as part of backing up and restoring databases. In Microsoft Dynamics NAV 2015, you can do this by using Windows PowerShell cmdlets, or by using the Microsoft Dynamics NAV Windows client.

Microsoft Dynamics NAV includes three new Windows PowerShell cmdlets that help you automate processes around exporting companies and other data to .navdata files and importing the data into another database. The following cmdlets have been added in Microsoft Dynamics NAV 2015.

Cmdlet Description

Export-NAVData

Exports data from a Microsoft Dynamics NAV database. You can export company-specific data, and you can choose to include global data, application data, or application objects.

Import-NAVData

Imports data into a Microsoft Dynamics NAV database from a file. You can import all data in the file, or you can choose to include specific companies, global data, application data, or application objects.

You can only import an application into an empty database.

Get-NAVDataFile

Gets information from a file that has been exported from a Microsoft Dynamics NAV database. The extracted information includes the types of data that the file contains and any company names.

Cmdlets for Upgrading Data in the SQL Server Dtabase

Microsoft Dynamics NAV 2015 Administration Shell includes the following cmdlets for upgrading data in the SQL Server database when the table schema changes.

Cmdlet Description

Start-NAVDataUpgrade

Starts the data upgrade process for upgrading the data in the business (tenant) database.

Resume-NAVDataUpgrade

Resumes a data upgrade process that has been suspended because of an error.

Stop-NAVDataUpgrade

Stops a data upgrade process.

Get-NAVDataUpgrade

Gets information about the data upgrade process that is currently running or the last completed data upgrade process.

For information about Microsoft Dynamics NAV Administration cmdlets, see MSDN Library.

For more information, see Exporting and Importing Companies and Other Data.

Report Layouts

Microsoft Dynamics NAV 2015 includes the following new features for creating report layouts.

Word Report Layouts

In earlier versions of Microsoft Dynamics NAV, you could only design the layout of reports by using Visual Studio Report Designer or Microsoft SQL Server Report Builder. With Microsoft Dynamics NAV 2015, you can design report layouts by using Microsoft Word 2013. Word report layouts are built on Word custom XML parts that dynamically map a report dataset into a report at runtime.

For more information, see Designing Word Report Layouts and Managing Report Layouts From the Microsoft Dynamics NAV Clients.

Customizing and Managing Report Layouts from the Microsoft Dynamics NAV Clients

You can customize Word and RDLC report layouts from the Microsoft Dynamics NAV Windows client and Microsoft Dynamics NAV Web client by using Word 2013 and SQL Server Report Builder, respectively. This enables users to make variations of layouts, and then use the variations when they view and print reports as needed.

For more information, see Managing Report Layouts From the Microsoft Dynamics NAV Clients.

New Report Functions

The following functions have been added in Microsoft Dynamics NAV 2015 to support new report layout implementation.

Function Description

SAVEASXML

Saves a report as an .xml file on the computer that is running Microsoft Dynamics NAV Server.

WORDXMLPART

Returns the report data structure as structured XML that is compatible with Word Custom XML parts.

WORDLAYOUT

Gets the Word report layout that is used on a report and returns it as a data stream.

RDLCLAYOUT

Gets the RDLC layout that is used on a report and returns it as a data stream.

HASCUSTOMLAYOUT

A function in codeunit 1 that determines whether a report has an active custom Word layout or RDLC layout at run time.

MERGEDOCUMENT

A function in codeunit 1 that loads the custom Word layout that is active on report and displays it in the targeted format, such as Word or PDF.

REPORTGETCUSTOMRDLC

A function in codeunit 1 that loads the proper custom RDLC layout for a report at run time and uses the layout to render the report.

For more information about these functions, see Report Data Type.

Enhanced Cues

Cues appear as tiles in the Microsoft Dynamics NAV client that display business data and key performance indicators (KPIs) on Role Centers. Microsoft Dynamics NAV 2015 includes the following new features that expand the functionality of Cues and enable you to customize their appearance.

Colored Indicators

You can configure the Cue to display a bar along its upper border that changes color based on the data in the cue.

For more information, see How to: Set Up Colored Indicators on Cues by Using the Style and StyleExpr Property.

New Images

You can change the image that displays on the Cue or set up the Cue without an image. There are several images to choose from.

For more information, see How to: Set Up an Image on a Cue.

Support for Normal Fields

In earlier Microsoft Dynamics NAV versions, you could only set up Cues based on FlowFields. In Microsoft Dynamics NAV 2015, you can also use fields that have the FieldClass Normal. This extends your choices for the source of Cue data, such as using query objects.

Support for Decimal Data Type

In earlier Microsoft Dynamics NAV versions, you could only set up Cues to display on Integer data types. In Microsoft Dynamics NAV 2015, you can also use a Decimal data type. This gives you data aggregation possibilities in addition to COUNT, such as SUM, MAX, MIN, and AVG.

For more information, see Creating and Customizing Cues.

Custom Formatting of Data

Using the AutoFormatType and AutoFormatExpr properties, you customize the format of the value in a Cue. For example, you can set the number of decimal places, or place a symbol such as a currency sign or percentage sign before or after a value.

For more information, see Formatting the Data in a Field.

New Properties and Controls for Pages

ShowMandatory Property

With Microsoft Dynamics NAV a new property called ShowMandatory has been introduced on page fields. The ShowMandatory property is set on page fields and marks the field with a red asterisk on the UI. For more information, see the ShowMandatory Property and NotBlank Property topics.

UpdatePropagation Property

In Microsoft Dynamics NAV a new property called UpdatePropagation is added to page fields. The introduction of this property makes it possible to update a parent page from a subpage automatically without using the page Refresh button. For more information, see UpdatePropagation Property.

Scope Property

In Microsoft Dynamics NAV a new property called Scope is added to page actions. The introduction of this property specifies the scope of an action to be either page-specific, or specific to a repeater control. For more information, see Scope Property and Defining Action Scope for Microsoft Dynamics NAV Pages.

FixedLayout Control

Microsoft Dynamics NAV now supports using the FixedLayout control on the Microsoft Dynamics NAV Web client. For more information, see How to: Arrange Page Fields in Rows and Columns Using a FixedLayout Control and Arranging Fields in Rows and Columns Using a FixedLayout Control.

Development Environment Enhancements

Auto-generating of C/AL variable and parameter names for complex data types

In the C/AL Globals and C/AL Locals windows, when you add a variable or parameter that has the data type Codeunit, Page, Testpage, Report, Query, or XMLport, the Name field will be automatically generated just by setting the DataType and SubType fields. The generated name is based on the name that is assigned to the associated Microsoft Dynamics NAV object. You can change the generated name as you want.

For more information, see C/AL Globals and C/AL Locals.

Commenting and uncommenting multiple lines of C/AL Code

The development environment includes the Comment Selection and Uncomment Selection options, which enable you to comment and uncomment multiple lines of C/AL code with the click of a button.

For more information, see C/AL Comments.

Non-default property values are bold

Microsoft Dynamics NAV objects have many properties that you can view and set from the Properties window in the development environment. Property values that are not the default value of the property appear as bold in the Properties window.

C/AL functions are local by default

Unlike in earlier Microsoft Dynamics NAV versions, now when you create a function in the C/AL code of a Microsoft Dynamics NAV object, such as a codeunit or page, the function is set as a local function by default. By default, the Local property of new functions is now set to Yes instead of to No. Being local means that the function is not accessible outside the object in which is it defined.

For more information, see Local Property.

New Development Environment Commands

The following commands have been added to the finsql.exe, which enables you to perform tasks at a command prompt:

Command Task

BuildVirtualMetadata

Regenerates C# and metadata information for virtual tables in a specified database.

DeleteObjects

Delete Microsoft Dynamics NAV objects from a specified database.

CreateLanguage

Create language captions on Microsoft Dynamics NAV objects in a specified database.

ExportLangModule

Export a Microsoft Dynamics NAV language module from a specified database.

ImportLangModule

Import a Microsoft Dynamics NAV language module to a specified database.

ExportTranslate

Export text strings from a specified database to a file.

ImportTranslate

Import text strings from a file to a specified database.

For more information, see Development Environment Commands.

New C/AL Functions

Function Description

GETLASTERROROBJECT

A system function for error handling that gets the last System.Exception object that occurred.

EXPORTDATA

Exports data from the Microsoft Dynamics NAV database to a file. The data is not deleted from the database.

IMPORTDATA

Imports data from a file that has been exported from a Microsoft Dynamics NAV database.

DATAFILEINFORMATION

Specifies data from a file that has been exported from a Microsoft Dynamics NAV database.

EXECUTE

Runs a report in the preview or processing only mode with a given set of parameters without using a request page.

PRINT

Prints a report with a given set of parameters without using a request page.

RUNREQUESTPAGE

Runs the request page for the report, but the report is not run.

SAVEAS

Runs a report without using a request page and saves the result as a .pdf, .xlsx, .docx, or.xml type file.

For more information about these functions, see C/AL Functions.

Deprecated Developer and IT Pro Features in Microsoft Dynamics NAV 2015

The following table lists features that have been removed from Microsoft Dynamics NAV 2015. In certain instances, a replacement technology is provided.

Microsoft Dynamics NAV product area Feature Replacement

Development

Prevent data loss from table changes option in the Options window of development environment.

This option let you to disable the validation of the table changes for potential data loss when you saved and compiled tables.

New table schema synchronization options that determine how to handle data in tables are available when you save or compile a table or import a table in a FOB file.

For more information, see Synchronizing Table Schemas.

Changes to C/AL Functions, Data Types, Properties, and Triggers

For a list of changes to C/AL functions, data types, properties, and triggers, see Changes in C/AL Behavior and Support from Earlier Versions of Microsoft Dynamics NAV.

See Also