5 Jan’17

D365 Business CentralSteps to create Table Extension Object and Page Extension Object Using Visual Studio Code in NAV


Table Extension and Page Extension are two new objects introduced in the Microsoft Dynamics NAV TENERIFE Developer Preview (Visual Studio Code) release. Table Extension allows to add more fields to an existing table and to change properties of certain fields of a table. Page Extension object allows to add additional fields and actions to an existing page and extends Dynamics NAV page object.

This article will provide the basic steps to create a Table extension object and Page extension object using Visual Studio Code in NAV.


1. Visual Studio Code
2. Microsoft Dynamics NAV TENERIFE (Developer Preview)


To create a table extension object and page extension object using Visual Studio Code in NAV. To demonstrate this, I will be adding an additional field on Item card.


  1. Create a new folder for a new project.
  2. Fig 1: New Folder created for the Project
  3. Open this folder in Visual Studio Code
  4. Create a new file within this folder in Visual Studio Code
  5. Fig 2: Create a new file in the newly created folder
  6. Let’s name this file ‘ItemTableExt.al’
  7. Typing the shortcut ‘ttableext’ will create the basic layout for a table extension.

    Fig 3: Shortcut ttableext

    Fig 4: Basic layout of a table extension

    Replace ‘id’ with a unique table id. It should be in the range from ‘70000000’ to ‘74999999’. Replace ‘MyExtension’ with a unique name of the table extension and ‘MyTargetTable’ with the name of the table where these additional fields have to be added.

    This is shown in the below Screenshot.

    After entering the ‘MyTargetTable’ name, Press ‘Ctrl+Shift+B’ to build the solution which will create app.json file.

  8. Here, I will be creating a Decimal Field ‘Control Sample Qty’. To create a table field, type the shortcut ‘tfield’.
  9. Fig 5: Basic layout of a table field
  10. Replace ‘id’ with a unique field id. Replace ‘MyField’ with a unique field name and mention the type of the field viz. Decimal, Integer, etc. Mention the properties of the field below.

    Fig 6: New field ‘Control Sample Qty’ with ID ‘70000000’ of type ‘Decimal’ is added to ‘Item table’ which is highlighted in red colour. Property of this field i.e. ‘Editable=False’ is highlighted in lime colour.

    Hence the table extension has been created.

  11. To create a page extension, create a new file. Let’s name this file as ItemPageExt.al.
  12. Type the shortcut ‘tpageext’ to create a basic layout of a page extension.

    Fig 7: Basic layout of a page extension.

    In the layout section, you can use the following functions to place page fields and groups on the page. Similarly, in the actions section, you use these functions to place actions in the ribbon. (Note: General and AddressDetails are group names)

    1. addfirst(General) – Applies to Groups only
    2. addlast(General) – Applies to Groups only
    3. addafter(AddressDetails) – Applies to Fields and groups
    4. addbefore(AddressDetails) – Applies to Fields and groups
    5. movefirst(General) – Applies to Groups only
    6. movelast(General) – Applies to Groups only
    7. moveafter(AddressDetails) – Applies to Fields and groups
    8. movebefore(AddressDetails) – Applies to Fields and groups
  13. Replace id with a unique page extension id in the range from ‘70000000’ to ‘74999999’. Replace ‘MyExtension’ with the name of the page extension. Replace ‘MyTargetPage’ with the name of the existing page in which additional functionality has to be added.
  14. The following page extension extends Item card and adds field ‘Control Sample Qty’ to the ‘InventoryGrp’.

    Fig 8: Field is added to the page using Page extension

    Hence, page extension is created.

  15. Build the solution using ‘Ctrl+Shift+B’.

    Hence ‘navx file’ will be created.

  16. Press F5 to create launch.json file or manually create launch.json file. Thus launch.json will be created.

    Fig: launch.json
  17. In the NAV Web client, in Extensions Management, the published extension will be displayed.

    Fig 9: Extensions Management

    Thus, the newly created field i.e. ‘Control Sample Qty’ will be displayed in Item card.

    Fig 10: New field ‘Control Sample Qty’ field has been added to Item card.


    Thus, Table extension is used when additional fields are to be added to an existing table or any properties of the fields have to be changed and Page extension is used to add additional functionality to existing pages like extra fields and actions.


    Written by

    Team Member


Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.

Want to streamline your business processes?

  • This field is for validation purposes and should be left unchanged.

Recent Articles

  • Reading more then 10K records in D3FOE OData API

    11 July’ 2018

    Introduction: We all know Dynamics 365 Finance and Operations has limitation of 10K records to be fetched at a time usi...

    Read more
  • Paging in D365 Customer Engagement v9.0

    10 July’ 2018

    Introduction: The Xrm.retrieveMultipleRecords method is used to retrieve a collection of records in Dynamics 365 Custom...

    Read more
  • Set up Dynamics 365 connection in Microsoft Social Engagement

    10 July’ 2018

    Introduction: This blog explains how to Set up Dynamics 365 connection in Microsoft Social Engagement. Steps to be follo...

    Read more
  • Voice of the Customer failed to install

    10 July’ 2018

    Introduction: Many people face issues in installing Voice of Customer solution on v9 environment and trying repeatedly ...

    Read more
  • Scribe Insight AX as a Web Service Find Block issue

    10 July’ 2018

    Introduction: If we need to look up for any value from AX then we do it by using a Find Block in Scribe Insight Eg: Basi...

    Read more