NAV Timeline – Why NAV is Growing Up?
How Microsoft Dynamics NAV acquired 120000 plus clients globally and still going
Evolving from a accounting solution state NAV in its current form is complete and
celebrated as the most successful SMB ERP solution in the globe !
What could be the reason ? (RED IS BETTER !)
1. The Products Flexibility
2. Industry Add-ons availability
3. Localisation aspects
4. Simple yet comprehensive state
5. Competent, passionate and Organized consultant community which worship and
celebrate the product
6. Of course Microsoft Product Teams Vision and commitment to the declared
roadmap … I don’t Think !
7. Strong User Community ! YES !!!
8. Last but not least the passionate presales and sales force :-) NO !!!!!
THE NEXT ”NAV & TENERIFES” THOUGHT
WEB CLIENT ONLY (prospects ask for this!!)
OFFICE365+ALL MICROSOFT SOLUTIONS
LOCALIZATIONS: ONLY WITH EXTENSIONS
UPGRADE: AUTOMATIC UPGRADE (STAY ALWAYS UPDATED!)
VS CODE : KILLING C/SIDE .. VISUAL ????
ON MARKETPLACE: A LOT OF APPS (TRY, REVIEW & BUY)
Customizations Vs Extensions (Microsoft)
Allows customization of application logic to
deliver customer, industry, or region specific
Customizations: modification of base tables,
code, and other objects
Extensions: addition of well-defined modules
that are invoked alongside the base application
Upgrade … and … v2
Extensions – Building Solutions
Extensions are the way to build for Software as a Service (SaaS)
Allow you to sell your product in Microsoft AppSource - free
advertising! Increase your sales volume!
Takes advantage of our upgrade investments
(Automatic Upgrade - standard platform !)
Offer additional protection of your IP compared to the very “open
source” nature of classic NAV
Reduced time to deployment
NAV 2018 – MS FLOW INTEGRATION
HOW-TO REGISTER DYNAMICS NAV ON AZURE MANAGEMENT PORTAL
NAV 2018 – MS FLOW INTEGRATION
APPLICATION AND KEYS
NAV 2018 – OUTLOOK 365 INTEGRATION
L’integrazione con Outlook 365 si fa ancora più potente: Microsoft Dynamics NAV 2018 è in
grado di leggere il contenuto delle mail andando a popolare automaticamente le righe del
documento che si vuole produrre. L’utente, senza dover inserire i dati a mano, per esempio potrà
creare un’offerta per il cliente e successivamente inviare la fattura senza mai lasciare Outlook.
Mail Reading &
NAV 2018 – EXCEL REPORTS
New Excel integration, with preconfigured Excel reports. The Business
Manager and Accounting Role Center has a new option in the ribbon for
Users may select from a dropdown menu of preconfigured reports (see
graphic) that is ready to print from Excel. Among those reports are such
broadly useful ones as Balance Sheet, Cash Flow Statement and Trial
NAV 2018 – USER TASKS
User Tasks feature: with which you can create tasks to remind you of work to be
done, or to assign tasks to yourself or other users (a feature like the CRM Assign
function or Service Task). I had submitted this request to MS Connect long ago - nice to
USER TASKS DEMO HERE https://robertostefanettinavblog.com/2017/12/13/nav-2018-user-tasks/
NAV 2018 – UNI APP & CONTINUUM
Universal APP & Windows 10 Continuum
Universal App is today available on more devices, the new
interesting feature is: “Continuum”, What is Continuum ?
Continuum technology is a Windows 10 feature that allows
you to project your phone to your big screen.
You can also interact with keyboard and mouse through
Bluetooth, when connected NAV Universal App
automatically switch to the desktop experience.
NAV 2018 – WINDOWS 10 CONTINUUM
Universal App & Windows 10 Continuum: The NAV Universal App for mobile
devices is today available on more devices, and a new and interesting feature
This technology is a Windows 10 feature that allows you to project your phone to
your big screen. You can also interact with keyboard and mouse through
Bluetooth, when the connected NAV Universal App is configured to automatically
switch to the desktop experience.
NAV 2018 – ASP .NET CORE + .NET 4.7
ASP.NET Core + .NET FRAMEWORK 4.7
The Dynamics NAV Web server components now run on
ASP.NET Core ! Cool! .. ASP.NET Core keeps NAV to reach
new heights in cloud scalability.
Pre-requirement (silence install)
NAV 2018 - #2 New Technical Features
#2 - NAV 2018
NAV 2018 – NAV SERVER OPTIONS (RECAP)
DATABASE CREDENTIALS BUILD RESTRICTIONS
DEVELOPMENT & EXTENSIONS TARGET LEVEL CREDENTIAL TYPE
NAV 2018 – TWO DEVELOPMENT ENVIR.
There are two development environments in the installation: “the
old development environment” based con C/SIDE & C/AL and the
“New Modern Development Environment”, based on Vs Code+ AL,
usable for both NAV 2018 and Tenerife.
NAV 2018 – “HOW-TO” USE DEVELOPMENT PORT
Nice post here about utilization of DEVELOPMENT PORT
NAV 2018 – UPDATED LICENSING MODEL
Nice post here about updated licensing model
NAV 2018 – LEVEL OF EXTENSIONS - EXT 2.0
“In Extensions 2.0, exist a concept of 'levels' of extensions that are used to
determine different classifications and capabilities of an extension package.
In VSCode development, this is something you can specify in the app.json
file using the "target" property.
This places a restriction on what is 'allowed' within the extension. On the
server side, you are given the ability to set the 'level' of 2.0 extensions that
you want to allow to be publishable/installable. This gives admins control
over what kinds of extension they want to have on their systems.”
In order the 'level' progress as follows: Personalization, Extension,
NAV 2018 – DEFAULT SERVICE LANGUAGE
NAV Server instance configuration includes two new settings for
controlling the Dynamics NAV client language:
Default Language (specifies which of the installed Dynamics NAV
languages on the server instance will be used as the default
language in the clients)
Supported Languages (specifies which of the installed Dynamics
NAV languages on the server instance will be available for use in the
NAV 2018 – CHANGE SERVER SETTING - PS
Change Server Setting Without Restart
Finally! Great Feature! ...like SQL Server “RECONFIGURE WITH
OVERRIDE” statement (RS). Some configuration changes to the
Dynamics NAV Server can be done without a server restart.
With PowerShell cmdlet Set-NAVServerConfiguration is possible to
NAV 2018 – OBSOLETE STATE
Obsolete State for Tables & keys
Table object, fields and keys include the ObsoleteState and
ObsoleteReason properties. That are used to communicate to
developers when is or will become obsolete.
ObsoleteState and ObsoleteReason properties are for “Tables, Fields,
NAV 2018 – NEW POWERSHELL CMDLETS
Many new powershell cmdlets
More details here: https://docs.microsoft.com/en-us/dynamics-
NAV 2018 – BEST AZURE SECURITY
AZURE KEY ENCRYPTION PROVIDER 2.0
NAV 2018 – SQL CLOSE INACTIVE SESSIONS
«WE NEED MORE FREE LICENSES ! .. Don’t warry»
SQL COMMAND TIMEOUT
NAV 2018 – OData V4 – Single Call !
NAV 2018 runs OData web services based on OData V4,
OData Relational Query Support provides the ability to
include related entities inline within a single OData V4
NAV 2018 - New Events - 1211 !
1211 EVENTS ! (1208+3)
NAV 2018 New Features & Functions #1
Dynamics NAV now uses .Net Framework 4.7 (pre-requirement)
Tenant Management Codeunit (417)
Mobile Preview and Print
Personalization in the Dynamics NAV Web Client-ALL
C/AL function COMPANYPROPERTY.DISPLAYNAME
New AL method COMPANYPROPERTY.DISPLAYNAME
Report datasets now reference the Display Name of the Company
instead of Name
Line items are created automatically in the Outlook add-in based
on email content
NAV 2018 New Features & Functions #2
Filter views are now serialized in culture invariant format
Web Client - Show more user-friendly screen instead of standard IIS
HTTP error screen
Display Name field in the Company system table
Improved startup time by caching event subscribers and publishers
Server configuration values can be changed without server restart
Adding rules to page designer
Embedded Microsoft Flow (Create a Real Workflow anywhere….)
Power BI and Microsoft Dynamics (The new Power BI
NAV 2018 New Features & Functions #3
Add, hide, or drag and drop columns when designing pages
Move and hide page parts
Universal App: simpler picking of pictures
Reposition or hide Cues and Cue Groups
NEW MountRegistering -NAVTenantDatabase Cmdlets….
ListParts on Role centers
Valid Audiences setting in the Dynamics NAV Server instance
configuration BPA (Best Practice Analyser)
Dynamics NAV Server instance and application configuration
settings for default language and supported languages
NAV 2018 New Features & Functions #4
Using Microsoft Flow for sales document approval requests
Ad-hoc Dimension Analysis
New complex type SessionSettings > function
Preview reports on the Web client
Universal App: “Continuum” > Phone on PC
ObsoleteState and ObsoleteReason Properties on Tables, Fields,
Changes to the workings of the Web client
New ASP.NET Core web server runtime
NAV 2018 New Features & Functions #5
Universal App on more devices > “ON HOLOLENS“ - WMS ???
OData V4 Bound Actions
Printing reports from the browser
BPA Tool Discontinued….
Support for table partitioning
OData Relational Query Support
New parameter on Start-NAVDataUpgrade: -SkipIfAlreadyUpgraded
Improved connection reuse in Shared Schema configuration
Delayed deletion of company data
NAV 2018 NEW NAV OBJECTS
UPDATED SYSTEM TABLES
NAV 2018 NEW NAV OBJECTS
POWER BI QUERIES (READY TO GO)
NAV 2018 NEW NAV OBJECTS
FAILED JOB QUEUE ENTRIES
NAV 2018 NEW NAV OBJECTS
UPDATED EXTENSIONS MANAGEMENT
NAV 2018 Datamodel: Shared Schema
DATAMODEL: SHARED SCHEMA
which includes tenants and
companies, models states of both the
database and tenants, and allows
individual tenants to run in different
(supported) schema versions
NAV 2018 Shared Schema is also
SHARED SCHEMA IS ALSO..
.. a change from a “Shared
Database, Separate Schemas
model” to a “shared schema
NAV 2018 Shared DB, Shared Schema
Tenant data in shared tables
Tenant global id
1 Maersk a96bfb71-693a-4097-87e8
2 Lego 63a8d91c-6578-4849-9bbf
3 Vestas 8e5dbd0a-cca5-45ec-823b
1001 Maersk Oil 1
2002 Legoland 2
NAV 2018 Instant Upgrade – What & Why
Enable upgrade at scale with minimal to no interruption of service with
scheduling capabilities, notification of customers as well as re-scheduling
capabilities while not exhausting SQL in the process. In all ensure that we
have a scalable upgrade story that is manageable with least possible
The continuous effort to improve repeatability built on top of Shared
database – and at the same time strive for minimal customer downtime.
NAV 2018 – SQL Best Configuration (from NAV
Dynamics 365 Business Edition
Dynamics 365 BE Cloud is based on the
Microsoft NAV platform and several
other Microsoft services.
With Dynamics 365 Business Editions reinvents business productivity. 365 BE
Windows iOS Android
Dynamics 365 TENERIFE – BEST TOPICS
NAV will be available in the cloud (NAV in SaaS) TENERIFE
On Premise is there to stay… for a long time ??
One Codebase (two pillars, NAV 2018R2, TENERIFE)
Extension V2 will work on Dynamics NAV 2018 and TENERIFE
You will be able to white label your product, but you don’t have to..
Microsoft is working on the prices, there is no monetization in AppSource –
but it will come (not.. Far away..)
Microsoft Dynamics NAV consumes an insane amount of Azure stuff..
(Azure, Dockers, SQL Azure tuning, Development, Cognitive services….)
Azure Cloud SaaS
On-premises is more secure
Data is used for things like advertising
It’s not compliant with industry regulations
Control of data in the cloud is lost
Built to provide a level of security that exceeds most customers’
on-premises infrastructure and scale.
The first to comply with ISO/IEC 27018, which prohibits the
use of personal data for advertising and marketing.
Compliant with HIPAA, FISMA and many other industry-
specific and government regulations.
Designed to give you complete control of your data.
You own it; Microsoft manages it for you.
ABOUT THE CLOUD
THE MICROSOFT CLOUD IS…
New Office 365 Apps
Nuove Office 365 Apps: sono nuove app (chi ha Office 365, sulla scrivania avrà un nuovo Tail chiamato “New
Queste app (invoice, inventory, e altre) che sta sviluppando MS permettono di aumentare le funzionalità di
Questo è possibile perché per ogni istanza di office viene attivata una istanza di NAV for Financials.
Aumentano le potenzialità di Office per coprire il cliente più piccolo.
Dynamics 365 TENERIFE – On Premise
Relativamente a NAV on premise: E’ stato discusso molto internamente a MS ed è stato deciso
che Microsoft è “Cloud First” ma non “Cloud Only”. Garantiscono quindi che la versione On
premise sarà mantenuta perché lo vogliono.
Il codice base sarà lo spesso per le due versioni (cloud e non), perciò quello che vi sarà su
D365 sarà portato sulla versione On Premise (tranne casi particolari non tecnicamente
A tendere l’obiettivo sarà quello di avere un'unica modalità di deployment. Viene rilasciata
una app su Appsource e sarà utilizzabile su D365 o su on premise.
Viene sottolineato che le Embed App customizzate non saranno supportate solo per un periodo
transitorio ma faranno parte di D365 quindi non ci sarà discontinuità.
The Right UX – New Philosophy
The right UX for the right user
Underneath everything is an extension
“Visual for Business Consultant
Code for the developer”
But why C/AL still?
New Philosophy “APIs”
Application as an API
Shipped in product
Microsoft Application (W1, US, CA, UK, etc)
Code your own objects
Continuing the application as an API. Not all internal methods &
resources support security and isolation.
Will show up as an error in the editor.
AL System Methods
Controlled in the app.json file. Enforced by server.
Legal values: Extension, Internal
New Philosophy ..”MISSION”
• Start to refactor code
• Remove code from modified objects where possible
• Good: Use “Hook” pattern
• Better: Use events
• Evaluate architecture of solution
• How much code is reused between customers?
• Can your solution be broken into multiple
• Start to build code into extensions where possible
NEW DEVELOPMENT ENVIRONMENT
C/SIDE Replace: Modern Development Environment
Development Environments Comparison
VS Code Editor
VS Code+AL = New Development Environment
VS Code (Visual Studio Code)
CODE.EXE > Show Projects > Objects: Files
AL Extension for VS Code > Show Business Logic >
Code: text inside “.AL” file
VS Code: Open Source, Cross Platform, Git
“VS Code: Open source, cross-platform, multi-language
development environment that puts writing code at its center”
AL Language extension
Programming in AL
AL is the programming language that is used for manipulating data (such as retrieving,
inserting and modifying records) in a Dynamics 365 for Financials database, and controlling
the execution of the various application objects, such as pages, reports, or codeunits.
With AL, you can create business rules to ensure that the data which is stored in the
database is meaningful and consistent with the way customers do business.
Through AL programming, you can:
Add new data or transfer data from one table to another, for example, from a journal table to
a ledger table. Combine data from multiple tables into one report or display it on one form
Where to write AL code !!
Almost every object in Dynamics 365 for Financials contains triggers where you can add your
AL code. Triggers exist for the following objects:
Tables, Table fields, Pages, Reports, Data items, XMLports, Queries
The AL methods in this section are grouped according to the data type that they support or
according to a category. Each data type topic contains a description of the data type.
Essential AL Methods
Programming in AL
HTTP, JSON, TextBuilder, and XML API
Although there are hundreds of methods in AL, there are several methods that you will use
more often than the others. This does not mean that the rest of the methods are obsolete or
that you will never use them. However, it does mean that if you are very familiar with this
small set of essential methods, you will be able to accomplish many tasks when you are
programming in AL. The topics in this section describe the most common AL methods. For
more details about all of the AL methods, see AL Method Reference.
C/SIDE Vs VS Code
Differences in the Development Environments C/SIDE Vs AL Development Env (VS Code)
Coming from the Dynamics NAV Development Environment and C/SIDE, there are some
differences and optimizations that you should familiarize yourself with. The following
sections go through these changes.
C/SIDE VS Code
Keyword Uppercase Keyword Lowercase
.NET Support Native Web Services Types
Object Designer Real-time compiling
Symbol Menu Option Member
File Support File Upload from Stream
Translations in Objects Where Used
Object Designer VS Vs Code Editor - Face
Object Designer VS Code Editor
AL - Details
Formatting, syntax highlighting and rich IntelliSense
Support for and snippets to define Codeunits, Pages, Page Extensions, Tables, Table Extensions,
XMLPorts, and Reports
Support for reference by symbols (Shift+F12) to jump to all instances of a specific symbol
Added support for using HTTP and JSON types to access Azure functions and other Web Services
Ability to define a dependency on another extension by listing it in the app.json configuration file
Autogeneration of app.json and launch.json project files
Differences between .FOB Vs .APP
Differences between .FOB and .APP Files
.FOB Files .APP Files
PACKAGE: “.FOB” : Financials Objects, standard old
PACKAGE: “.APP”: Based on Extensions (v. 2.0 - Vs Code)
.al file, app.json, launch.json
Source code visible in C/SIDE NO
Include standard Objects and standard Code can be
Imported in NAV : C/SIDE Powershell, VS Code
Extensions of standard objects and include additional
business logic for solutions
“HOW-TO” install Vs Code for NAV 2018
Some nice links below:
How-to Enable Modern Dev on NAV 2018
Configure Vs Code
VS Code “AL” extensions (PART I)
– AL Language (By Microsoft)
– AL Formatter (By Rasmus Aaen)
– AL Runner (By Tobias Fenster)
– NAV Skills AL Clean Code (by Mark Brummel)
– Dynamics NAV SCM (by Cloud Ready Software)
– NAV Snippets (By Naresh)