Reader small image

You're reading from  Extending Microsoft Dynamics 365 Finance and Supply Chain Management Cookbook - Second Edition

Product typeBook
Published inMar 2020
PublisherPackt
ISBN-139781838643812
Edition2nd Edition
Right arrow
Author (1)
Simon Buxton
Simon Buxton
author image
Simon Buxton

Simon Buxton has worked with Dynamics 365 Finance and Supply Chain Management since its earliest incarnations, starting with the product in early 1999 when Dynamics 365 Finance and Supply Chain Management was known as Damgaard Axapta 1.5. Simon has been the technical lead on many highly challenging technical projects in countries all around the world. These projects included complex integrations with on-premises and external systems, ISV solutions, and many technically challenging customer solutions. Now working with Binary, he was part of a team that implemented the first Dynamics 365 Finance and Supply Chain Management implementation as part of the Community Technical Preview (CTP) program, which led to the close working relationship with Microsoft that made this book possible
Read more about Simon Buxton

Right arrow

Starting a New Project

Microsoft Dynamics AX 2012 underwent a name change in what would have been version 7. The product has been split, in terms of licensing, into Microsoft Dynamics 365 Finance and Microsoft Dynamics 365 Supply Chain Management. This is a further evolution from the previous name of Microsoft Dynamics 365 for Finance and Operations.

Even though it appears to be a component of Microsoft Dynamics 365, it is a separate product, so we can't abbreviate the name to Dynamics 365. We will refer to the product as either its full name or the SCM abbreviation that is used by Microsoft internally. You may see references to Unified operations in some Microsoft documentation.

A large change was made to the way in which updates are applied in the first two quarters of 2019. For more information, please read the following article at https://docs.microsoft.com/en-us/dynamics365...

Creating the Azure DevOps project

The project is normally created under the end user's Azure DevOps site unless the work is being written as an ISV solution (or a personal development or learning project). The reason we use the client's Azure DevOps system is that LCS is associated with the Azure DevOps site, and support calls that are created through cloud-powered support are generated within the associated Azure DevOps. Cloud-powered support is an online support solution within LCS that is exposed to the SCM client, allowing users to log support issues with their internal support team.

Azure DevOps is free for up to five users, and the customer can create many accounts with limited access without charge. These accounts are called stakeholder accounts and allow the user to access work items. This account type also allows users to log support calls from within SCM. Accounts...

Connecting Visual Studio to Azure DevOps

Each developer has their own development virtual machine (VM), hosted either in Azure or locally. This is by design and is part of the application life cycle process. Connecting to Azure DevOps allows our code to be checked into source control and allows the team to work together on the same code base. Each developer would get the latest code from the source control and then check in their changes according to their organization's development methodology. As part of this check-in process, they can associate the check-ins to work items that were created in Azure DevOps (tasks, bugs, user stories), which allows us to easily determine what work is being deployed in a build. This process also allows test projects to be automatically executed when the build is generated.

We will be working with a two-branch strategy, which means starting...

Creating a new package and model

When creating a new project, we usually create a new package and a new model. This keeps things simple, and there is usually no benefit in separating them. You may wish to create a test project in a different model in the same solution, but you may not wish to deploy the test projects to live.

There are two types of projects:

  • An extension project
  • An over-layer project

Over-layering means modifying the source code of SCM and requires a code upgrade for each application hotfix. Extension projects work on delta changes to the standard object or use delegates to affect code execution. Extension projects are less likely to require a code upgrade when application hotfixes are applied. Avoiding over-layering cannot be overstated because, at the time of writing, all Microsoft supplier packages are locked. The ability to write good code through extension...

Configuring project and build options

Before we start developing code for the first time in a new VM, we should set up some parameters in Visual Studio. Many of the settings that are described here are good for all projects, but you may wish to change some, depending on the scenario. This recipe explains how to configure the required parameters.

Getting ready

This follows the previous recipe but can apply equally to any SCM project. Just load up Visual Studio and the project you wish to configure.

How to do it...

This recipe will be split into two parts, that is, Finance...

Creating a Label file

Most projects have some kind of user interface, so we need to display text to the user, as well as the field names. The best practice way to do this is to use a label file. The label file contains a language-specific dictionary of label IDs and their translation.

Standard elements tend to have the legacy label IDs of an @ symbol, followed by a three-digit label ID and a number. This format has worked well for the past 15 years, but the prefix was potentially limiting, especially for aiding ISVs. Labels are no longer restricted to three digits, which helps Microsoft attain one of its goals of making ISV add-ons easier to write, maintain, and adopt.

The choice of how many and which packages need a label file depends on the solution design.

We tend to create a label file for each project as this ensures that the developer of the project can correct and change...

lock icon
The rest of the chapter is locked
You have been reading a chapter from
Extending Microsoft Dynamics 365 Finance and Supply Chain Management Cookbook - Second Edition
Published in: Mar 2020Publisher: PacktISBN-13: 9781838643812
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Author (1)

author image
Simon Buxton

Simon Buxton has worked with Dynamics 365 Finance and Supply Chain Management since its earliest incarnations, starting with the product in early 1999 when Dynamics 365 Finance and Supply Chain Management was known as Damgaard Axapta 1.5. Simon has been the technical lead on many highly challenging technical projects in countries all around the world. These projects included complex integrations with on-premises and external systems, ISV solutions, and many technically challenging customer solutions. Now working with Binary, he was part of a team that implemented the first Dynamics 365 Finance and Supply Chain Management implementation as part of the Community Technical Preview (CTP) program, which led to the close working relationship with Microsoft that made this book possible
Read more about Simon Buxton