Mastering Microsoft Dynamics 365 Business Central

Höfundur: Stefano Demiliani (Útgáfa: 2)
Mastering Microsoft Dynamics 365 Business Central

Kaup valmöguleikar

Utilize Microsoft Dynamics 365 Business Central's most recent capabilities to create bespoke business management solutions using best practices learned along the way from veterans in the industry. Purchase of the print or Kindle book includes a free PDF eBookKey FeaturesExtend Business Central's functionalities through Azure, Power Platform, GitHub, and custom extensionsUnlock the potential of data exchange and functionality expansion by integrating with external systems using APIs and ODataBuild reliable, maintainable, and continuously improving solutions while writing performant, well-structured code and using telemetries and DevOpsBook DescriptionThis book dives straight into guiding you through the process of building real-world solutions with the AL language and Visual Studio Code.

It emphasizes best practices and extensibility patterns to ensure your extensions are well-structured, maintainable, and meet the needs of modern businesses. You'll learn advanced AL techniques, report creation methods, debugging strategies, and how to leverage telemetries for monitoring. Additionally, it covers performance optimization practices and API integration to help you create efficient and interconnected solutions.

With a focus on extension development, this new edition allows you to jump right into coding without spending time on setup processes. This book introduces new chapters covering essential tasks that Business Central developers frequently encounter, such as file handling and printing management. Finally, the book expands its scope by including chapters on various integration aspects, including VS Code extensions, GitHub DevOps, Azure services, and Power Platform integrations.

We’ll wrap up by covering Copilot capabilities in Business Central and how you can create your own generative AI copilots. By mastering these concepts and techniques, you'll be well-equipped to create powerful and customized solutions that extend the capabilities of Dynamics 365 Business Central. What you will learnDeveloping a customized solution for Dynamics 365 Business CentralWriting performant code following extensibility patternsHandling reporting, files, and printing on a cloud environmentHandling Business Central telemetries with AzureWriting APIs and integrations for Dynamics 365 Business CentralApplying DevOps and CI/CD to development projects by using GitHubIntegrating Business Central with Power PlatformPublishing your solutions to AppSource marketplaceManage Copilot capabilities and create your own generative AI copilotWho this book is forThis book is intended for new developers who want to get started with Dynamics 365 Business Central.

Nánar um bókina

Útgefandi
Packt Publishing
ISBN
9781837639663
Print ISBN
9781837630646
Format
ePub
Útgáfa
2
Höfundar
Stefano Demiliani
Tungumál
English
Útgefið
03-2024
Prent takmörkun á líftíma
100
Prent takmörkun
10
Afritunar takmörkun
10

Kaflar

  • Preface
  • Who this book is for
  • What this book covers
  • To get the most out of this book
  • Get in touch
  • 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
  • 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
  • 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
  • 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
  • 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
  • Advanced AL Development
  • Understanding immutable keys
  • Access modifiers in AL
  • Handling errors with TryFunctions
  • Using collectible errors
  • Handling actions on errors
  • Creating and extending role centers
  • Customizing the headline
  • Handling XML and JSON files with the AL language
  • Understanding Isolated Storage
  • Working with control add-ins
  • Creating a PDF-Viewer control add-in
  • Notifications inside Dynamics 365 Business Central
  • Understanding page background tasks
  • Using Azure Key Vault in AL extensions
  • Namespaces in AL language
  • Summary
  • Handling Files with Dynamics 365 Business Central
  • Handling files with AL
  • Handling attachments
  • Reading and writing text data from blob fields
  • Using the Media and MediaSet data types in AL code
  • Using XMLport in AL code
  • Handling XML and JSON files with AL
  • Using persistent blobs
  • Isolated Storage
  • Using Azure Blob Storage from AL
  • Creating a storage account in Azure
  • Using Azure Blob Storage from AL code
  • Handling Dynamics 365 Business Central attachments in Azure Blob Storage
  • Using Azure file shares from AL
  • Summary
  • Report Development
  • Anatomy of the report object
  • The report extension object
  • Tools to use for RDL, Word, and Excel layouts
  • The RDL, Word, and Excel layout features
  • Part 1 – Designing the dataset
  • Part 2 – Creating a simple RDL layout
  • Part 2.1 – Creating the RDL report header
  • Part 2.2 – Adding a table control to the RDL report body
  • Part 3 – Understanding grouping
  • Part 4 – Building a simple request page
  • Part 5 – Adding database images
  • Part 6 – Adding a Word layout
  • Part 7 – Adding an Excel layout
  • Report extension object: a basic example
  • Cloning and refactoring reports
  • Feature limitations when developing RDL or Word layout document reports
  • Understanding report performance considerations
  • Summary
  • Printing
  • Understand cloud-ready printing
  • Email printers
  • Microsoft Universal Print printers
  • Universal Print connector
  • Universal Print portal
  • Universal Print Integration extension
  • Deep dive into the modern printing structure
  • Alternatives to Microsoft Universal Print
  • Summary
  • Debugging
  • Running in debug mode
  • Debugging logs: verbose mode
  • Visual Studio Code debugger sections
  • Debugger sidebar
  • VARIABLES
  • Watch
  • Callstack
  • Breakpoints
  • Debugger toolbar
  • Debugging in attach mode
  • Non-debuggable items
  • Snapshot debugging
  • Performance profiling
  • Summary
  • Telemetry
  • Signal fundamentals
  • Dimensions
  • Aggregated signals
  • Microsoft’s recommendations
  • Example
  • Enabling partner telemetry in Dynamics 365 Business Central online
  • KQL log analysis
  • Statements
  • Operators
  • Functions
  • Application Insights
  • Alerts
  • Dashboards
  • Workbooks
  • Tools to analyze telemetry data
  • Power BI telemetry apps
  • Custom signals
  • Summary
  • Coding for Performance
  • Defining an efficient data access layer
  • Table extension changes from Dynamics 365 Business Central version 23
  • Setting the transaction isolation level in AL code
  • Writing efficient pages and reports
  • Writing performant installation and upgrade AL codeunits
  • Events and performance
  • Running asynchronous patterns
  • Using StartSession in AL code
  • Using Task Scheduler in AL code
  • Testing and validating performances
  • Summary
  • Dynamics 365 Business Central APIs
  • Using the OData protocol for APIs
  • Configuring OAuth authentication for Dynamics 365 Business Central APIs
  • Registering an application in Microsoft Entra ID
  • Setting the application permissions
  • Creating a client secret
  • Microsoft Entra application registration in Dynamics 365 Business Central
  • Acquiring an authentication token from Microsoft Entra ID
  • Using Dynamics 365 Business Central standard APIs
  • Creating a custom API in Dynamics 365 Business Central
  • Implementing a new API for a custom entity
  • Implementing a new API for an existing entity
  • Using the read-only database replica
  • Dynamics 365 APIs’ operational limits
  • Using OData bound actions
  • Using OData unbound actions
  • Using OData batch calls with Dynamics 365 Business Central APIs
  • Using Dynamics 365 Business Central webhooks
  • Summary
  • Extending Dynamics 365 Business Central with Azure Services
  • Overview of Azure Functions
  • Creating functions with Azure Functions
  • Using Azure Functions from AL
  • Overview of Azure Logic Apps
  • Creating workflows with Azure Logic Apps
  • Summary
  • DevOps for Dynamics 365 Business Central
  • AL-Go for GitHub: an introduction
  • Creating a new per-tenant extension with AL-Go for GitHub
  • Branching strategies
  • Master-only branch
  • Feature/developer branches
  • Release branching
  • Other strategies
  • Git flow
  • GitHub flow
  • Git merge strategies
  • Fast-forward merge
  • Squash commit
  • Rebase
  • Git in Visual Studio Code
  • Visual Studio Code GUI for Git
  • Workflow
  • Handling the CI/CD pipeline
  • Setting up your self-hosted GitHub runner
  • Handling dependencies between applications
  • Adding a test application to an existing project
  • Registering a customer sandbox environment for continuous deployment
  • Creating a release for your application
  • Registering a customer Production environment for manual deployment
  • Adding a performance test app to your repository
  • Using AL-Go for GitHub for AppSource development
  • Summary
  • Dynamics 365 Business Central and Power Platform Integration
  • Technical requirements
  • Power Automate and Dynamics 365 Business Central
  • Example 1: Adding a default image to a Customer record
  • Example 2: Exporting a selected invoice as PDF to OneDrive
  • Creating a Power Apps app with Dynamics 365 Business Central integration
  • Scenario: Expense app with offline capability
  • Part 1: Creation of the canvas app project
  • Part 2: Establishing a data connection to Dynamics 365 Business Central
  • Part 3: Working with Dynamics 365 Business Central data from the canvas app
  • Part 4: Adding controls and business logic to the canvas app
  • Part 5: Adding offline capabilities to the application
  • Part 6: Calling a Power Automate flow to execute actions in the app
  • Exposing Dynamics 365 Business Central data to Dataverse by using virtual tables
  • Exposing Dynamics 365 Business Central events to Dataverse
  • Summary
  • Useful and Proficient Tools for AL Developers
  • Who is Waldo?
  • What tools to use
  • The AL Extension Pack
  • The waldo’s CRS AL Language Extension
  • Run objects
  • Renaming / Reorganizing files
  • Search on Google/Microsoft Docs
  • Snippets
  • Feedback to Waldo
  • Waldo GitHub repo
  • Free Visual Studio Code extensions for AL developers
  • AZ AL Dev Tools/AL Code Outline (by Andrzej Zwierzchowski)
  • AL Code Actions (by David Feldhoff)
  • AL Object ID Ninja (by Vjeko.com)
  • BusinessCentral.LinterCop (by Stefan Maron)
  • AL Toolbox (by Bart Permentier)
  • AL Navigator (by Waldemar Brakowski)
  • Free Visual Studio Code extensions for AL Language side features
  • Summary
  • Creating Generative AI Solutions for Dynamics 365 Business Central
  • Introduction to generative AI main concepts
  • Introducing Azure OpenAI Service
  • Dynamics 365 Business Central and Azure OpenAI Service
  • Deploy an AI model with Azure OpenAI Service
  • Creating a generative AI solution for Dynamics 365 Business Central
  • Summary
  • Other Books You May Enjoy
  • Index