Wednesday, January 6, 2016

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

No comments:

Post a Comment