Book Image

Extending Microsoft Dynamics NAV 2016 Cookbook

By : Alexander Drogin
Book Image

Extending Microsoft Dynamics NAV 2016 Cookbook

By: Alexander Drogin

Overview of this book

Microsoft Dynamics NAV is an enterprise resource planning (ERP) software suite for organizations. The system offers specialized functionality for manufacturing, distribution, government, retail, and other industries. Its integrated development environment enables customizations with minimal disruption to business processes. The book starts explaining the new features of Dynamics NAV along with how to create and modify a simple module. Moving on, you will learn the importance of thinking beyond the boundaries of C/AL development and the possibilities opened by with it. Next, you will get to know how COM can be used to extend the functionalities of Dynamics NAV. You’ll find out how to extend the Dynamics NAV 2016 version using .NET interoperability and will see the steps required to subscribe to .NET events in order to extend Dynamics NAV. Finally, you’ll see the cmdlets available to manage extension packages. By the end of the book, you will have the knowledge needed to become more efficient in selecting the extending methods, developing and deploying them to the Dynamics NAV, and practicing the best practices.
Table of Contents (17 chapters)
Extending Microsoft Dynamics NAV 2016 Cookbook
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

Creating and registering a COM component that can be used in NAV


We will implement a simple custom COM component that exposes an interface to multiply two decimal numbers.

How to do it...

  1. Start Visual Studio and create a new project. The initial steps repeat those from the Developing your own .NET class recipe from Chapter 4, .NET Interoperability in C/AL - you need to create a project based on a Class Library template. Name the project NAVAutomationServer and choose to create a new solution for the project.

  2. In the new project, remove all automatically generated using directives and insert one instead:

            using System.Runtime.InteropServices; 
    
  3. The following is code of the exported class:

            namespace NavAutomationServer 
            { 
              [ComVisible(true)] 
              public interface IMultiplication 
              { 
                int Multiply(int x, int y); 
              } 
     
     
              [ComVisible(true)] 
              [ProgId("My.TestClass")] 
              public class Multiplication : IMultiplication...