Mastering Microsoft Dynamics 365 Business Central The Complete Guide for Designing and Integrating Advanced Business Central Solutions

This 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. Yo...

Full description

Bibliographic Details
Other Authors: Demiliani, Stefano, author (author), Tacconi, Duilio, author
Format: eBook
Language:Inglés
Published: Birmingham, England : Packt Publishing [2024]
Edition:Second edition
Series:Expert insight.
Subjects:
See on Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009807524806719
Table of Contents:
  • 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
  • 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
  • Chapter 7: 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
  • Chapter 8: 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
  • Chapter 9: 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
  • Chapter 10: 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
  • Chapter 11: 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
  • Chapter 12: 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
  • Chapter 13: 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
  • Chapter 14: 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
  • Chapter 15: 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
  • Chapter 17: 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.