What's New für Entwickler (mit VS Code)

14. Dezember 2017 16:02

Beim Arbeiten mit AL in Visual Studio Code (VSC) mit der Extension für AL ist ja verglichen zu C/SIDE so ziemlich alles neu, auch wenn die Syntax im Vergleich zu C/AL ähnlich aussieht, deswegen starte ich hier mal ein Sammelthema für das "Modern Development Environment" ab NAV 2018 bzw. Business Central, bei dem die initiale Previewphase ja nun abgeschlossen ist.
In diesem Thema bitte keine Beiträge zu C/SIDE bzw. C/AL.
ALicon.png

Microsoft Learn (vormals Docs)
Development in AL
Development and Administration for Dynamics 365 Business Central
Runtime Versions
Technical Validation FAQ
Dynamics Translation Service (DTS) VSC-Extension (Preview)
Translations Overview
AL Changelog
Control Add-in Object u.a. für Farben/Fonts
Discover all aka.ms links related to Business Central :greenarrow: https://aka.ms/bclinks
Onlinekurs: Introduction to the basics of AL programming in Dynamics 365 Business Central



Abschussliste
Deprecated Features in the Platform - Clients, Server, and Database
Deprecated Fields, and Fields Marked as Obsolete
Analysetools
AppSourceCop Analyzer Rules
CodeCop Analyzer Rules
PerTenantExtensionCop Analyzer Rules
Onlinekurse
Extend Business Central
Office Hours
Rückschau der aktuellen Office Hours Recordings On-Demand
Teilnehmerfragen des Events https://aka.ms/powerama (Eventcode eingeben z.B. 1675)
Lizenzierung
Licensing Guides
AppSource
Apps für Business Central
App für automatische Tests: Test Runner
BC als App
Get Business Central Desktop App (für SaaS und On-Premises ab 20.x)
Business Central App (online)
Business Central App (on-premises) (Altversion, verwendbar nur bis BC 19.x, das wird leider nur im englischen Originaltext erwähnt)
Power BI App: Dynamics 365 Business Central Usage Analytics

VS Code
VS Code Updates

VS Code im Browser
https://vscode.dev




[Updates ab 01.04.24] Neue Features ab 2024 Wave 1 (24.x), AL Runtime 13.0
What's new in Development (24.x)
Natalie: Docs: What’s new in BC 24 for developers

[Updates ab 01.08.23] Neue Features ab 2023 Wave 2 (23.x), AL Runtime 12.0
What's new in Development (23.x)
Namespaces in AL: now it’s becoming reality
Introducing the new AllowInCustomization field property
Ab BC 23 werden alle Table Extensions in einer Companion Table zusammengefasst.
Learn: Better performance when working with multiple extensions
Learn: Extending e-documents functionality
Learn: Call web services with AL Rest Client module

[Updates ab 24.01.23] Neue Features ab 2023 Wave 1 (22.x), AL Runtime 11.0
What's new in Development (22.x)
Bugfix für Integerdivisionsfehler (bislang Compiler Warning AL0756)
Database Isolation Level kann in AL am Record Datatype eingestellt werden, als Vorgabe das neue Level ReadCommitted
CurrReport.Language wird durch CurrReport.FormatRegion := CultureName ergänzt
Iterating with foreach on Text variables
Better InStream support (InStream.Length & InStream.Position)
Parameter UpdateKey nicht mehr verwenden: RECORD.FINDSET(ForModify,UpdateKey), sonst Warnung "depecrated"


[Updates ab 04.09.22] Neue Features ab 2022 Wave 2 (21.x), AL Runtime 10.0
What's new in Development (21.x)
Configurable and redesigned Intrastat solution
Promoted actions using the actionref syntax
Dynamics 365 Business Central 2022 Wave 2: changing the way of promoting actions
Dynamics 365 Business Central 2022 Wave 2: introducing the new DataTransfer data type
Developers can write faster upgrade code (New DataTransfer data type)
View SQL locks during AL debugging (Locks in Database Statistics)
Access database row version from AL code – (field) SystemRowVersion: BigInteger
Personalize and design the Automate action group in the web client – The customaction keyword
Rely on personalization to show or hide Power BI parts on lists (New Power BI FactBox)
Visualize code lines executed in snapshot capture (Snapshot Debugger Lines Hit Decoration)
Specify completion in IntelliSense with a character (period, comma, colon, semicolon, brackets, as well as single and double quotes)
Apply resource exposure policy to DEV extensions (“resourceExposurePolicy”:”applyToDevExtension”)
5 New Development Features In Business Central 2022 Release Wave 2
Configuring Delegation Web Server :greenarrow: Ab 21.x: Client Service Port 7085 statt 7046 :!: Deploy Demonstration Environment
Views
Migrating Legacy List Views
Deprecating Explicit and Implicit With Statements Schalter als Vorgabe NoImplicitWith in app.json, um Explicit With weiterhin nutzen zu können.
Identifying keys in code
Auto-save as you work

[Updates ab 22.12.21] Neue Features ab 2022 Wave 1 (20.x), AL Runtime 9.0
What's new in Development (20.x)
Plan and prepare for Dynamics 365 Business Central in 2022 release wave 1
Migrating from .NET Framework to .NET Standard
Dynamics 365 Business Central 2022 Wave 1 loves Power Automate
Adding multiple layouts (New rendering section for report and report extensions)
Users can export report datasets to XML
Video: What’s new in AL 2022 Wave 1 – Hacker Edition
Isolated events and New isolated event OnCompanyOpenCompleted
InherentPermissions attribute is now available in the scope “Cloud” (ab Runtime 9.2)
Technical Code Changes in Microsoft Dynamics 365 Business Central 2022 Release Wave 1
Neue PWA-App statt UWP New desktop app delivering full web client experience on desktop is listed in the Microsoft Store
App für automatische Tests: Test Runner

[Updates ab 01.08.21] Neue Features ab 2021 Wave 2 (19.x), AL Runtime 8.0
What's new in Development (19.x)
Vier Verkaufsbelege werden durch neue Versionen ersetzt (Report ID 204-207 :greenarrow: 1304-1307): Remove obsolete reports 204, 205, 206, and 207
Dynamics 365 Business Central: introducing the AL profiler
Neu in app.json: resourceExposurePolicy :greenarrow: Resource Exposure Policy Setting
How to allow your app to debug in business central
Keine BOM (Byte Order Mark) in JSONS über Webhooks mehr: Working with Webhooks in Dynamics 365 Business Central
Business Central 2021 wave 2 (BC19) new features: Force sync of customer-specific extensions in online environments (ForceSync mode in Production Environment)
App Identity Name und Publisher können jetzt geändert werden: "With Business Central 2021 release wave 2, name and publisher are no longer considered part of the app identity and can therefore be changed to reflect branding or acquisition, for example."
ErrorBehavior Attribute
SQL-Tuning
Preprocessor Directives in AL

[Updates ab 01.02.21] Neue Features ab 2021 Wave 1 (18.x), AL Runtime 7.0
What's new in Development (18.x)
Preprocessor Directives in AL
Return of the Complex Type
Dynamics 365 Business Central: introducing the reportextension object
Extending reports in Business Central
What’s new about interfaces in 2021 Wave 1
PermissionSets: Quote: “I never want to go back to XML permission”
https://github.com/microsoft/BCTech/tree/master/samples/PermissionSetConversion
Videos:
VS Code AL Extensions - 1
VS Code AL Extensions - 2
VS Code AL Extensions - 3
VS Code AL Extensions - 4

[Updates ab 01.10.20] Neue Features ab 2020 Wave 2 (17.x), AL Runtime 6.0
What's new in Development (17.x)
Video: What's new in AL for Business Central version 17 (aka. 2020 Wave 2) - Hacker Edition
XML Comments in Code
Conditional directives
CommitBehavior Attribute
Performance:
Ab 17.2:

[Updates ab 01.03.20] Neue Features ab 2020 Wave 1 (16.x), AL Runtime 5.0
Interfaces in AL and why that matters
An update on AL interfaces: implementation details
AL Interfaces and Other Dynamics 365 Business Central Wave 1 Features
[INFO] "Document Type" use Enum Data Type now (16.0), be careful
Performance Articles For Developers
Dynamics 365 Business Central 2020 Wave 1: price management with interfaces
Dynamics 365 Business Central 2020 Wave 1: FAQ about updating apps for v16
Dynamics 365 Business Central and the new Microsoft Application "proxy" app
Dynamics 365 Business Central: something more about dependency propagation

[Updates ab 05.09.19] Neue Features ab 2019 Wave 2 (15.x), AL Runtime 4.0
Modern developer tools
Brüche in der Programmstruktur der BaseApp (die jetzt wieder Base Application heißt) und der System Application (ab BC 15) werden hier aufgeführt: Breaking Changes...and how to resolve them

Dynamics 365 Business Central on-premise Wave 2: changing license
New AL file type icon
Dynamics 365 Business Central Wave 2: customizing the Base Application
Asynchronous programming in D365 Business Central 2019 wave 2: Page Background Tasks
The “SystemId” in Microsoft Dynamics 365 Business Central 2019 release Wave 2
Customization INSIDE the System Application in Dynamics 365 Business Central


[Update 23.01.19] Neue Features ab April 2019 (14.x), AL Runtime 3.0
Release Notes April '19
Designer Enhancements
Standard Web API
Testing AL RAD (Rapid Application Development)


GitHub
AL (Bugmeldungen, Fragen zu AL, Kompiler usw.)
FAQ
Für Eventrequests, Fragen zu Funktionalitäten in Extensions (Forum wurde im November 2018 eingerichtet)
ALAppExtensions Fragen zu Apps bzw. Extensions
BCTech Business Central Tech Samples
BCUpgrade Powerpoint, Skripte für Upgrades u.ä.
Finn Pedersen: GitAttributes in AL projects (damit GitHub AL nicht mit Perl verwechselt, sondern als eigenständige Sprache erkennt)

Starting with AL: Frequent issues (mostly with download symbols).
Die Lizenz auf dem Server bzw. in der Datenbank muss dabei auch eine NAV 2018 Entwickerlizenz sein. Mit der NAV 2018 Cronuslizenz oder einer NAV 2017 Entwickerlizenz war es bei uns nicht möglich, "Download Symbols" erfolgreich auszuführen. :greenarrow: Nachtrag: Ab 01.04.21 kann mit Versionen ab BC 15 auch mit Demolizenzen ohne Einschränkung programmiert werden :!: .

A.J. Kauffmann
How to connect Visual Studio Code with NAV 2018
The different AL Extensions versions for Visual Studio Code
Running NAV docker containers on a local Hyper-V Virtual Machine
Isolated Storage in your Business Central App
Outbound HTTP calls blocked in Business Central Sandbox
PDF Viewer in Business Central
.Net types in AL are reference types
Using tables instead of table extensions
Extending Standard APIs (1)
Extending Standard APIs (2)

Waldo
Autonumber Objects in AL
Enable Code Analysis for AL
Enable the updated code analysis for AL
Function Overloading in AL
Microsoft Dynamics 365 Business Central & NAV Event Publishers Repository
To Hybrid or Not To Hybrid
App Dependency Tree – import your apps in the right order (with PowerShell)
Why and how to rename all AL-files of your app with the “CRS AL Language Extension”
Which API’s are available in my Business Central environment?
Setting up docker containers with apps from AppSource
New Command in My CRS AL Language Extension: Search Object Names
How to REALLY rename all AL-files of your Business Central app..
Dependency Analysis Tool (ALDependencyAnalysis)
Design Considerations for Upgrade Codeunits
Microsoft Dynamics 365 Business Central Publisher program

Yun Zhu
How to install AppSource Extension in Dynamics 365 Business Central SaaS
Dynamics 365 Business Central: Install AppSource Apps via Admin Center API

MSDN NAV-Blog
Generate Symbols in a Modern Development environment with Microsoft Dynamics NAV 2018
Import Symbols in New or Upgrade Databases with Microsoft Dynamics NAV 2018

Hilfreiche Forumsthemen
Dynamics 365 Business Central : New modern development environment

Sonstige Blogs
Alexey N. Finogenov
Sample Extension v2.0 — Dynamics NAV / AL extension / SaaS — ALF Export Setup Tabs to Excel
How to add a field to Item Card in Business Central
How to debug on Business Central cloud version
Dmitry Katson
Demystifying installation process for Business Central Apps
Demystifying upgrade process for Business Central Apps
Queuing Background Tasks
My NAV Blog
Hit F12 – some tricks in VSCode
Steven Renders
How Do I: Develop an Extension in Business Central On Premises?
ArcherPoint
How To: Add a Field in an Extension in Microsoft Dynamics Business Central/NAV
Tobias Fenster
Export errors and warnings from VS Code
Simplanova
TXT2AL Tool
AL Code Management with GIT (Part 1)
Code Management with GIT: Azure DevOps (Part 2)
Step by Step Guide to JavaScript Control Add-in
How to Upload and Download Files to and from Dynamics 365 Business Central
Andrzej Zwierzchowski
Custom AL Code Analyzers
Foldable regions in AL in VS Code
ArcherPoint
Customizing Microsoft Dynamics Business Central on premises using AL Code Functions
Navision24
AL-Extensions entwickeln
Navision Planet
Top 15 Difference in C/AL vs AL Coding

Videos
Dynamics 365 Business Central Development (Playlist)
Dynamics NAV - C/AL vs AL - Spot the Differences
AL in Visual Studio VS Code for Those Who are Still Afraid (NAV)
Dynamics NAV - Getting Started With Visual Studio Code
Visual Studio Code Building Publishing and Debugging AL Projects
Real Life Experiences with Per Tenant Extensions
Using Azure DevOps with your AL Development
Get started with Testing your AL Code
Outline View in VSCode with AL development
Running multiple NAV/BC containers on an Azure VM
What does it mean to 'build' an app for Business Central
Getting easily from functional test case definitions to automated tests
How I learned NAV in a few months
Waldo on DevOps - Ep1 - Setting up a build pipeline for my good friend Henrik
Inside Git: Branches
VS Code AL Extensions - 1
VS Code AL Extensions - 2

Videochannel
Vjeko Live
Areopa webinars
Erik Hougaard
Tomáš Kapitán (bzw. international als Tomas Kapitan)

Extensions für Visual Studio Code
Für AL
  1. AL Language
  2. CRS AL Language Extension (Download)
  3. C/AL and AL Side-by-Side Development with AdvaniaGIT (Download)
  4. AZ AL Dev Tools/AL Code Outline
  5. AirApps iAL
  6. AL Snippets
  7. AL Variable Helper
  8. AL Toolbox
  9. NaverticAL - NAVERTICA AL Extension
  10. NaverticAL Build and Release Tasks for Business Central
  11. AL Object Designer
  12. AL Language Tools
  13. NAB AL Tools
  14. AL CodeActions
  15. AL Language NIQ
  16. AL XML Documentation
  17. mdAL
  18. AL Productivity Tools
  19. AL Test Runner
  20. BusinessCentral.LinterCop (Nachfolger von AL Lint)
  21. AL Structure Creator
  22. AL Central (kostenlos, aber nur für E/R-Diagramme auf https://bcentral.dev, dort kostenpflichtig))
  23. AL Studio (kostenlose Community Edition, auch kostenpflichtige Versionen erhältlich)
  24. AL Object Helper
  25. AL Formatter
  26. Fix AL File Names
  27. AL ID Range Manager
  28. JAM AL Renumbering Tool
  29. ATDD.TestScriptor
  30. AL Object ID Ninja
  31. Dynamics 365 Translation Service (Preview)
  32. AL Pragma Explorer
  33. Azure DevOps Simplify
  34. Performance Toolkit
  35. AL GetReservedObjects
  36. Paste JSON to AL Tables
  37. AL Language Linux patcher
  38. AL Packages

Extensionsammlungen (Sammlungen für AL, Git, Docker, Markdown,PowerShell u.v.a. Helferlein im Arbeitsalltag)
  1. AL Extension Pack (Waldo)
  2. Spare Brained AL Pack (Jeremy Vyska)
  3. SD Extension Pack for Dynamics 365 Business Central (Stefano Demiliani)
  4. AL KTC Dev
  5. Powershell Extension Pack

Für Git (Links zu Git selber s.u. am Ende dieses Beitrags)
SQL-Server
Für XML-Dateien
Zum Testen von Webservices
Für Dokumentation

Themes
Mit diesem Farbdesign, das farblich an C/AL erinnert, erscheinen Funktionsnamen, Befehle, einfache Feldnamen u.a. in AL im Fettdruck.
Dynamics NAV C/Side Theme
NDP AL Theme

Debugger Extension

Sonstige Tools
Als kostenloses Add-on die Page 1000, um das Arbeiten mit alten und neuen Werkzeugen zu verbinden.
ForNav Modern Object Explorer
Tools für VSC (für Textdateien u.a.)

Für XLIFF-Sprachdateien
  1. SynXLIFF
  2. XliffCompare :greenarrow: Xliff Compare & Finding Missing Translations
  3. NAB AL Tools
  4. Working with Translation Files
  5. Migrating Translations
  6. Txt2Xliff.ps1 (Skript zur Konvertierung von NAV-Sprachdateien)
  7. AL Language NIQ
  8. XLIFF Sync :greenarrow: (Overview)
  9. PowerShell XLIFF Sync
  10. XLF Editor
  11. Dynamics 365 Translation Service (Preview) :greenarrow:Dynamics 365 Translation Service Visual Studio Code extension (Public Preview)
    Dynamics 365 Translation Service Azure DevOps extension (Public Preview)
  12. Poedit
Microsoft Terminology

Für Upgrades
AL Upgrade Toolbox


Quellcodeverwaltung
Azure Tools
Azure DevOps
Azure DevOps Roadmap
Tobias Fenster: Azure DevOps Simplify - the community extension to work more efficiently with Azure DevOps from VS Code
Extension: Azure DevOps Simplify
GitHub
AL-Go for GitHub
Playlist AL-Go for GitHub Workshop
Blogartikel dazu:

Ablösung von .NET-Komponenten
Azure Functions

Test Automation
App für BC: Test Runner
Test Fixture Initializer

Git als Versionskontrollsystem für verteilte Systeme, ggf. in Kombination mit Azure DevOps bzw. AL-Go for GitHub.
Git
GUI Clients für GIT (GitHub Desktop, Git Extensions, SourceTree, GitKraken usw.)


Editor-Binaries ohne Telemetrieübertragung/Tracking
VSCodium
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: What's New für Entwickler (mit VS Code)

14. Dezember 2017 16:28

Hi,

ich hab bisher noch nichts mit Visual Studio Code gemacht. :-( :-?

Habe ich richtig verstanden, dass man das VS Code AL benutzt um Extensions für Nav2018 zu programmieren?
Und das geht nur mit dem VS Code, und nicht mit Visual Studio?
Und alles andere wie gehabt weiter in dem "Nav Development Environment" mit C/SIDE C/AL ?

Danke

(Verzeiht meine Dumme Fragen zum NAV 2018, aber nachdem ich auf Nav 2009 CC festsitze, und den Anschluss zu 2016 verpasst habe, hoffe ich nun mit 2018 wieder anschluss zu finden )

Re: What's New für Entwickler (mit VS Code)

15. Dezember 2017 00:23

Habe ich richtig verstanden, dass man das VS Code AL benutzt um Extensions für Nav2018 zu programmieren?

Ja, derzeit nur für Extensions (für NAV). In Zukunft soll aber die gesamte Entwicklung dort stattfinden.
Und das geht nur mit dem VS Code, und nicht mit Visual Studio?

Ja. VS Code hat trotz der Namensähnlichkeit nichts mit dem "großen" Visual Studio gemein. Das ist ein plattformübergreifender Texteditor (auch für macOS,Linux) für Programmiersprachen mit integrierter Quellcodeverwaltung, der mit zahllosen Extensions für viele Zwecke erweitert werden kann.
https://code.visualstudio.com/
Eine dieser Extensions (für VS Code) ist "AL Language" von MS, die erst das Programmieren von Extensions (für NAV :wink: ) in AL (Application Language) ermöglicht. Ohne die "AL Language"- Extension gibt es keine Verbindung zur Datenbank bzw. zu deren Dienst, keinen Debugger, kein sprachspezifisches Intellisense, keine Codevorlagen, kein Kompilieren mit Fehleranzeige usw.
Daneben gibt es auch schon diverse kleine Extension-Tools für NAV, hatte Natalie hier schon verlinkt.
Und alles andere wie gehabt weiter in dem "Nav Development Environment" mit C/SIDE C/AL ?

Noch, aber nicht mehr lange. Da sind die Tage gezählt und da die Lernkurve für die neue Umgebung recht hoch ist, lieber heute als morgen damit anfangen.

Re: What's New für Entwickler (mit VS Code)

15. Dezember 2017 09:36

Hi Kowa,

danke für die Erklärung.

Mit "in der Zukunft soll die ganze Entwicklung dort stattfinden", ist damit "Alles" gemeint? Pages, Reports, usw?

Das Ding ist irgendwie total an mir vorbeigegangen, so war ich immer im Glaube irgendwann würde Visual Studio (das Große) die NAV Entwicklungsumgebung ablösen.
Dann muss ich jetzt aufpassen dass ich den Zug nicht wieder verpasse. Ist C# .Net für die NAV Zukunft wichtig? Habe die letzten Jahre fleißig gelernt weil auch immer dachte dass ich das in der NAV Zukunft brauchen würde.

Re: What's New für Entwickler (mit VS Code)

15. Dezember 2017 17:57

elTorito hat geschrieben:Mit "in der Zukunft soll die ganze Entwicklung dort stattfinden", ist damit "Alles" gemeint? Pages, Reports, usw?

Ja. Standard Pages kannst du dann mit "PageExtensions" anpassen. Wenn du das VSCode mit der AL Extension installiert hast mach einfach mal "STRG + SHIFT + P" und dann "AL: GO!". Dann wird die ein Projektordner angelegt mit einem kleinen "Hallo Welt!" Beispiel drin.. in diesem wird die "Customer Card" erweitert.
Es gibt auch einen "In App Designer". Mit dem kannst du im laufendem NAV Anpassungen machen und diese anschliessend runter laden. (meine 2 Versuche damit sind bisher aber gescheitert).

elTorito hat geschrieben:Ist C# .Net für die NAV Zukunft wichtig? Habe die letzten Jahre fleißig gelernt weil auch immer dachte dass ich das in der NAV Zukunft brauchen würde.

Nein und Ja.
Du wirst in NAV kein DotNet Bibliotheken und Variabeln mehr direkt benutzen können.
ABER es gibt "Azure Funktionen" welche in jeder X-Beliebigen Programmiersprache geschrieben werden können. Dies ermöglicht einen viel einfacheren Zugriff auf viel mehr Funktionen.

Das Ganze fühlt sich am Anfang sehr ungewohnt an. Lass dich nicht entmutigen. Ich hab nebenbei auch noch C/SIDE offen um bei manchen Sachen einfach nach zu schauen. Fang an für Sachen die du immer wieder machen musst, Makros zu schreiben, das erleichtert die arbeit ungemein. Nimm dir die Zeit und Teste einfach mal rum. Durch die Integration mit Docker lässt sich eine NAV2018 Testumgebung innerhalb von 5 Minuten auf setzen.

Re: What's New für Entwickler (mit VS Code)

16. Dezember 2017 00:14

Wohl wichtiger als C# innerhalb eines erweiterten NAV wäre es m.E., JavaScript zu lernen, dafür gibt es in AL bereits integrierten Support für Control-Add-ins. Das ist hier zukünftig also viel leichter als in C/AL einzubinden.
https://blogs.msdn.microsoft.com/nav/2017/10/12/nav-development-preview-october-update/
Nachtrag: Die Programmiersprache für VSC Extensions ist auch entweder JavaScript oder bevorzugt TypeScript, ein Superset von JavaScript mit strenger Typisierung, also zur Laufzeit zuverlässiger, da man dadurch hier nicht so schlampig lax :wink: wie in JavaScript programmieren kann.

Für Control-Add-ins kann C# auch nur im Windowsclient (vormals RTC) genutzt werden, und da der bei MS auch schon auf der erweiterten Abschussliste steht, werden nur noch Technologien forciert, die im Webclient bzw. Universal App (Tablet bzw. Phone Client) für mobilen Einsatz und natürlich der Cloud genutzt werden können.

Für das visuelle Design bei Reports gibt es (noch?) keinen Support, das läuft weiterhin den über Report Builder oder Visual Studio Professional, wenn man mehr Komfort möchte. In AL sind es dann im Gegensatz zu C/AL pro Report zwei getrennte Dateien, eine mit .al für den Quellcode und eine mit .rdlc-Endung für das Layout.

Re: What's New für Entwickler (mit VS Code)

18. Dezember 2017 09:43

Aus dem Blog von A.J. Kauffmann:
Porteinstellungen und Webclient url sind ggf. anzupassen
How to connect Visual Studio Code with NAV 2018

Es kursieren verschiedene Builds bzw. Bezeichnungen, je nach Installationsweg
The different AL Extensions versions for Visual Studio Code
Obere Extension (for Dynamics NAV) wurde über die .vsix-Datei der DVD im Ordner ModernDev manuell installiert, die untere (for Dynamics 365) über den Marketplace installiert.
ALextensions2.png

Nachtrag: Die Versionen müssen dabei genau zueinander passen, siehe hier. (Nachtrag: Kinderkrankheiten, mittlerweile ist die AL App auch versionsübergreifend nutzbar. Nur bei BC-Previews müssen weiterhin die AL-Preview-Extensions verwendet werden, die nun auch im AppSource verfügbar sind.)

Running NAV docker containers on a local Hyper-V Virtual Machine
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: What's New für Entwickler (mit VS Code)

19. Dezember 2017 13:03

Das Ganze fühlt sich am Anfang sehr ungewohnt an. Lass dich nicht entmutigen. Ich hab nebenbei auch noch C/SIDE offen um bei manchen Sachen einfach nach zu schauen. Fang an für Sachen die du immer wieder machen musst, Makros zu schreiben, das erleichtert die arbeit ungemein. Nimm dir die Zeit und Teste einfach mal rum. Durch die Integration mit Docker lässt sich eine NAV2018 Testumgebung innerhalb von 5 Minuten auf setzen.


Ja, Lernkurve ist hoch. Da sind viele Begriffe die ich zwar mal gehört habe, aber nicht näher mit befasst habe. Die da wäre, Docker, PowerShell, Visual Studio Code, Dies das jenes... Sehr viel Neuland für mich :roll:

Wenn ich Fragen rund ums Visual Studio Code , Extensions Programmierung/Veröffentlichung, ... ... , habe. Auch hier in den Nav 2018 Bereich?

Re: What's New für Entwickler (mit VS Code)

19. Dezember 2017 13:19

elTorito hat geschrieben:Wenn ich Fragen rund ums Visual Studio Code , Extensions Programmierung/Veröffentlichung, ... ... , habe. Auch hier in den Nav 2018 Bereich?

Wenn es im Zusammenhang mit Microsoft Dynamics NAV 2018 zu tun hat: Klar, dafür ist dieses Forum ja da.
Wenn es nichts mit Microsoft Dynamics zu tun hat, könnte deine Frage in eine darauf spezialisierte Community besser aufgehoben sein.

Re: What's New für Entwickler (mit VS Code)

19. Dezember 2017 14:53

Ich habe jetzt schon einiges mit VS Code probiert und auch erste Erfolge erzielt. Eines ist mir bisher nicht gelungen und ich bin mir sicher, dass ich mich nur zu blöd anstelle: wie kann ich in einer Extension das Verhalten eines vorhandenen Feldes ändern? Also eine simple Logik, z.B.: ich möchte eine E-Mail-Adressfeld mit einer RegEx-Prüfung auf Gültigkeit versehen. Die Codeunit mit der Funktion zur Prüfung ist kein Problem und fertig, aber wie kann ich jetzt auf z.B. den OnValidate-Trigger des Feldes zugreifen oder von mir aus natürlich auch auf ein passendes Event.

Sync-NAVApp erforderlich für Extensions V2

19. Dezember 2017 15:01

Zum bekannten Sync-NAVTenant gesellt sich für Extensions noch ein zweiter Befehl zum Synchronisieren: Sync-NAVApp.

Der muss zwischen Publish-NAVApp und Install-NAVApp eingeschoben werden, um Tabellen und Felder der Extension für die Installation bereitzustellen, ggf. zusammen mit dem ebenfalls neuen Start-NAVDataUpgrade falls eine ältere Version der Extension vorhanden war.

[Nachtrag 3.01.19]: Zum Entfernen von eventuell vorhandenen alten Versionen der Extension bzw. Installationsversuchen derselben wird Sync-NAVApp dabei mit dem Parameter -Mode Clean ausgeführt (Achtung: Das bedingt kompletten Datenverlust aller Daten aller Versionen der App :!: (Link)).
Daher erscheint hier die Sicherheitsabfrage, falls man die nicht mit -Force unterdrückt.
SyncCleanMode.png

How to: Publish and Install an Extension v2.0

Aber nicht die einzigen Newcomer, komplette Liste der aktuellen Cmdlets hier:
Microsoft.Dynamics.Nav.Apps.Management (NAV 2018)
im Vergleich zu NAV 2017
Microsoft.Dynamics.Nav.Apps.Management (NAV 2017)
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: What's New für Entwickler (mit VS Code)

19. Dezember 2017 15:44

Tim hat geschrieben:Also eine simple Logik, z.B.: ich möchte eine E-Mail-Adressfeld mit einer RegEx-Prüfung auf Gültigkeit versehen. Die Codeunit mit der Funktion zur Prüfung ist kein Problem und fertig, aber wie kann ich jetzt auf z.B. den OnValidate-Trigger des Feldes zugreifen oder von mir aus natürlich auch auf ein passendes Event.


Es gibt die Möglichkeit es beim Validieren des Tabellenfeldes zu machen (OnBeforeValidateEvent/OnAfterValidateEvent)
Code:
[EventSubscriber(ObjectType::Table, 18, 'OnAfterValidateEvent', 'MEINFELD', true, false)]
local procedure OnAfterValidateEventEmail(var Rec : Record "Customer"; var xRec : Record "Customer"; CurrFieldNo : Integer);
...


Oder wenn du die Validierung nur auf ein bestimmtes Feld auf Page xy haben möchtest dann mit einer Pageextension
Code:
pageextension 50099 CustomerExt extends Customer
{
    layout
    {
        modify("E-Mail") {
            //MEin Code
        }
    }
}

Anniversary Update

20. Dezember 2017 18:09

Andere Programmiersprachen konnten es schon immer, AL kann es nun auch, und ab NAV 2018 R2 (oder wie auch immer die Version heißen wird…) sollte es zusammen mit NAV dann auch gehen: Funktionen können überladen werden.
NAV Development Preview – Anniversary Update

Re: What's New für Entwickler (mit VS Code)

21. Dezember 2017 17:07

In C/AL müssen temporäre Tabellen zur Laufzeit ja nicht lizenziert sein, nur bei der Entwicklung. Bei Extensions soll es aber anders sein; Apps, die temporäre Tabellen außerhalb der Lizenz verwenden, sind nicht installierbar (Quelle: Weihnachtsrundmail von Marije Brummel).

Re: What's New für Entwickler (mit VS Code)

10. Januar 2018 17:09

Aufzeichnung eines Webinars mit Marije Brummel
Dynamics NAV - C/AL vs AL - Spot the Differences

Weitere Videos:
Dynamics NAV - Getting Started With Visual Studio Code
Visual Studio Code Building Publishing and Debugging AL Projects

Re: What's New für Entwickler (mit VS Code)

12. Januar 2018 11:24

Kowa hat geschrieben:Aufzeichnung eines Webinars mit Marije Brummel
Dynamics NAV - C/AL vs AL - Spot the Differences


Gibt es eigentlich eine Demo Lizenz für Entwickler?
Ich wollt gerade mal dem Webinar folgen. Und scheitere bei der Konvertierung Txt2Al.
"You do not have Permissions to run the File, Export, Text, System"
So kann man doch nicht testen "What's new" , zumindest nicht als Endanwender Entwickler :-)

:-(

Re: What's New für Entwickler (mit VS Code)

12. Januar 2018 11:42

elTorito hat geschrieben:Gibt es eigentlich eine Demo Lizenz für Entwickler?
Speziell in Kombination mit AL nicht - hast du schon die normale NAV Demolizenz ausprobiert? Natürlich auf Basis einer Demo-DB. Sämtliche Programme im Admin-Modus öffnen.

Re: What's New für Entwickler (mit VS Code)

12. Januar 2018 11:46

Natalie hat geschrieben:
elTorito hat geschrieben:Gibt es eigentlich eine Demo Lizenz für Entwickler?
Speziell in Kombination mit AL nicht - hast du schon die normale NAV Demolizenz ausprobiert? Natürlich auf Basis einer Demo-DB. Sämtliche Programme im Admin-Modus öffnen.


Ja. Habe unsere flf probiert. Damit kann ich zwar nun im Klassischen Nav Dev Environment Objekte Mnauell als *txt exportieren (kam mit der Cronus Lizenz auch vorher die Meldung).
Aber über die Txt2Al kommt noch immer die Fehlermeldung. Habe unsere flf in Cronus.flf umbenannt und ins 110\RoleTailored Client\ kopiert, dann Dienst neu gestartet. Hmm.

VSIX und CU müssen chronologisch passen

23. Januar 2018 11:44

Generate Symbols in a Modern Development environment with Microsoft Dynamics NAV 2018

Wichtiger Hinweis im Artikel: Die Version der Extension muss immer zum Cumulative Update der Datenbank passen, wo die Extension implementiert werden soll.
NOTE: It is very important to have the VSIX from the same platform version as your Dynamics NAV installation, otherwise you cannot publish (F5) your extension. Be really sure, then, to have the same VSIX targeting your Dynamics NAV 2018 installation files (e.g. VSIX RTM targeting RTM installation, VSIX CU 1 targeting CU 1 installation and so on).

Das bedeutet leider mal wieder erhöhten Verwaltungsaufwand bei der Entwicklung :roll: .

Re: What's New für Entwickler (mit VS Code)

23. Januar 2018 11:58

Bist du die Sicher, dass du dies richtig Interpretierst?
Da steht nur das du im VS Code die entsprechende AL Extension benötigst um es mit F5 zu publishen. Das sollte man in ner Liveumgebung eh nicht machen.
Da steht nix davon das die *.app immer mit der gleichen Version erstellt worden sein muss.

Re: What's New für Entwickler (mit VS Code)

23. Januar 2018 12:41

Ich denke da nicht an Liveentwicklung.
Als Partner bekommen wir Bestellungen für alle Versionen, daher haben wir auch alle Datenbankversionen. Das bedeutet auch, dass wenn jemand eine Extension für eine bestimmte Version haben möchte, diese zum Testen in dieses CU eingespielt werden muss. Das ist dann aber nur möglich, wenn man genau die richtige (korrespondierende) VSIX installiert hat, die zum CU der Datenbank passt. Die notwendige Technik muss also in Zukunft auch separat monatlich verwaltet werden und die VSIX bei Bedarf immer wieder in VS Code deinstalliert und neu installiert werden.

Re: What's New für Entwickler (mit VS Code)

24. Januar 2018 00:12

Waldo hat undokumentierte Funktionen entdeckt.
Autonumber Objects in AL
Enable Code Analysis for AL

Re: What's New für Entwickler (mit VS Code)

5. Februar 2018 00:15

AL Code Outline ist eine Extension um die Struktur eines AL-Projekts (al, rdlc, xml, json, javascript, css, html usw.) als TreeView darstellen und darin zu navigieren. Außerdem können damit auch die enthaltenen Objekte aus .app-dateien, z.B. die nach "Download Symbols" im Ordner .alpackages erzeugt werden, als Liste angezeigt werden (dazu auf der App-Datei Rechtsklick "Open in AL Object Browser" ausführen).
ALObjectBrowser.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: What's New für Entwickler (mit VS Code)

5. Februar 2018 10:03

Import Symbols in New or Upgrade Databases with Microsoft Dynamics NAV 2018

Re: What's New für Entwickler (mit VS Code)

6. Februar 2018 16:59

Mit diesem Farbdesign, das farblich an C/AL erinnert, erscheinen u.a. auch Funktionsnamen, Befehle, einfache Feldnamen in AL im Fettdruck.
Dynamics NAV C/Side Theme
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.