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

Running tasks in background sessions


When you execute long-running tasks, such as generating a large report or posting many documents in one batch, this blocks the user interface, forcing the user to wait until the task completes. Such extensive tasks can be run as background sessions, while the UI remains responsive.

How to do it...

This recipe shows how to run a batch job in a background session. The code in the recipe starts a session that posts sales and purchase invoices:

  1. Create a codeunit 50019 Post Invoices.

  2. In the OnRun trigger, declare the following local variables:

    Name

    DataType

    Subtype

    SalesHeader

    Record

    Sales Header

    PurchaseHeader

    Record

    Purchase Header

    SalesPost

    Codeunit

    Sales-Post

    PurchPost

    Codeunit

    Purch.-Post

  3. Enter the OnRun trigger code as follows:

            WITH PurchaseHeader DO BEGIN 
              SETRANGE("Document Type","Document Type"::Invoice); 
            IF FINDSET THEN 
              REPEAT 
                Receive := TRUE; 
       ...