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...
Other Authors: | , |
---|---|
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.