Cover
Copyright
Contributors
Table of Contents
Preface
Chapter 1: Microsoft Dynamics 365 Business Central's Online Momentum
Dynamics 365 Business Central's evolution
The Universal Code initiative
The role of open source and social networks
The future perspective
Summary
Chapter 2: Mastering a Modern Development Environment
The Visual Studio Code user interface
Code editor
Status bar
Activity bar
Manage
Command Palette
Sidebar
EXPLORER (Ctrl + Shift + E)
SEARCH (Ctrl + Shift + F)
SOURCE CONTROL (Ctrl + Shift + G)
DEBUG (Ctrl + Shift + D)
EXTENSIONS (Ctrl + Shift + X)
Panels area
PROBLEMS
OUTPUT
DEBUG CONSOLE
TERMINAL
Visual Studio Code
the editing features
Comment lines
Delimiter matching
Text selection
Code block folding
Multiple cursors (or multi-cursors)
Mini-map
Breadcrumbs
IntelliSense
Word completion
Go to definition
Find all references
Peek definition
Renaming symbols
Understanding the AL Language extension
AL Language
launch.json
app.json
Understanding symbols
Inside symbols
AL Language extension settings
Understanding code analyzers
GitHub Copilot for AL developers
Summary
Chapter 3: Extension Development Fundamentals
Technical requirements
Basic concepts regarding extensions
Understanding the basics of AL
Creating a new workspace
Defining objects using snippets
Table object definition
Page object definition
Table extension object definition
Page extension object definition
Codeunit object definition
Event object definitions
XMLport object definition
Query object definition
Enum object definition
Profile object definition
Understanding AL project structure best practices
Naming guidelines and AL object ranges
Working on AL coding guidelines
Summary
Chapter 4: Developing a Customized Solution for Dynamics 365 Business Central
Translating a business case into a real-world extension
Developing the Dynamics 365 Business Central customization
Customer category implementations
Table definition
Page definition
The tableextension definition
The pageextension definition
Codeunit definition
Handling event subscribers
Gift campaign implementations
Table definition
Page definition
Codeunit definition
Vendor quality implementations
Table definition
Page definition
The pageextension definition
Codeunit definition
Promoting actions
Creating page views
Installing and upgrading codeunits
Defining permission sets in AL
Summary
Chapter 5: Writing Code for Extensibility
Why do we need extensible code?
Business scenario
Events and the "Handled" pattern
Writing a dependent extension
Interfaces in AL
Extension's code protection
Summary
Chapter 6: Advanced AL Development
Understanding immutable keys