Book Image

Learning Dynamics NAV Patterns

By : Marije Brummel
Book Image

Learning Dynamics NAV Patterns

By: Marije Brummel

Overview of this book

Microsoft Dynamics NAV is a complete ERP system, which also contains a robust set of development tools to support customization and enhancement. These include an object designer for each of the seven application object types, a business application-oriented programming language with .NET interface capability, a compiler, a debugger, and programming testing language support. Learning Dynamics NAV Patterns will guide you through the NAV way of solving problems. This book will first introduce you to patterns and the software architecture of the NAV and then help you to build an example application. Then, it walks you through the details of architectural patterns, design patterns, and implementation patterns. This book will also talk about anti-patterns and handling legacy code. Finally, it teaches you to build solutions using patterns. Proven patterns and best practices will help you create better solutions that are easy to maintain in larger teams across several locations. It will guide you through combining abstract patterns using easy-to-understand examples and will help you decide which patterns to use in which scenarios.
Table of Contents (9 chapters)
8
Thank you for buying Learning Dynamics NAV Patterns

The Entity State Pattern

In Microsoft Dynamics NAV, the UI elements in the page objects are bound one to one with tables. The tables in the product represent functional elements, such as Customers, Sales Invoices, or Production Orders. The fields that we need in the page have to exist in the table object.

An example of an Entity State field is adding a Boolean field called Blocked, indicating that the record in the table should not be used in a transaction. This field tells us something about the state of the record.

To add information about the records in these tables, we can add fields with predefined options. These field elements are referred to as Entity state. Because we predefine the state in metadata, we can write code against these fields by creating business rules and processes.

Technical description

To implement this Design Pattern, we need to add a field to the table that describes the state. The field is either of the Boolean or Option type. The combination...