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).

SKYDRIVE LINK 

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

Regards,
+saurav dhyani
saurav-nav.blogspot.com

Comments

Popular posts from this blog

VIEW SERVER STATE permission on SQL Server?

Hi all, Sometime While trying to Login into a database we face an error message as shown below. --------------------------- Microsoft Dynamics NAV Classic --------------------------- You cannot start Microsoft Dynamics NAV Classic because you do not have the VIEW SERVER STATE permission on SQL Server. Contact your system administrator. --------------------------- OK    ---------------------------

NAV 2013 R2 - Cumulative update 12 Released.

Hi all, Please find below the details of  Cumulative Update 12 released for Microsoft Dynamics NAV 2013 R2. Title - Cumulative Update 12 for Microsoft Dynamics NAV 2013 R2 Build No. - 38053 Release Date - October, 2014 Local Version Included - AU, AT, BE, CH, DE, DK, ES, FI, FR, IS, IT, NA, NL, NO, NZ, SE, UK, RU Download Link Note: Implementing this cumulative update will require a database conversion unless you have already implemented update rollup 5.

NAV 2013 Upgrade Part III - Data Upgrading.

Hi all, As per agenda we need to discuss the data upgrade in NAV 2013. The process is similar to what used to be till NAV 2009 R2 but with some changes. Let's start the process. Remember -  1) You can only upgrade a database to NAV 2013 from NAV 2009 SP1 / R2 SQL Only. 2) The Synchronization of users with SQL Server is no more required.