SlideShare ist ein Scribd-Unternehmen logo
1 von 46
RobertoStefanetti,
MVP BusinessSolutions- NAV
MicrosoftEducationInfluencer
Webinar Topics
Customizations Vs Extensions
Dynamics NAV
Allows customization of application logic to
deliver customer, industry, or region specific
functionality
How?
Customizations: modification of base tables,
code, and other objects
Extensions: addition of well-defined modules
that are invoked alongside the base application
Why?
Upgrade … and …
v2
Modern Development Environment - Why ?
http://aka.ms/navdeveloperpreview
https://blogs.msdn.microsoft.com/nav/2016/12/20/announcing-the-preview-of-development-tools-for-dynamics-nav/
https://robertostefanettinavblog.com/2017/07/13/nav-development-preview-updated-documentation/
Extensions Topics
EXTENSIONS
 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
 Offer additional protection of your IP compared to the very “open
source” nature of classic NAV
 Platform stability
 Reduced time to deployment
Extensions are customizations ?
So, extensions are customizations?
Yes! If you're familiar with the Dynamics NAV customization model,
then you're probably used to making changes directly on objects.
The extension model asks you to design your changes differently –
namely make those changes by extending the core objects and
linking to code using events. For example, instead of adding a new
field that represents the customer’s birthday to the customer table,
put that field into a table extension. And if you want to write code
then put it in an event subscriber which can then check the birthday
and then do something about it.
https://blogs.msdn.microsoft.com/nav/2016/12/13/more-information-about-the-developer-preview-for-dynamics-nav/
Extensions 2.0
https://www.slideshare.
net/RobertoStefanetti/n
av-2016-events-and-
extensions
https://robertostefanett
inavblog.com/2016/07/
14/new-nav-2016-
videos-about-
extensions/
https://msdn.microsoft.
com/en-us/dynamics-
nav/extending-
microsoft-dynamics-
nav-using-extension-
packages
Extensions 2.0
https://blogs.msdn.microsoft.com/nav/2016/12/13/more-information-about-the-developer-preview-for-dynamics-nav/
Extensions 2.0 is the name we use for the new versions of extensions -
ones that aren't based on the DELTA file design. Making extensions with
the new tools is much easier than the current tools suite you may be
familiar with.
With Extensions 2.0, you code and write new objects that describe
the additional capabilities you want in the system. You’ll use Table
Extension and Page Extension objects to describe new fields and UI
elements, and you'll use the in-client page designer to make those
changes in a WYSIWIG way – all of which are stored as extensions under
the cover.
VS (Visual Studio Code)
“VS: Not Visual Studio !”
 Free
 Open source (MIT license)
 Code optimized
 Now part of Visual Studio
 Debugger
 Native Git support
 Always updated – monthly/nightly build
 Apple iOS and Linux platforms
 Extensions
 Community
https://code.visualstudio.com/
https://code.visualstudio.com/docs/customization/userdefinedsnippets
https://blogs.msdn.microsoft.com/nav/tag/dyndev365/
VS: Open Source, Cross Platform, Git
“Open source, cross-platform, multi-language development
environment that puts writing code at its center”
https://code.visualstudio.com/
VS: Commands
 NO-INVOKE compilers (no dll / exe)
 NO-DESIGNERS (no UI based development)
 NO-AL DEBUGGER (built-in Node.js)
 NO-DESKTOP APP (targeted for Web App)
VS: Editing Features
1. Syntax coloring
2. Bracket Matching
3. Intellisense
4. Parameter hints
5. Code block folding
6. Go To Definition (F12)
7. Tooltips
8. Find All References (SHIFT+F12)
VS: Workspace and UI
Code Editor / Status – View – Side bars
[Code Editor] 3 files open side by side (e.g. Merge)
[Code Editor] Zoom (CTRL+/CTRL-) / Navigate (CTRL+TAB)
[Status] Encoding / EOF / GoTo (CTRL+G)
[Side]
1. EXPLORER
2. SEARCH
3. GIT
4. DEBUG
5. EXTENSIONS
VS: GIT (Version Control)
GIT (open-source distributed version control engine)
- GIT local repository COMMIT to GitHub / VSTS
- CMD : git remote add origin master <repo url>
- CMD : git push –u origin master
VS LINKSBOOKS
https://robertostefanettinavblog.com/2017/09/06/nice-to-have-books-
for-the-new-development-environment/
DEMO TIME
MDE - Developer Tools Preview
START FROM HERE:
https://blogs.msdn.microsoft.com/nav/2016/12/20/announcing-the-preview-of-
development-tools-for-dynamics-nav/
About “Preview” (from Foundation Post)
https://blogs.msdn.microsoft.com/nav/2016/12/13/more-information-about-the-developer-preview-for-dynamics-nav/
Rebuilding the development tools for Dynamics NAV and Dynamics 365 for Financials is a long-term investment.
We're not done with everything yet but we did want to give you a chance to see what we've done so far and to comment
on it.
Here’s some things to pay attention to:
- The release is made available on an Azure Gallery image.
- The preview is for you to play with and test - don't expect to write production code with it and don’t use it in
production.
- Don't try to take your existing solution and convert it - there are unfinished features and you'll probably be more
frustrated than anything that the code doesn't work.
- Do notice that not all procedures in the application will be available to call. We have blocked access to procedures which
may run unsafe .NET or insecure methods.
- Do write event/subscriber solutions - follow the existing guidelines on building extensions for the general design
principles.
- Do try the sample code we’ve published to get familiar with the syntax.
Etc. etc. etc….
BUT WE ARE WORKING…
AL Language - Coding Objects
https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-programming-in-al
https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-dev-overview
https://robertostefanettinavblog.com/2016/11/29/microsoft-al-al-language-code-samples-for-developing-extensions/
Visual Studio Code and NAV Extensions
Visual Studio Code and NAV Extensions
AL Development Env. Vs C/SIDE
https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-get-started
https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-dev-overview
https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-programming-in-al
https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-txt2al-tool
https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-reference-overview
Differences in the Development Environments
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 AL Development Environment
Dates are parsed based on culture settings. Locale independent and supports only: yyyy-mm-dd.
Boolean values could be expressed as yes/no. Boolean values are expressed as true/false.
https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-differences
GitHUB – Microsoft AL
https://github.com/Microsoft/AL
https://github.com/Microsoft/AL/tree/master/samples
https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-programming-in-al
https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-dev-overview
Samples @Microsoft/AL
AL Language and Coding using Snippets
AL Language and Coding using Snippets
Isolation and Security - Concepts
Isolation and Security - Limitations
In Client Designer
Scope: “Make an extension in the client itself”
Business consultants and UX designers will love using this drag-and-drop interface. Rearrange fields,
rename groups, and reposition elements to build a perfect extension to support an industry-specific
solution or implement a business process optimization.
In Client Designer
https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-inclient-designer
Keyboard Shortcuts
https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-keyboard-shortcuts
Keyboard Shortcuts
The following table provides an overview of some of the shortcut key combinations that you can use
when you're working with Dynamics 365 for Financials in Visual Studio Code.
About Reports in VS Code
GREAT POST BY STEVEN RENDERS HERE
http://thinkaboutit.be/2017/08/how-do-i-create-a-report-and-layout-in-vscode/
HOW DO I : CREATE A REPORT AND LAYOUT, IN VS CODE?
“A question I get asked frequently is: Ho Do I Create a Report in VSCode, and to me more
specific, How Do I Create the Layout, being an RDLC or Word layout?
The answer is that you need to create the report object as an .al file, then you create and
export the layout(s) and reference them from within the .al file.”
“AL Language” on Visual Studio Marketplace
https://robertostefanettinavblog.com/2017/08/18/al-language-on-visual-studio-marketplace/
https://marketplace.visualstudio.com/items?itemName=ms-dynamics-smb.al
Vs Code “AL Extensions” on Marketplace
https://robertostefanettinavblog.com/2017/08/31/vs-code-al-extensions-part-i/
There are some extensions that can be used in VS Code and are usefull for development with AL,
I have listed and inserted a brief description, since they are constantly evolving,
These extensions are currently available:
– AL Language (By Microsoft)
– AL Formatter (By Rasmus Aaen)
– AL Runner (By Tobias Fenster)
– NAV Skills AL Clean Code (by Mark Brummel)
– Dynamics NAV/AL (By Zodiacfireworks)
– Dynamics NAV SCM (by Cloud Ready Software)
– NAV Snippets (By Naresh)
Modern Development Environment - Links
LINKS
http://github.com/microsoft/al/
https://blogs.msdn.microsoft.com/nav/tag/dyndev365/
https://blogs.msdn.microsoft.com/nav/2016/11/04/dynamics-nav-and-help-a-new-world/
https://robertostefanettinavblog.com/2017/07/13/nav-development-preview-updated-documentation/
http://www.waldo.be/2017/02/20/make-the-new-developer-tools-available-on-a-local-machine/
VIDEOS
Install Visual Studio Code With Al Compiler
https://www.youtube.com/watch?v=aeE-C3z_qkI&t=53s
Dynamics NAV - Getting Started With Visual Studio Code
https://www.youtube.com/watch?v=d2GoSQUCuxE
Visual Studio Code - Getting Started with Git(Hub)
https://www.youtube.com/watch?v=NTY5VELbCWI
Inside AL for Visual Studio Code | Where are we
https://www.youtube.com/watch?v=xjceqM6V7BM&t=1483s
Visual Studio Code Building Publishing and Debugging AL Projects
https://www.youtube.com/watch?v=hpZcdqx0udA
Visual Studio Code - Convert C/AL to AL
https://www.youtube.com/watch?v=HCaooHKxBrM&t=239s
DEMO TIME
FAQ TIME
FAQ #1
Some FAQ from MicrosoftEvents Sessions
Question: What is Visual Studio Code?
Answer: Visual Studio Code is the environment in which development of NAV apps will happen in the
future.
https://code.visualstudio.com/
Question: What is a snippet?
Answer: Code snippets are templates that make it easier to enter repeating code patterns, such as loops or
conditional-statements.
https://code.visualstudio.com/docs/customization/userdefinedsnippets
Question: What is a symbol?
Answer: Instead of having the complete source code for NAV base app and other apps, you only have the
symbols in order to know what you allowed to call/use/subscribe to
Question: Where can i get the Object ID's
Answer: http://aka.ms/AppsForFinancials
FAQ #2
Question: How to set up al.json to work with visual studio code, outside a azure environment?
Answer: Currently NAV only supports Windows Authentication for the new development environment,
meaning it isn't easy
Question: Is this only available on the VM, or can it be downloaded/installed locally?
Answer: The advantage of using the VM is that you can remove and renew when we have new releases
every month. You can shut down your VM to stop the cost for the VM.
Question: I cannot find "AL Language" in VS Code, what do I do wrong?
Answer: It is not publicly available, it is available on an Azure Gallery Image.
use http://aka.ms/navdeveloperpreview to provision a VM with a new NAV version with visual studio code
AND the AL addin
Question: How to open Design Mode?
Answer: Design Mode is only available in the Development Preview environments:
use http://aka.ms/navdeveloperpreview to provision a VM with a new NAV version with visual studio code AND
the AL addin
Question: How does the In Client Designer works together with VSCode?
Answer: all the changes in the "In App Designer" get saved as an extension.
If you select "Save as files", then you can download them and keep working in VS Code. Otherwise you can save
them as a change to the entire tenant.
FAQ #3
Links
For more information about the Dynamics NAV Developer Preview and extensions, see the
following resources:
Microsoft MSDN
https://msdn.microsoft.com/en-us/dynamics-nav/extending-microsoft-dynamics-nav-using-
extension-packages
https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-get-started
https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-dev-overview
https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-programming-in-al
https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-inclient-designer
https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-differences
https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-keyboard-shortcuts
My Blog
https://robertostefanettinavblog.com/2017/08/18/al-language-on-visual-studio-marketplace/
https://robertostefanettinavblog.com/2016/12/20/announcing-the-preview-of-development-
tools-for-dynamics-nav-dynamics-nav-team-blog
https://robertostefanettinavblog.com/2017/02/11/all-about-microsoft-dynamics-365-for-
financials
Announcing C/AL Open Library
https://robertostefanettinavblog.com/2017/08/18/al-language-on-visual-studio-marketplace/
https://github.com/Microsoft/cal-open-library
About Project “C/AL Open Library”
About Project : “C/AL Open Library”
“The purpose of this repository is to build a C/AL library based on community
contributions that will serve as an accelerator for adoption of the Extensions V2
technology. The source code from this library will be included in the base application of
‘Dynamics 365 for Financials’ on a monthly basis.
The primary goal is to enable creation of .NET type wrappers written in C/AL that can
then be subsequently used from Extensions V2. DotNet types must not be part of the
definition of public functions in the submitted code to be callable by Extensions V2.
All contributions will be reviewed by Microsoft and assessed for the overall fit into the
product, for reusability and for following the general coding style that is present in the
other base application objects.”
NAV ON DOCKER
https://robertostefanettinavblog.com/2017/07/30/nav-on-docker-nav-blog/
https://www.navtechdays.com/2017/sessions#easier_and_devops_friendly_dynamics_nav_e
nvironments_using_docker_windows_c
NAV TechDays Session
Q/A TIME
RobertoStefanetti,
MVP BusinessSolutions- NAV
MicrosoftEducationInfluencer

Weitere ähnliche Inhalte

Was ist angesagt?

Build Next-gen Apps Faster with Lightning Components
Build Next-gen Apps Faster with Lightning ComponentsBuild Next-gen Apps Faster with Lightning Components
Build Next-gen Apps Faster with Lightning ComponentsSalesforce Developers
 
Building End To End Lightning Apps - Dreamforce 2014
Building End To End Lightning Apps - Dreamforce 2014Building End To End Lightning Apps - Dreamforce 2014
Building End To End Lightning Apps - Dreamforce 2014Raja Rao DV
 
Introduction to lightning out df16
Introduction to lightning out   df16Introduction to lightning out   df16
Introduction to lightning out df16Mohith Shrivastava
 
Alex Tumanoff - LightSwitch - different way to create business applications
Alex Tumanoff - LightSwitch - different way to create business applicationsAlex Tumanoff - LightSwitch - different way to create business applications
Alex Tumanoff - LightSwitch - different way to create business applicationsCiklum Ukraine
 
Secure Development on the Salesforce Platform - Part 2
Secure Development on the Salesforce Platform - Part 2Secure Development on the Salesforce Platform - Part 2
Secure Development on the Salesforce Platform - Part 2Salesforce Developers
 
Salesforce Super Slider Lightning Component ppt
Salesforce Super Slider Lightning Component pptSalesforce Super Slider Lightning Component ppt
Salesforce Super Slider Lightning Component pptWebkul Software Pvt. Ltd.
 
Migrating from Magento 1 to Magento 2 @ Magento Meetup Wien
Migrating from Magento 1 to Magento 2 @ Magento Meetup WienMigrating from Magento 1 to Magento 2 @ Magento Meetup Wien
Migrating from Magento 1 to Magento 2 @ Magento Meetup WienMatthias Glitzner-Zeis
 
Build Apps Visually with Lightning App Builder
Build Apps Visually with Lightning App BuilderBuild Apps Visually with Lightning App Builder
Build Apps Visually with Lightning App BuilderSalesforce Developers
 
Lightning Chess, The fun way to learn the Lightning Component Framework
Lightning Chess, The fun way to learn the Lightning Component FrameworkLightning Chess, The fun way to learn the Lightning Component Framework
Lightning Chess, The fun way to learn the Lightning Component FrameworkLieven Juwet
 
Lightning Components Introduction
Lightning Components IntroductionLightning Components Introduction
Lightning Components IntroductionDurgesh Dhoot
 
Building Dynamic UI with Visual Workflow Runtime API
Building Dynamic UI with Visual Workflow Runtime APIBuilding Dynamic UI with Visual Workflow Runtime API
Building Dynamic UI with Visual Workflow Runtime APISalesforce Developers
 
Getting Certified - proven tips for success (French Touch Dreamin)
Getting Certified - proven tips for success (French Touch Dreamin)Getting Certified - proven tips for success (French Touch Dreamin)
Getting Certified - proven tips for success (French Touch Dreamin)Samuel De Rycke
 
Summer '16 Lightning Update for ISVs (June 30, 2016)
Summer '16 Lightning Update for ISVs (June 30, 2016)Summer '16 Lightning Update for ISVs (June 30, 2016)
Summer '16 Lightning Update for ISVs (June 30, 2016)Salesforce Partners
 

Was ist angesagt? (20)

Dreamforce Developer Recap
Dreamforce Developer RecapDreamforce Developer Recap
Dreamforce Developer Recap
 
Build Next-gen Apps Faster with Lightning Components
Build Next-gen Apps Faster with Lightning ComponentsBuild Next-gen Apps Faster with Lightning Components
Build Next-gen Apps Faster with Lightning Components
 
Building End To End Lightning Apps - Dreamforce 2014
Building End To End Lightning Apps - Dreamforce 2014Building End To End Lightning Apps - Dreamforce 2014
Building End To End Lightning Apps - Dreamforce 2014
 
Workflow
WorkflowWorkflow
Workflow
 
Lightning overview
Lightning overviewLightning overview
Lightning overview
 
Syncfusion Company Brochure_May2015
Syncfusion Company Brochure_May2015Syncfusion Company Brochure_May2015
Syncfusion Company Brochure_May2015
 
Get Started with Salesforce DX!
Get Started with Salesforce DX!Get Started with Salesforce DX!
Get Started with Salesforce DX!
 
Lightning Experience for ISVs
Lightning Experience for ISVsLightning Experience for ISVs
Lightning Experience for ISVs
 
Introduction to lightning out df16
Introduction to lightning out   df16Introduction to lightning out   df16
Introduction to lightning out df16
 
Alex Tumanoff - LightSwitch - different way to create business applications
Alex Tumanoff - LightSwitch - different way to create business applicationsAlex Tumanoff - LightSwitch - different way to create business applications
Alex Tumanoff - LightSwitch - different way to create business applications
 
DF14 Partner Session Guide
DF14 Partner Session GuideDF14 Partner Session Guide
DF14 Partner Session Guide
 
Secure Development on the Salesforce Platform - Part 2
Secure Development on the Salesforce Platform - Part 2Secure Development on the Salesforce Platform - Part 2
Secure Development on the Salesforce Platform - Part 2
 
Salesforce Super Slider Lightning Component ppt
Salesforce Super Slider Lightning Component pptSalesforce Super Slider Lightning Component ppt
Salesforce Super Slider Lightning Component ppt
 
Migrating from Magento 1 to Magento 2 @ Magento Meetup Wien
Migrating from Magento 1 to Magento 2 @ Magento Meetup WienMigrating from Magento 1 to Magento 2 @ Magento Meetup Wien
Migrating from Magento 1 to Magento 2 @ Magento Meetup Wien
 
Build Apps Visually with Lightning App Builder
Build Apps Visually with Lightning App BuilderBuild Apps Visually with Lightning App Builder
Build Apps Visually with Lightning App Builder
 
Lightning Chess, The fun way to learn the Lightning Component Framework
Lightning Chess, The fun way to learn the Lightning Component FrameworkLightning Chess, The fun way to learn the Lightning Component Framework
Lightning Chess, The fun way to learn the Lightning Component Framework
 
Lightning Components Introduction
Lightning Components IntroductionLightning Components Introduction
Lightning Components Introduction
 
Building Dynamic UI with Visual Workflow Runtime API
Building Dynamic UI with Visual Workflow Runtime APIBuilding Dynamic UI with Visual Workflow Runtime API
Building Dynamic UI with Visual Workflow Runtime API
 
Getting Certified - proven tips for success (French Touch Dreamin)
Getting Certified - proven tips for success (French Touch Dreamin)Getting Certified - proven tips for success (French Touch Dreamin)
Getting Certified - proven tips for success (French Touch Dreamin)
 
Summer '16 Lightning Update for ISVs (June 30, 2016)
Summer '16 Lightning Update for ISVs (June 30, 2016)Summer '16 Lightning Update for ISVs (June 30, 2016)
Summer '16 Lightning Update for ISVs (June 30, 2016)
 

Ähnlich wie VS Code and Modern Development Environment Preview

Visual Studio 2008 Overview
Visual Studio 2008 OverviewVisual Studio 2008 Overview
Visual Studio 2008 OverviewRoman Okolovich
 
235042632 super-shop-ee
235042632 super-shop-ee235042632 super-shop-ee
235042632 super-shop-eehomeworkping3
 
An Overview Of Silverlight 2
An Overview Of Silverlight 2An Overview Of Silverlight 2
An Overview Of Silverlight 2Clint Edmonson
 
Light-up-your-out-of-the-box LightSwitch Application
Light-up-your-out-of-the-box LightSwitch ApplicationLight-up-your-out-of-the-box LightSwitch Application
Light-up-your-out-of-the-box LightSwitch ApplicationBoulos Dib
 
Customer FX Technical Reference Sheet
Customer FX Technical Reference SheetCustomer FX Technical Reference Sheet
Customer FX Technical Reference SheetGoodCustomers
 
JavaScript & Enterprise BED-Con 2014 Berlin German
JavaScript & Enterprise BED-Con 2014 Berlin GermanJavaScript & Enterprise BED-Con 2014 Berlin German
JavaScript & Enterprise BED-Con 2014 Berlin GermanAdam Boczek
 
7 useful websites for front end developers.pdf
7 useful websites for front end developers.pdf7 useful websites for front end developers.pdf
7 useful websites for front end developers.pdfpreeti katiyar
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourConvert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourBrian Culver
 
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speechVue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speechDivante
 
DevExForPlatformEngineers, introducing Kratix
DevExForPlatformEngineers, introducing KratixDevExForPlatformEngineers, introducing Kratix
DevExForPlatformEngineers, introducing KratixAbigail Bangser
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Brian Culver
 
Creativity Day Milano 27 Febbraio Milano
Creativity Day Milano 27 Febbraio MilanoCreativity Day Milano 27 Febbraio Milano
Creativity Day Milano 27 Febbraio Milanoroberto.design
 
TechnoGeek training report
TechnoGeek training reportTechnoGeek training report
TechnoGeek training reportAnup Singh
 

Ähnlich wie VS Code and Modern Development Environment Preview (20)

Visual Studio 2008 Overview
Visual Studio 2008 OverviewVisual Studio 2008 Overview
Visual Studio 2008 Overview
 
235042632 super-shop-ee
235042632 super-shop-ee235042632 super-shop-ee
235042632 super-shop-ee
 
An Overview Of Silverlight 2
An Overview Of Silverlight 2An Overview Of Silverlight 2
An Overview Of Silverlight 2
 
Light-up-your-out-of-the-box LightSwitch Application
Light-up-your-out-of-the-box LightSwitch ApplicationLight-up-your-out-of-the-box LightSwitch Application
Light-up-your-out-of-the-box LightSwitch Application
 
Customer FX Technical Reference Sheet
Customer FX Technical Reference SheetCustomer FX Technical Reference Sheet
Customer FX Technical Reference Sheet
 
JavaScript & Enterprise BED-Con 2014 Berlin German
JavaScript & Enterprise BED-Con 2014 Berlin GermanJavaScript & Enterprise BED-Con 2014 Berlin German
JavaScript & Enterprise BED-Con 2014 Berlin German
 
Vs2005p
Vs2005pVs2005p
Vs2005p
 
dot net
dot netdot net
dot net
 
Vsts intro
Vsts introVsts intro
Vsts intro
 
7 useful websites for front end developers.pdf
7 useful websites for front end developers.pdf7 useful websites for front end developers.pdf
7 useful websites for front end developers.pdf
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourConvert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
 
Overview
OverviewOverview
Overview
 
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speechVue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
 
DevExForPlatformEngineers, introducing Kratix
DevExForPlatformEngineers, introducing KratixDevExForPlatformEngineers, introducing Kratix
DevExForPlatformEngineers, introducing Kratix
 
Openobject Intro
Openobject IntroOpenobject Intro
Openobject Intro
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 
Creativity Day Milano 27 Febbraio Milano
Creativity Day Milano 27 Febbraio MilanoCreativity Day Milano 27 Febbraio Milano
Creativity Day Milano 27 Febbraio Milano
 
GlenUnderwoodResume
GlenUnderwoodResumeGlenUnderwoodResume
GlenUnderwoodResume
 
TechnoGeek training report
TechnoGeek training reportTechnoGeek training report
TechnoGeek training report
 
Ravindra Prasad
Ravindra PrasadRavindra Prasad
Ravindra Prasad
 

Mehr von Roberto Stefanetti

Microsoft Azure - Passaggio al Cloud
Microsoft Azure - Passaggio al CloudMicrosoft Azure - Passaggio al Cloud
Microsoft Azure - Passaggio al CloudRoberto Stefanetti
 
Dynamics 365 Business Central Wave 2 - Fast Tracks
Dynamics 365 Business Central Wave 2 - Fast TracksDynamics 365 Business Central Wave 2 - Fast Tracks
Dynamics 365 Business Central Wave 2 - Fast TracksRoberto Stefanetti
 
Microsoft Power BI - Concetti base
Microsoft Power BI - Concetti base Microsoft Power BI - Concetti base
Microsoft Power BI - Concetti base Roberto Stefanetti
 
Microsoft Dynamics 365 Business Central - ITA
Microsoft Dynamics 365 Business Central - ITAMicrosoft Dynamics 365 Business Central - ITA
Microsoft Dynamics 365 Business Central - ITARoberto Stefanetti
 
Business Central CRM Module (ITA)
Business Central CRM Module (ITA)Business Central CRM Module (ITA)
Business Central CRM Module (ITA)Roberto Stefanetti
 
MSDYN365 Business Central On-premise Vs Cloud SaaS
MSDYN365 Business Central On-premise Vs Cloud SaaSMSDYN365 Business Central On-premise Vs Cloud SaaS
MSDYN365 Business Central On-premise Vs Cloud SaaSRoberto Stefanetti
 
Microsoft Dynamics 365 Business Central April'19 release
Microsoft Dynamics 365 Business Central April'19 releaseMicrosoft Dynamics 365 Business Central April'19 release
Microsoft Dynamics 365 Business Central April'19 releaseRoberto Stefanetti
 
Implementing Microsoft Dynamics 356 Business Central On-Premise
Implementing Microsoft Dynamics 356 Business Central On-PremiseImplementing Microsoft Dynamics 356 Business Central On-Premise
Implementing Microsoft Dynamics 356 Business Central On-PremiseRoberto Stefanetti
 
Microsoft Dynamics 365 Business Central - Overview October 2018
Microsoft Dynamics 365 Business Central - Overview October 2018Microsoft Dynamics 365 Business Central - Overview October 2018
Microsoft Dynamics 365 Business Central - Overview October 2018Roberto Stefanetti
 
Microsoft Dynamics 365 Business Central
Microsoft Dynamics 365 Business CentralMicrosoft Dynamics 365 Business Central
Microsoft Dynamics 365 Business CentralRoberto Stefanetti
 
NAV 2018 What's new, December 14, 2017, Milan
NAV 2018 What's new, December 14, 2017, MilanNAV 2018 What's new, December 14, 2017, Milan
NAV 2018 What's new, December 14, 2017, MilanRoberto Stefanetti
 
GDPR Microsoft Strategies - Topics & Links
GDPR Microsoft Strategies - Topics & LinksGDPR Microsoft Strategies - Topics & Links
GDPR Microsoft Strategies - Topics & LinksRoberto Stefanetti
 
ForNAV la nostra soluzione per i reports con Dynamics NAV
ForNAV la nostra soluzione per i reports con Dynamics NAVForNAV la nostra soluzione per i reports con Dynamics NAV
ForNAV la nostra soluzione per i reports con Dynamics NAVRoberto Stefanetti
 
NAV 2018 and NAV New Technology - Fast Tracks - 14 dicembre 2017
NAV 2018 and NAV New Technology - Fast Tracks - 14 dicembre 2017NAV 2018 and NAV New Technology - Fast Tracks - 14 dicembre 2017
NAV 2018 and NAV New Technology - Fast Tracks - 14 dicembre 2017Roberto Stefanetti
 
NAV 2013 Cost Accounting Module
NAV 2013 Cost Accounting ModuleNAV 2013 Cost Accounting Module
NAV 2013 Cost Accounting ModuleRoberto Stefanetti
 
Document Management Systems con GLOBE e Dynamics NAV addon
Document Management Systems con GLOBE e Dynamics NAV addonDocument Management Systems con GLOBE e Dynamics NAV addon
Document Management Systems con GLOBE e Dynamics NAV addonRoberto Stefanetti
 

Mehr von Roberto Stefanetti (20)

Microsoft Azure - Passaggio al Cloud
Microsoft Azure - Passaggio al CloudMicrosoft Azure - Passaggio al Cloud
Microsoft Azure - Passaggio al Cloud
 
Dynamics 365 Business Central Wave 2 - Fast Tracks
Dynamics 365 Business Central Wave 2 - Fast TracksDynamics 365 Business Central Wave 2 - Fast Tracks
Dynamics 365 Business Central Wave 2 - Fast Tracks
 
Microsoft Power BI - Concetti base
Microsoft Power BI - Concetti base Microsoft Power BI - Concetti base
Microsoft Power BI - Concetti base
 
Microsoft Dynamics 365 Business Central - ITA
Microsoft Dynamics 365 Business Central - ITAMicrosoft Dynamics 365 Business Central - ITA
Microsoft Dynamics 365 Business Central - ITA
 
Business Central CRM Module (ITA)
Business Central CRM Module (ITA)Business Central CRM Module (ITA)
Business Central CRM Module (ITA)
 
MSDYN365 Business Central On-premise Vs Cloud SaaS
MSDYN365 Business Central On-premise Vs Cloud SaaSMSDYN365 Business Central On-premise Vs Cloud SaaS
MSDYN365 Business Central On-premise Vs Cloud SaaS
 
Dynamics NAV Concetti Base
Dynamics NAV Concetti BaseDynamics NAV Concetti Base
Dynamics NAV Concetti Base
 
Microsoft Dynamics 365 Business Central April'19 release
Microsoft Dynamics 365 Business Central April'19 releaseMicrosoft Dynamics 365 Business Central April'19 release
Microsoft Dynamics 365 Business Central April'19 release
 
Python for dummies
Python for dummiesPython for dummies
Python for dummies
 
Implementing Microsoft Dynamics 356 Business Central On-Premise
Implementing Microsoft Dynamics 356 Business Central On-PremiseImplementing Microsoft Dynamics 356 Business Central On-Premise
Implementing Microsoft Dynamics 356 Business Central On-Premise
 
Microsoft Dynamics 365 Business Central - Overview October 2018
Microsoft Dynamics 365 Business Central - Overview October 2018Microsoft Dynamics 365 Business Central - Overview October 2018
Microsoft Dynamics 365 Business Central - Overview October 2018
 
Microsoft Dynamics 365 Business Central
Microsoft Dynamics 365 Business CentralMicrosoft Dynamics 365 Business Central
Microsoft Dynamics 365 Business Central
 
NAV 2018 What's new, December 14, 2017, Milan
NAV 2018 What's new, December 14, 2017, MilanNAV 2018 What's new, December 14, 2017, Milan
NAV 2018 What's new, December 14, 2017, Milan
 
GDPR Microsoft Strategies - Topics & Links
GDPR Microsoft Strategies - Topics & LinksGDPR Microsoft Strategies - Topics & Links
GDPR Microsoft Strategies - Topics & Links
 
ForNAV la nostra soluzione per i reports con Dynamics NAV
ForNAV la nostra soluzione per i reports con Dynamics NAVForNAV la nostra soluzione per i reports con Dynamics NAV
ForNAV la nostra soluzione per i reports con Dynamics NAV
 
NAV 2018 and NAV New Technology - Fast Tracks - 14 dicembre 2017
NAV 2018 and NAV New Technology - Fast Tracks - 14 dicembre 2017NAV 2018 and NAV New Technology - Fast Tracks - 14 dicembre 2017
NAV 2018 and NAV New Technology - Fast Tracks - 14 dicembre 2017
 
C/SIDE-C/AL Vs VS Code-AL
C/SIDE-C/AL Vs VS Code-ALC/SIDE-C/AL Vs VS Code-AL
C/SIDE-C/AL Vs VS Code-AL
 
MRP and Planning Overview
MRP and Planning OverviewMRP and Planning Overview
MRP and Planning Overview
 
NAV 2013 Cost Accounting Module
NAV 2013 Cost Accounting ModuleNAV 2013 Cost Accounting Module
NAV 2013 Cost Accounting Module
 
Document Management Systems con GLOBE e Dynamics NAV addon
Document Management Systems con GLOBE e Dynamics NAV addonDocument Management Systems con GLOBE e Dynamics NAV addon
Document Management Systems con GLOBE e Dynamics NAV addon
 

Kürzlich hochgeladen

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 

Kürzlich hochgeladen (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

VS Code and Modern Development Environment Preview

  • 3. Customizations Vs Extensions Dynamics NAV Allows customization of application logic to deliver customer, industry, or region specific functionality How? Customizations: modification of base tables, code, and other objects Extensions: addition of well-defined modules that are invoked alongside the base application Why? Upgrade … and … v2
  • 4. Modern Development Environment - Why ? http://aka.ms/navdeveloperpreview https://blogs.msdn.microsoft.com/nav/2016/12/20/announcing-the-preview-of-development-tools-for-dynamics-nav/ https://robertostefanettinavblog.com/2017/07/13/nav-development-preview-updated-documentation/
  • 5. Extensions Topics EXTENSIONS  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  Offer additional protection of your IP compared to the very “open source” nature of classic NAV  Platform stability  Reduced time to deployment
  • 6. Extensions are customizations ? So, extensions are customizations? Yes! If you're familiar with the Dynamics NAV customization model, then you're probably used to making changes directly on objects. The extension model asks you to design your changes differently – namely make those changes by extending the core objects and linking to code using events. For example, instead of adding a new field that represents the customer’s birthday to the customer table, put that field into a table extension. And if you want to write code then put it in an event subscriber which can then check the birthday and then do something about it. https://blogs.msdn.microsoft.com/nav/2016/12/13/more-information-about-the-developer-preview-for-dynamics-nav/
  • 8. Extensions 2.0 https://blogs.msdn.microsoft.com/nav/2016/12/13/more-information-about-the-developer-preview-for-dynamics-nav/ Extensions 2.0 is the name we use for the new versions of extensions - ones that aren't based on the DELTA file design. Making extensions with the new tools is much easier than the current tools suite you may be familiar with. With Extensions 2.0, you code and write new objects that describe the additional capabilities you want in the system. You’ll use Table Extension and Page Extension objects to describe new fields and UI elements, and you'll use the in-client page designer to make those changes in a WYSIWIG way – all of which are stored as extensions under the cover.
  • 9. VS (Visual Studio Code) “VS: Not Visual Studio !”  Free  Open source (MIT license)  Code optimized  Now part of Visual Studio  Debugger  Native Git support  Always updated – monthly/nightly build  Apple iOS and Linux platforms  Extensions  Community https://code.visualstudio.com/ https://code.visualstudio.com/docs/customization/userdefinedsnippets https://blogs.msdn.microsoft.com/nav/tag/dyndev365/
  • 10. VS: Open Source, Cross Platform, Git “Open source, cross-platform, multi-language development environment that puts writing code at its center” https://code.visualstudio.com/
  • 11. VS: Commands  NO-INVOKE compilers (no dll / exe)  NO-DESIGNERS (no UI based development)  NO-AL DEBUGGER (built-in Node.js)  NO-DESKTOP APP (targeted for Web App)
  • 12. VS: Editing Features 1. Syntax coloring 2. Bracket Matching 3. Intellisense 4. Parameter hints 5. Code block folding 6. Go To Definition (F12) 7. Tooltips 8. Find All References (SHIFT+F12)
  • 13. VS: Workspace and UI Code Editor / Status – View – Side bars [Code Editor] 3 files open side by side (e.g. Merge) [Code Editor] Zoom (CTRL+/CTRL-) / Navigate (CTRL+TAB) [Status] Encoding / EOF / GoTo (CTRL+G) [Side] 1. EXPLORER 2. SEARCH 3. GIT 4. DEBUG 5. EXTENSIONS
  • 14. VS: GIT (Version Control) GIT (open-source distributed version control engine) - GIT local repository COMMIT to GitHub / VSTS - CMD : git remote add origin master <repo url> - CMD : git push –u origin master
  • 17. MDE - Developer Tools Preview START FROM HERE: https://blogs.msdn.microsoft.com/nav/2016/12/20/announcing-the-preview-of- development-tools-for-dynamics-nav/
  • 18. About “Preview” (from Foundation Post) https://blogs.msdn.microsoft.com/nav/2016/12/13/more-information-about-the-developer-preview-for-dynamics-nav/ Rebuilding the development tools for Dynamics NAV and Dynamics 365 for Financials is a long-term investment. We're not done with everything yet but we did want to give you a chance to see what we've done so far and to comment on it. Here’s some things to pay attention to: - The release is made available on an Azure Gallery image. - The preview is for you to play with and test - don't expect to write production code with it and don’t use it in production. - Don't try to take your existing solution and convert it - there are unfinished features and you'll probably be more frustrated than anything that the code doesn't work. - Do notice that not all procedures in the application will be available to call. We have blocked access to procedures which may run unsafe .NET or insecure methods. - Do write event/subscriber solutions - follow the existing guidelines on building extensions for the general design principles. - Do try the sample code we’ve published to get familiar with the syntax. Etc. etc. etc…. BUT WE ARE WORKING…
  • 19. AL Language - Coding Objects https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-programming-in-al https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-dev-overview https://robertostefanettinavblog.com/2016/11/29/microsoft-al-al-language-code-samples-for-developing-extensions/
  • 20. Visual Studio Code and NAV Extensions
  • 21. Visual Studio Code and NAV Extensions
  • 22. AL Development Env. Vs C/SIDE https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-get-started https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-dev-overview https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-programming-in-al https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-txt2al-tool https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-reference-overview Differences in the Development Environments 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 AL Development Environment Dates are parsed based on culture settings. Locale independent and supports only: yyyy-mm-dd. Boolean values could be expressed as yes/no. Boolean values are expressed as true/false. https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-differences
  • 23. GitHUB – Microsoft AL https://github.com/Microsoft/AL https://github.com/Microsoft/AL/tree/master/samples https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-programming-in-al https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-dev-overview
  • 25. AL Language and Coding using Snippets
  • 26. AL Language and Coding using Snippets
  • 28. Isolation and Security - Limitations
  • 29. In Client Designer Scope: “Make an extension in the client itself” Business consultants and UX designers will love using this drag-and-drop interface. Rearrange fields, rename groups, and reposition elements to build a perfect extension to support an industry-specific solution or implement a business process optimization.
  • 31. Keyboard Shortcuts https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-keyboard-shortcuts Keyboard Shortcuts The following table provides an overview of some of the shortcut key combinations that you can use when you're working with Dynamics 365 for Financials in Visual Studio Code.
  • 32. About Reports in VS Code GREAT POST BY STEVEN RENDERS HERE http://thinkaboutit.be/2017/08/how-do-i-create-a-report-and-layout-in-vscode/ HOW DO I : CREATE A REPORT AND LAYOUT, IN VS CODE? “A question I get asked frequently is: Ho Do I Create a Report in VSCode, and to me more specific, How Do I Create the Layout, being an RDLC or Word layout? The answer is that you need to create the report object as an .al file, then you create and export the layout(s) and reference them from within the .al file.”
  • 33. “AL Language” on Visual Studio Marketplace https://robertostefanettinavblog.com/2017/08/18/al-language-on-visual-studio-marketplace/ https://marketplace.visualstudio.com/items?itemName=ms-dynamics-smb.al
  • 34. Vs Code “AL Extensions” on Marketplace https://robertostefanettinavblog.com/2017/08/31/vs-code-al-extensions-part-i/ There are some extensions that can be used in VS Code and are usefull for development with AL, I have listed and inserted a brief description, since they are constantly evolving, These extensions are currently available: – AL Language (By Microsoft) – AL Formatter (By Rasmus Aaen) – AL Runner (By Tobias Fenster) – NAV Skills AL Clean Code (by Mark Brummel) – Dynamics NAV/AL (By Zodiacfireworks) – Dynamics NAV SCM (by Cloud Ready Software) – NAV Snippets (By Naresh)
  • 35. Modern Development Environment - Links LINKS http://github.com/microsoft/al/ https://blogs.msdn.microsoft.com/nav/tag/dyndev365/ https://blogs.msdn.microsoft.com/nav/2016/11/04/dynamics-nav-and-help-a-new-world/ https://robertostefanettinavblog.com/2017/07/13/nav-development-preview-updated-documentation/ http://www.waldo.be/2017/02/20/make-the-new-developer-tools-available-on-a-local-machine/ VIDEOS Install Visual Studio Code With Al Compiler https://www.youtube.com/watch?v=aeE-C3z_qkI&t=53s Dynamics NAV - Getting Started With Visual Studio Code https://www.youtube.com/watch?v=d2GoSQUCuxE Visual Studio Code - Getting Started with Git(Hub) https://www.youtube.com/watch?v=NTY5VELbCWI Inside AL for Visual Studio Code | Where are we https://www.youtube.com/watch?v=xjceqM6V7BM&t=1483s Visual Studio Code Building Publishing and Debugging AL Projects https://www.youtube.com/watch?v=hpZcdqx0udA Visual Studio Code - Convert C/AL to AL https://www.youtube.com/watch?v=HCaooHKxBrM&t=239s
  • 38. FAQ #1 Some FAQ from MicrosoftEvents Sessions Question: What is Visual Studio Code? Answer: Visual Studio Code is the environment in which development of NAV apps will happen in the future. https://code.visualstudio.com/ Question: What is a snippet? Answer: Code snippets are templates that make it easier to enter repeating code patterns, such as loops or conditional-statements. https://code.visualstudio.com/docs/customization/userdefinedsnippets Question: What is a symbol? Answer: Instead of having the complete source code for NAV base app and other apps, you only have the symbols in order to know what you allowed to call/use/subscribe to Question: Where can i get the Object ID's Answer: http://aka.ms/AppsForFinancials
  • 39. FAQ #2 Question: How to set up al.json to work with visual studio code, outside a azure environment? Answer: Currently NAV only supports Windows Authentication for the new development environment, meaning it isn't easy Question: Is this only available on the VM, or can it be downloaded/installed locally? Answer: The advantage of using the VM is that you can remove and renew when we have new releases every month. You can shut down your VM to stop the cost for the VM. Question: I cannot find "AL Language" in VS Code, what do I do wrong? Answer: It is not publicly available, it is available on an Azure Gallery Image. use http://aka.ms/navdeveloperpreview to provision a VM with a new NAV version with visual studio code AND the AL addin
  • 40. Question: How to open Design Mode? Answer: Design Mode is only available in the Development Preview environments: use http://aka.ms/navdeveloperpreview to provision a VM with a new NAV version with visual studio code AND the AL addin Question: How does the In Client Designer works together with VSCode? Answer: all the changes in the "In App Designer" get saved as an extension. If you select "Save as files", then you can download them and keep working in VS Code. Otherwise you can save them as a change to the entire tenant. FAQ #3
  • 41. Links For more information about the Dynamics NAV Developer Preview and extensions, see the following resources: Microsoft MSDN https://msdn.microsoft.com/en-us/dynamics-nav/extending-microsoft-dynamics-nav-using- extension-packages https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-get-started https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-dev-overview https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-programming-in-al https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-inclient-designer https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-differences https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-keyboard-shortcuts My Blog https://robertostefanettinavblog.com/2017/08/18/al-language-on-visual-studio-marketplace/ https://robertostefanettinavblog.com/2016/12/20/announcing-the-preview-of-development- tools-for-dynamics-nav-dynamics-nav-team-blog https://robertostefanettinavblog.com/2017/02/11/all-about-microsoft-dynamics-365-for- financials
  • 42. Announcing C/AL Open Library https://robertostefanettinavblog.com/2017/08/18/al-language-on-visual-studio-marketplace/ https://github.com/Microsoft/cal-open-library
  • 43. About Project “C/AL Open Library” About Project : “C/AL Open Library” “The purpose of this repository is to build a C/AL library based on community contributions that will serve as an accelerator for adoption of the Extensions V2 technology. The source code from this library will be included in the base application of ‘Dynamics 365 for Financials’ on a monthly basis. The primary goal is to enable creation of .NET type wrappers written in C/AL that can then be subsequently used from Extensions V2. DotNet types must not be part of the definition of public functions in the submitted code to be callable by Extensions V2. All contributions will be reviewed by Microsoft and assessed for the overall fit into the product, for reusability and for following the general coding style that is present in the other base application objects.”