Mastering Microsoft Dynamics 365 Business Central

Höfundur Stefano Demiliani; Duilio Tacconi

Útgefandi Packt Publishing

Snið ePub

Print ISBN 9781789951257

Útgáfa 1

Höfundarréttur 2023

4.790 kr.

Description

Efnisyfirlit

  • Title Page
  • Copyright and Credits
  • Mastering Microsoft Dynamics 365 Business Central
  • About Packt
  • Why subscribe?
  • Contributors
  • About the authors
  • About the contributors
  • Packt is searching for authors like you
  • Preface
  • Who this book is for
  • What this book covers
  • To get the most out of this book
  • Download the example code files
  • Download the color images
  • Conventions used
  • Get in touch
  • Reviews
  • Section 1: Dynamics 365 Business Central – Platform Overview and the Basics of Modern Development
  • Microsoft Dynamics 365 Business Central Overview
  • Understanding the customer perspective
  • Understanding the partner’s perspective
  • An example of Dynamics 365 Business Central Admin Center portal
  • Environments
  • Notification recipients
  • Telemetry
  • Reported production outages
  • How it works behind the scenes
  • Under the skin of Dynamics 365 Business Central
  • Regional control planes
  • Regional data planes
  • Data-tier
  • Understanding the future perspective
  • Proactive scenarios (Microsoft listens)
  • New event requests
  • Reactive scenarios (Microsoft acts)
  • Summary
  • Mastering a Modern Development Environment
  • Mastering Visual Studio Code
  • Code editor
  • Status bar
  • View bar
  • Sidebar
  • EXPLORER (Ctrl + Shift + E)
  • SEARCH (Ctrl + Shift + F)
  • SOURCE CONTROL (Ctrl + Shift + G)
  • DEBUG (Ctrl + Shift + D)
  • EXTENSIONS (Ctrl + Shift + X)
  • Manage
  • Command Palette
  • 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-cursor)
  • Mini-map
  • Breadcrumbs
  • IntelliSense
  • Word completion
  • The Go To Definition
  • Find All References
  • Peek Definition
  • Renaming symbols
  • Understanding the AL Language extension
  • AL Language
  • launch.json
  • app.json
  • System and base application
  • Platform
  • Runtime
  • Understanding symbols
  • Inside symbols
  • Understanding AL Language extension configuration
  • Mastering AL Language code snippets
  • Summary
  • Online and Container-Based Sandboxes
  • Creating online sandboxes
  • Online sandboxes–pros and cons
  • Introducing Docker
  • Some base mechanisms when using Docker
  • Environment variables
  • Volumes
  • Networks and ports
  • Scenarios where Docker is especially useful for Dynamics 365 Business Central sandboxes
  • Locally available environments using pure Docker commands
  • Your first container
  • Pulling new image versions
  • Connecting to an existing SQL Server
  • Handling your running containers with Docker cmdlets
  • Creating locally available environments using navcontainerhelper
  • Installing navcontainerhelper and keeping it updated
  • Your first container
  • Pulling new image versions
  • Using more environment parameters, a volume, and port mapping
  • Connecting to an existing SQL Server
  • Handling your running containers with NavContainerHelper
  • Centrally available on-premise environments
  • Containers hosted on Azure VMs
  • Choosing the right image
  • Modifying scripts inside standard images
  • Creating your own images
  • Summary
  • Section 2: Developing Extensions for Dynamics 365 Business Central
  • Extension Development Fundamentals
  • Technical requirements
  • Basic concepts regarding extensions
  • Understanding the basics of the AL Language
  • Table definition
  • Page object definition
  • Table extension definition
  • Page extension definition
  • Codeunit definition
  • Event definitions
  • XMLport definition
  • Defining query objects
  • Extending the options – enums
  • Creating a profile object
  • 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
  • Customer Category implementations
  • Tables definition
  • Pages definition
  • The tableextension definition
  • The pageextension definition
  • Codeunit definition
  • Gift campaign implementations
  • Table definition
  • Page definition
  • Codeunit definition
  • Vendor quality implementations
  • Table definition
  • Page definition
  • The pageextension definition
  • Codeunit definition
  • Creating page views
  • Installing and upgrading codeunits
  • Understanding a dependent extension
  • Summary
  • Advanced AL Development
  • Understanding immutable keys
  • Handling files with AL
  • Handling attachments
  • Reading and writing text data to and from BLOB fields
  • Using XMLports in AL code
  • Creating and extending Role Centers
  • Customizing the Headline
  • Handling XML and JSON files with the AL language
  • Consuming web services and APIs from AL
  • Publishing Dynamics 365 Business Central objects as web services from AL
  • Using Azure Functions to replace .NET code
  • Understanding Isolated Storage
  • Working with control add-ins
  • Creating a timer-based control add-in
  • Notifications inside Dynamics 365 Business Central
  • Understanding page background tasks
  • Summary
  • Report Development with AL
  • Anatomy of the AL report object
  • Tools to use for Word and RDL layouts
  • RDL and Word 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 RDLC report body
  • Part 3 – Understanding grouping
  • Part 4 – Building a simple request page
  • Part 5 – Adding database images
  • Part 6 – Adding a Word layout
  • Converting an existing C/AL report into AL
  • Feature limitation when developing an RDL or Word layout report
  • Understanding report performance considerations
  • Summary
  • Section 3: Debugging, Testing, and Release Management (DevOps)
  • Installing and Upgrading Extensions
  • Deploying extensions
  • Automatically
  • Manually
  • Some deployment tips
  • Deployment under the hood
  • Deploying the main extension
  • Deploying a dependent extension
  • Deploying a new version of the main extension
  • Deploying a new version of the dependent extension
  • Summary
  • Debugging
  • Running in debug mode
  • Visual Studio Code debugger sections
  • Debugger sidebar
  • Variables
  • Watch
  • Callstack
  • Breakpoints
  • Debugger toolbar
  • Debugging in attach mode
  • Non-debuggable items
  • Mastering debugger issues
  • Understanding code analyzers
  • al.codeAnalyzers[]
  • al.ruleSetPath
  • Understanding Event Recorder
  • Summary
  • Automated Test Development with AL
  • Test automation and testing design principles
  • Designing tests with ATDD
  • Preparing the environment
  • Setting up test development for extensions
  • Setting up our Visual Studio Code test project
  • Learning about the technique behind test code
  • Designing our test scenarios
  • Test codeunit and test function – test example 1
  • asserterror – test example 2
  • Test page – test example 3
  • UI handlers – test example 4
  • Implementing our test scenarios
  • Test codeunit and test function – test example 1
  • Create a test codeunit
  • Embed the requirement
  • Writing the test story
  • Constructing the real code
  • CreateNonBlockedCustomerCategory
  • CreateCustomer
  • SetCustomerCategoryOnCustomer
  • VerifyCustomerCategoryOnCustomer
  • Running the test
  • asserterror – test example 2
  • Creating a test codeunit
  • Embedding the requirement
  • Writing the test story
  • Constructing the real code
  • CreateBlockedCustomerCategory
  • VerifyBlockedCategoryErrorThrown
  • Running the test
  • Testing the test
  • Test page – test example 3
  • Creating a test codeunit
  • Embedding and writing
  • Constructing the real code
  • CreateNonBlockedDefaultCustomerCategory
  • CreateCustomerWithCustomerCategoryNotEqualToDefault
  • SelectAssignDefaultCategoryActionOnCustomerCard
  • VerifyCustomerHasDefaultCustomerCategory
  • Running the test
  • More examples for the Customer Category feature
  • UI handler – test example 4
  • Creating a test codeunit
  • Embedding and writing
  • Constructing the real code
  • CreatePacktSetupWithGiftToleranceQty
  • The CreateCustomerWithNonBlockedCustomerCategoryWithFreeGiftsAvailable helper function
  • CreateItem
  • CreateGiftCampaignForItemAndCustomerCategoryWithMinimumOrderQuantity
  • CreateSalesInvoiceForCustomerWithLineForItem
  • SetQuantityOnInvoiceLineSmallerThanMinimumOrderQuantityAndWithinGiftToleranceQty
  • Running the test
  • VerifyActivePromotionMessageIsDisplayed
  • Summary
  • Source Control Management and DevOps with Business Central
  • Understanding Azure DevOps and what it offers
  • Creating an Azure DevOps account and project
  • Managing tasks, sprints, and boards in Azure DevOps
  • Creating a repository for your code
  • Managing repositories
  • Security
  • Options
  • Branching policies
  • Branching strategies
  • Only a master branch
  • Feature/developer branches
  • Release branching
  • Other strategies
  • Git flow
  • GitHub flow
  • Branching considerations
  • Understanding Git merge strategies
  • Fast-forward merge
  • Squash commit
  • Rebase
  • Git merge considerations
  • Exploring Git with Visual Studio Code
  • Visual Studio Code GUI for Git
  • Workflow with Git
  • Merges
  • Understanding Azure DevOps Pipelines
  • Agents
  • Creating a build pipeline
  • Variable groups and secure files
  • Understanding the YAML pipeline
  • Creating a YAML pipeline
  • YAML pipeline templates
  • Release pipeline
  • Summary
  • Section 4: Advanced Integrations with Dynamics 365 Business Central
  • Dynamics 365 Business Central APIs
  • Comparing OData and APIs in Dynamics 365 Business Central
  • 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
  • Creating an application that uses Dynamics 365 Business Central APIs
  • Using bound actions
  • Using Dynamics 365 Business Central webhooks
  • Working with Dynamics 365 Business Central APIs in Microsoft Graph
  • Automation APIs in Dynamics 365 Business Central
  • Summary
  • Serverless Business Processes with Business Central and Azure
  • Technical requirements
  • Overview of Microsoft Azure serverless services
  • Getting an overview of Azure Functions
  • Developing an Azure function with Visual Studio
  • Testing the Azure function locally
  • Deploying the function to Azure
  • Developing an Azure function with Visual Studio Code
  • Testing your Azure function locally
  • Publishing your function to Azure
  • Calling an Azure function from AL
  • Interacting with Azure Blob Storage to handle files in the cloud
  • Creating an Azure Blob Storage account
  • Creating Azure functions with Visual Studio
  • The UploadFile function
  • The DownloadFile function
  • The ListFiles function
  • Deploying the Azure functions
  • Managing Azure Functions keys
  • Testing the Azure functions
  • Writing the Dynamics 365 Business Central extension
  • Codeunit definition
  • The pageextension definition
  • Testing our application
  • Summary
  • Monitoring, Scaling, and CI/CD with Azure Functions
  • Technical requirements
  • Monitoring Azure Functions
  • Scaling Azure Functions
  • Azure Functions and DevOps
  • Summary
  • Business Central and Integration with the Power Platform
  • Technical requirements
  • Introducing the Power Platform
  • Understanding Flow
  • Understanding PowerApps
  • Integration scenarios with Power Platform
  • Scenario 1 – creating a human resources recruiting/onboarding process
  • Scenario 2 – creating a simple sales order approval workflow
  • Scenario 3 – creating a simple app to list all customers and sales quotes
  • Summary
  • Section 5: Moving Solutions to the New Extension Model
  • Integrating Machine Learning into Dynamics 365 Business Central
  • What are AI and ML?
  • An overview of the ML process
  • Understanding the Business Central ML Framework
  • The Time Series API
  • Step 1 – Downloading the dataset to Dynamics 365 Business Central
  • Step 2 – Publishing a model as a web service from a public template
  • Step 3 – Sending your data from Business Central to the ML endpoint to get predictions
  • Understanding the ML Prediction API
  • Step 1 – Publishing a general prediction model as a web service from a public template
  • Step 2 – Training the ML model from AL
  • Step 3 – Predicting using the trained model
  • Step 4 – Getting insights into how ML works
  • Step 5 – Publishing and running the forecast
  • Summary
  • Moving Existing ISV Solutions to the New Extension Model
  • Preparing the transition from C/AL to AL and extensions
  • Planning the number of extensions to code
  • Converting existing solutions into AL
  • C/AL to AL conversion
  • C/AL to AL code customizations
  • Upgrading from Dynamics 365 Business Central version 14 to version 15
  • Handling customer-specific personalization’s
  • Other things to remember
  • Handling the MenuSuite
  • .NET variables and add-ins
  • File management
  • Printing
  • Dynamics 365 Business Central wave 2 release changes
  • Summary
  • Useful and Proficient Tools for AL Developers
  • Who is Waldo?
  • What tools to use
  • The AL Extension Pack
  • The CRS AL Language Extension
  • Run objects
  • Renaming/reorganizing files
  • Search on Google/Microsoft Docs
  • Snippets
  • Feedback
  • WaldoNavPad
  • How to get it to work
  • Running the app for the first time
  • The background
  • Implementing the logic
  • MostUselessAppEver
  • PowerShell tools
  • GitHub
  • Docker scripts
  • Publishers
  • ALOps
  • DevOps extension
  • Steps
  • Documentation on GitHub
  • App templates
  • Example of using ALOps
  • Summary
  • Other Books You May Enjoy
  • Leave a review – let other readers know what you think

Additional information

Veldu vöru

Rafbók til eignar

Aðrar vörur

0
    0
    Karfan þín
    Karfan þín er tómAftur í búð