topic hubAL Developmentofficial - Microsoftreviewed - checked by Opus

Development

Development for Business Central covers building AL extensions: tooling setup in Visual Studio Code, the AL language, extensibility, best practices, extension lifecycle, analytics and reporting, AL-Go for GitHub, and troubleshooting. It answers how-to, syntax, build, deploy and debug questions for extension developers.

Path: Development · tier official · system development · narrative reviewed (checked by Opus)

Overview

Development is the entry point for creating Business Central extensions in AL using Visual Studio Code. Its own pages introduce developing extensions in AL (the extension model, table and page extensions, code snippets, compiler validation, the designer), the AL Language reference (data types, methods, properties, triggers, diagnostics, code analyzers, method attributes), and AL-Go for GitHub, which provides templates and actions for CI/CD, automated testing and version control.

The subtopics follow a typical path. Start with Get started and Development environment for installing the AL Language extension, configuring projects, and compiling, publishing, debugging and testing. Then use Programming in the AL language and The AL programming language for syntax and object types, and Extensibility for extending base code without changing it.

Later topics cover quality and delivery: Rules, guidelines, and best practices (obsoleting objects, conventions, performance, security), Extension lifecycle (extension types, scopes, deployment, updating, deprecation), and Troubleshooting. Data analytics and reporting and System and application reference documentation cover analysis options and the modular application layers.

Key points

  • Developing extensions in AL uses Visual Studio Code and covers tables, pages, codeunits and reports, with table and page extensions, code snippets and a drag-and-drop designer.
  • The AL Language reference covers data types, methods, properties, triggers, AL and AVS diagnostics, code analyzers and method attributes.
  • AL-Go for GitHub offers GitHub templates and actions for CI/CD, automated testing, version control and repository maintenance, for per-tenant extensions or Marketplace apps.
  • Get started covers installing Visual Studio Code and the AL Language extension, editor tools, Designer, telemetry, translations and runtime packages.
  • Extensibility covers extending code flow, tables, pages, reports, enums and permission sets via events, without changing base code.
  • Best practices cover obsoleting AL objects and methods, deprecating external business events, testing, performance, security and Marketplace preparation.
  • Extension lifecycle explains global apps, per-tenant extensions and DEV extensions, and moving apps between scopes.
  • Troubleshooting covers AL debugging and profiling, telemetry setup and analysis, and guides for migration, report and web service errors.

Subtopics

More Learn pages

Videos, posts and code changes

Linked by a Haiku matcher with a grounding quote from the item’s summary (link/topics.ts); machine-generated.

Business Central pages and reports

The pages, reports and queries this hub’s Learn pages name (ms.search.form, API reference), joined to the code by exact object id (data/index/docs-objects.json); a page shows the table it runs on.

Learn also names 11 objects with no object page: page/9830, page/9831, page/149000, page/149001, page/149003, page/149004, page/149005, page/149006, page/149007, page/149008, page/149009.

Source: Microsoft Learn (CC BY 4.0). Descriptions are Learn’s own.

What Learn documents here 8 of 523 Learn pages

Show 32 more