Preface:
Introduction to Key Development Concepts
This article provides a comprehensive guide on how to create Models and Solutions in Visual Studio, essential components in the development process for Dynamics 365 Finance and Operations (D365 F&O). It explains the fundamental concepts behind Models and Solutions, offering a clear understanding for beginners. This guide serves as the first step toward becoming a proficient D365 F&O development engineer, equipping you with the knowledge needed to get started with the platform.
Essential Tools for Development: What You Need to Know
For Dynamics 365
Finance and Operations (D365 F&O) development, Microsoft Visual Studio
is the primary tool used. The latest virtual machine upgrades now include Visual
Studio, offering enhanced performance and a smoother development
experience. This powerful IDE streamlines the coding process, making it easier
for developers to build and customize D365 F&O applications efficiently.
Creating Your First Development Project: A Beginner's Guide (No Code)
Understanding the Model in Development
What Is a Model? A Comprehensive Overview
A model
in Dynamics 365 Finance and Operations (D365 F&O) is a collection of
elements, such as metadata, source files, and customizations, that together
form a software solution. Models are typically used to customize and extend
existing solutions. For example, a warehouse management model or project
accounting model.
A model
is a design-time entity and always resides within a package. A package
acts as the deployment and compilation unit for one or more models. It includes
essential model metadata, binaries, and other related resources. Multiple
models can be bundled into a single deployable package, which is then used for
deployment and updates in D365 F&O.
This concept is
key for developers to understand when starting to create and deploy custom
functionality within Dynamics 365 F&O.
Personal Insights on Model Usage in D365 F&O
From the
overview, we can understand that a model is essentially a design-time
concept, which can be thought of as a module in Dynamics 365 Finance and
Operations (D365 F&O). In most cases, a development team will use a single
model for their project. However, there are situations where using multiple
models becomes necessary. Here are two key scenarios:
Collaboration across Multiple Teams
When multiple
teams are working on a project, you can use models to organize and distinguish
the source code. Each team can work within its own model, which acts as a team-based
module. If teams need to share code, they can simply encapsulate the
necessary classes and reference them across models, making collaboration more
efficient.
Creating a Modular Product for D365 F&O
If Party B
(a vendor or third party) aims to turn the current project into a standardized
product for D365 F&O, dividing the project into multiple models based on
product definitions is essential. By structuring the project in this way, you
can apply only the relevant models to future projects. This modular approach
allows greater flexibility and ensures that not all features need to be applied
universally, but rather tailored to specific project needs.
Understanding
when and how to use multiple models allows for more efficient development,
better code management, and easier scalability within Dynamics 365 F&O
projects.
Steps to Create a New Model in D365 F&O
Step 1
To create a new
model in Dynamics 365 Finance and Operations (D365 F&O), you can use the Create Model Wizard. This tool guides you through the process of setting up a new
model with ease. To access the Create Model Wizard, navigate to the Model
Management menu from the main Dynamics 365 interface.
Screenshot: Below is a screenshot showing the location of the Model
Management menu where you can access the Create Model Wizard.
In the Create
Model Wizard, select USR as the layer for storing user
customizations. The USR layer is designed specifically for
customizations made by the user. If necessary, you can use the USP layer
to apply patches to your customizations. It's important to note that if
multiple versions of the same object exist in different layers, the top layer
will take precedence. This ensures that the most recent customizations are
applied. As illustrated in the screenshot below.
You can create
two types of models in Dynamics 365 Finance and Operations (D365 F&O):
Model Deployed in Its Own Package
This type of
model allows you to create new model elements and extend the metadata and
business logic of a referenced model. The Create Model Wizard enables
you to select the referenced model during setup. Once created, this model is
compiled into its own assembly and binary, which helps simplify and reduce the
cost of upgrades, deployments, and overall application lifecycle management.
Model as Part of an Existing Package
This type of
model is used to temporarily leverage legacy features, such as overlaying
source code and metadata. It is considered a legacy approach and only supports
upgrades from previous versions. This model type is typically used for backward
compatibility.
Step 3
As shown in the screenshot below, follow these options to create and configure your model accordingly.
Step 4
In this step,
you will need to select the packages you wish to associate with your model. The
Application Platform package must be selected by default, while other
packages can be selected as needed. Once the packages are associated, you can
extend or modify the functionality of other packages. This association is
crucial for customizing and enhancing the capabilities of your model.
As shown in the
screenshot below, follow these steps to complete the package association.
Step 5
The Create Model Wizard has been successfully completed. You can now proceed with your
model development and customization.
As shown in the screenshot
below, this step marks the completion of the model creation process.
Exploring Solutions in Development
Solution Overview in D365 F&O Development
A Solution
in Dynamics 365 Finance and Operations (D365 F&O) is used to store
all the code and configurations during the development process, including classes,
tables, entities, and more. It serves as the central navigation
hub for your project. For example, if you create a new interface, you can
easily jump to the related table or entity within the solution.
After deployment,
all functions are accessible in the AOT (Application Object Tree).
However, it’s important to note that all underlying code is stored in the Model
directory, specifically at C:\AOSService\PackagesLocalDirectory, and
cannot be separated based on the solution.
Personal Opinion on Solution Usage
Based on the
current system architecture, it is recommended to create a new solution
for each specific function. This approach is followed in my current project,
and here are the key pros and cons:
- Advantages:
- Code Organization: Creating separate solutions for each function makes it
easier to distinguish and manage code for different features.
- Faster Builds: Although building the entire model can take more than 30
minutes initially, future builds are faster (typically 10-20 minutes),
saving a significant amount of time when previewing changes.
- Disadvantages:
- Repetitive Process: Each time a new function is added, you must go through the
process of creating a new solution, which can become cumbersome and time-consuming.
How to Create and Implement a New Solution: A Detailed Walkthrough
Step 1
To create a new
solution, click the Create Solution button. This will appear
automatically when configuring the model for the first time.
As shown in the
screenshot below, follow these steps to successfully create a new solution.
Step 2
Select the Finance
and Operations Templates option to create a new solution. This template is
specifically designed for Dynamics 365 Finance and Operations projects,
ensuring that your solution is properly configured for the platform.
As shown in the
screenshot below, follow these steps to proceed with creating the solution.
Step 3
Click on Create
a New Solution to initiate the process of setting up your solution in
Dynamics 365 Finance and Operations. This step will allow you to define and
configure your solution for development.
As shown in the
screenshot below, proceed with the solution creation process
Understanding AOT (Application Object Tree): Key Concepts and Usage
The Application
Object Tree (AOT) is a crucial component in Dynamics 365 Finance and
Operations (D365 F&O) development. It contains all the element
definitions used to build the application, including classes, tables,
forms, and more. The AOT serves as the central structure for
development, guiding the creation and customization of objects within the
platform. Understanding the AOT in detail is essential for navigating and
managing the entire development process in D365 F&O.
Summary: Completing Your First Project Setup
At this stage, the basic configuration of your Dynamics 365 Finance and Operations (D365 F&O) environment is complete. The next step is to add your custom code and configuration to the solution based on your specific project requirements. This allows you to begin building and customizing your solution to meet your development needs.
Subscribe Our You Tube Channel My Edition(Latestupdates07)