Book Image

Learning Dynamics NAV Patterns

By : Mark Brummel, Marije Brummel
Book Image

Learning Dynamics NAV Patterns

By: Mark Brummel, 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

Model-View ViewModel Pattern

As explained in Chapter 1, Introduction to Patterns and Software Architecture, the Page objects are bound to the Table objects. The way the data is displayed to the user is the way we store it in the SQL Server database.

This is not always what we want. In some cases, we want to display the information in a different, way than how we store it in the database.

For this reason, each Page has the property SourceTableTemporary, and Reports have the Temporary property since Microsoft Dynamics NAV version 2015.

Technical description

The basics for this Pattern is the Temporary Dataset, which is a table that contains the field layout that we want to display to the user. This needs to have a matching Primary key, which is often Rules Pattern or Entry Pattern.

When this is set and we start up the Page or Report, we won't see any data. We need to load it into memory first.

This can be achieved by calling a function in either the OnOpenPage...