Skip to main content

Microsoft Dynamics NAV 2016 Extensions - Develop Extension Part 1.

Hi All,

Recap - "We understand Concept of Extension Using an Example of Shipping of Jet Report Solutions."

If you are not following the Extension Series Then Refer the Table of Contents For Extensions.

In This Article Series We will see How to Create Extension. Let's see What Microsoft Says About Developing Extensions. Below Image is What Microsoft Says.

If you don't understand the Image, don't worry We will discuss all in this article.

** Assumption - For The Extension Demo I am Using Microsoft Dynamics NAV 2016 W1 Initial Build. There are Some Issues Related to Extensions In Cumulative Update 2.
If you want to Follow the Steps then Please Install Initial Build of Microsoft Dynamics NAV 2016.

Pre-Requisites - (Please Use Same Names If you want to Practice with Me)

> Restore two Microsoft Dynamics NAV 2016 W1 Initial Release Database, named That as Extension_Demo1 & Extension_Demo2.

> Map Two Services to Respective Database With Name as ExtensionDemo1 & ExtensionDemo2.

Consider An Example My Customer Require an Customization As Below -

> Require Possibility To Cancel Purchase Order (Delete) with Below Conditions -
 1. Only Purchase Order Which are Not Received or Invoiced can be cancelled.
 2. Before Cancel Archive Purchase Order.
 3. Archive Purchased Order Should have a Boolean Cancelled set to True With Cancelled By As User ID.
 4. Only Selected Users can Cancel Purchase Orders.
 5. Cancel Purchase Order can only be activated/deactivated From Setup.

So For Above Requirements I have Customized Below Objects.

In Purchase Header & Purchase Header Archive Tables I have Added Two Fields -

In User Setup and Purchases & Payables Setup Tables I have Added One Field -

Added Actions On Purchase Header Pages For Calling the Customized Code -

** Remember While Trying to use Extensions You cannot write Customized Code in Old Approach. You Need to use Events and Subscriptions for Using Extensions.

All my Events and Subscription are placed in Codeunit 70000 Purchase Cancel Events.

When User Clicked on the Actions in Purchase Order Pages
1) Then On Run Trigger Get Called Which Validate the Field Cancelled in Purchase Header Table.

2) In the Same Codeunit There is a Subscriber Which Subscribe The OnBeforeValidateEvent Of Cancelled Field in Purchase Header Table, as shown Below -

In the Next Article we will see how we can pack this customization as Extension & Deploy it on Customer Environment.

Till we Discuss Next Article You Can download the Objects from SkyDrive and Test the Customization on Extension_Demo1 Database (NAV 2016 W1 Initial Release).


File Name - Microsoft Dynamics NAV 2016 - Extensions Demo (Part 1 Objects)

+saurav dhyani


Popular posts from this blog

Send Mail with Attachment From Navision.

Hi all, We have seen how to save a report into PDF and how to send mail to a customer. Let's link these two post in one i.e. Mailing statement to a customer into PDF Format. This article is part of the Series. Please Refer  Table of Content here . If you have the old objects set let me brief you what I will be changing - 

Dynamics 365 Business Central 2021 release wave 2 (BC19) Released.

Hi Readers, As we all were expecting Microsoft have Released Business Central 2021 Release Wave 2 Today a.k.a BC19. In this article we will see what all is announced with the General Availability.  Starting Today Customers & Partners can start using Business Central 19. #msdyn365bc #bc19

Error After Restore SQL Backup of NAV 2013 Database

Hi all, we are facing a conman issue during restoring a SQL Database backup restored for NAV 2013. While Trying to run object from Object Designer we get below listed error (even the service is configured properly) - --------------------------- Microsoft Dynamics NAV Development Environment --------------------------- There are no NAV Server instances available for this database. You must ensure that a NAV Server instance is running and is configured to use the database before you perform this activity. --------------------------- OK    ---------------------------