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)
Thank you for buying Learning Dynamics NAV Patterns

Dismissible dialogs and save preferences

In order to design user-friendly systems that can be used intuitively, we need to store the user's preferences, and allow them to specify them at runtime.

Each user can make their own settings, based on the level of guidance they feel comfortable with.

This pattern is relatively new to the Microsoft Dynamics NAV product, and was first implemented in the 2013 R2 version.

An explanation of the implementation of embedding instructions in Microsoft Dynamics NAV is available at

Technical description

The preferences are stored in a table with a combination of User ID and a code that represents the setting. The settings are handled in functions that are the members of the function.

To test if a user has not disabled something, simply use the following code:

IsGettingStartedVisible() : Boolean