Book Image

Programming Microsoft Dynamics 365 Business Central - Sixth Edition

By : Marije Brummel, David Studebaker, Christopher D. Studebaker
Book Image

Programming Microsoft Dynamics 365 Business Central - Sixth Edition

By: Marije Brummel, David Studebaker, Christopher D. Studebaker

Overview of this book

Microsoft Dynamics 365 Business Central is a full ERP business solution suite with a robust set of development tools to support customization and enhancement. These tools can be used to tailor Business Central's in-built applications to support complete management functions for finance, supply chain, manufacturing, and operations. Using a case study approach, this book will introduce you to Dynamics 365 Business Central and Visual Studio Code development tools to help you become a productive Business Central developer. You'll also learn how to evaluate a product's development capabilities and manage Business Central-based development and implementation. You'll explore application structure, the construction of and uses for each object type, and how it all fits together to build apps that meet special business requirements. By the end of this book, you'll understand how to design and develop high-quality software using the Visual Studio Code development environment, the AL language paired with the improved editor, patterns, and features.
Table of Contents (12 chapters)
9
Successful Conclusions

Business Central object and system elements

Here are some important terms that are used in Business Central:

  • Language extension: A file that's downloaded from the Visual Studio Code Marketplace or supplied by Microsoft. The version of the language extension in use must match the build version of Business Central with which you are working. Microsoft does a monthly update of Business Central and the language extension. There is also an insider program that allows early access before the language extension is published on the Marketplace.
  • Field: An individual data item, defined either in a table or in the working storage (temporary storage) of an object.
  • Record: A group of fields (data items) that are handled as a unit in many operations. Table data consists of rows (records) with columns (fields).
  • Control: In MSDN, a control is defined as a component that provides (or enables) UI capabilities.
  • Properties: These are the attributes of the element, such as an object, field, record, or control that define some aspect of its behavior or use. Example property attributes include display captions, relationships, size, position, and whether the element is editable or viewable.
  • Trigger: These are mechanisms that initiate (fire) an action when an event occurs and is communicated to the application object. A trigger in an object is either empty, contains code that is executed when the associated event fires the trigger, or only contains comments (in a few cases, this affects the behavior of the trigger). Each object type, data field, control, and so on may have its own set of predefined triggers. The event trigger name begins with On, such as OnInsert, OnOpenPage, or OnNextRecord. Business Central triggers have similarities to those in SQL, but they are not the same (similarly named triggers may not even serve similar purposes). Business Central triggers are locations within objects where a developer can place comments or AL code. When we view the AL code of an object in its designer, we can see non-trigger code groups that resemble Business Central event-based triggers.
  • Procedures: These can be defined by the developer. They are callable routines that can be accessed by other AL code from either inside or outside the object where the called function resides. When we view the AL code of an object in its designer, we can see non-trigger code groups that resemble Business Central event-based triggers. Many procedures are provided as part of the standard product. As developers, we may add our own custom procedures as needed.
  • Object numbers and field numbers: All objects of the same object type are assigned a number that's unique within the object type. All fields within an object are assigned a number that's unique within the object (that is, the same field number may be repeated within many objects, regardless of whether it is referring to similar or different data). In this book, we will generally use comma notation for these numbers (fifty thousand is 50,000). In AL, no punctuation is used. The object numbers from 1 (one) to 50,000 and in the 99,000,000 (99 million) range are reserved for use by Business Central as part of the base product. Objects in these number ranges can be modified or deleted with a developer's license, but cannot be created. Field numbers in standard objects often start with one (1). Historically, object and field numbers from 50,000 to 99,999 are generally available to the rest of us for assignment as part of customizations that are developed in the field using a normal development license. Field numbers from 90,000 to 99,999 should not be used for new fields that have been added to standard tables as those numbers are sometimes used in training materials. Microsoft allocates ranges of object and field numbers to Independent Software Vendor (ISV) developers for their add-on enhancements. Some such objects (the 14 million range in North America, and other ranges for other geographic regions) can be accessed, modified, or deleted, but not created using a normal development license. Others (such as in the 37 million range) can be executed but not viewed or modified with a typical development license. The following table summarizes the object numbering practice:

Object number range

Usage

1 - 9,999

Base-application objects

10,000 - 49,999

Country-specific objects

50,000 - 99,999

Customer-specific objects

100,000 - 98,999,999

Partner-created objects

Above 98,999,999

Microsoft territory

  • Events: Procedures can subscribe to events that are raised in the system. Business Central has both platform and manual events. Procedures can also be used to raise events.
  • Work date: This is a date that's controlled by the user operator. It is used as the default date for many transaction entries. The system date is the date that's recognized by Windows. The work date that can be adjusted at any time by the user is specific to the workstation, and can be set to any point in the future or the past. This is very convenient for procedures such as the ending sales order entry for one calendar day at the end of the first shift, and then entering sales orders by the second shift dated to the next calendar day. There are settings to allow you to limit the range of work dates allowed. The work date can be set by clicking on the cogwheel drop-down list next to the question mark icon and selecting the My Settings option:

Clicking on My Settings in the drop-down options displays the My Settings screen. Here, we can enter a new Work Date: