Discover what’s new in technology at Microsoft Build Live

This is the place for devs to watch Microsoft Build—check out the keynotes, announcements, technical sessions, and more. Go…

Anuncios

DYNAMICS NAV 2018 CU6 IS AVAILABLE

Original URL…

 

 

Cumulative Update 06 includes all application and platform hotfixes and regulatory features that have been released for Microsoft Dynamics NAV 2018.

The cumulative update is intended mainly for solutions that are experiencing the problems described in the Knowledge Base article linked to below. However, you are advised to always keep your solution updated with the latest cumulative update. If you are in doubt about whether this cumulative update addresses your specific problem, or if you want to confirm whether any special compatibility, installation, or download issues are associated with this cumulative update, support professionals in Customer Support Services are ready to help you. For more information, see http://support.microsoft.com/contactus/.

The cumulative update includes hotfixes that apply to all countries and hotfixes specific to the following local versions:

Where to find Cumulative Update 06

You can download the cumulative update from KB4337675 – Cumulative Update 06 for Microsoft Dynamics NAV 2018.

You can press one of the countries in list above for a direct download or you can download the cumulative update from the Microsoft Download Center.

SOURCE https://blogs.msdn.microsoft.com/nav/2018/06/01/cumulative-update-06-for-microsoft-dynamics-nav-2018-has-been-released/

https://robertostefanettinavblog.com/2018/06/02/dynamics-nav-2018-cu6-is-available/

SII format changes v1.1 in the Spanish version of Microsoft Dynamics NAV

Original URL…

Applies to: Dynamics NAV 2015Dynamics NAV 2016Dynamics NAV 2017 More

Overview


This is an update to the functionality regarding the Immediate Information Supply in the Spanish version of Dynamics NAV. It contains format changes to the XML that is exported to the Spanish Tax authorities as well as functionality improvements.

Reference Information


Reference No. 263060
Product Area Financial Management
Discovered in Microsoft Dynamics NAV 2015, 2016, 2017 and 2018
Title [ES] – SII format changes v1.1
Released on June 2018

Important Notice to Customers


We recommend that you contact your Microsoft Dynamics Partner before installing service packs or hotfixes. It is important to verify that your environment is compatible with the service pack(s), hotfix(es), or download(s) being installed. A service pack, hotfix, or download may cause interoperability issues with customizations, and third-party products that work with your Microsoft Dynamics solutions.

Important Notice to Partners


As per the SPA, it is non-compliant for partners to redistribute tax and regulatory updates to ERP customers not enrolled in the Business Ready Enhancement Plan. Partners can verify their customer’s status in VOICE. If they’re not enrolled, Partners will need to get them current before they can distribute.

Installation


Before this update can be installed, the following prerequisites are required:

  • Microsoft Dynamics NAV 2018 Spain
  • Microsoft Dynamics NAV 2017 Spain
  • Microsoft Dynamics NAV 2016 Spain
  • Microsoft Dynamics NAV 2015 Spain

This update is available through:

Microsoft Dynamics ® NAV 2018 Spain, Cumulative Update CU 6

Microsoft Dynamics ® NAV 2017 Spain, Cumulative Update CU 19

Microsoft Dynamics ® NAV 2016 Spain, Cumulative Update CU 32

Microsoft Dynamics ® NAV 2015 Spain, Cumulative Update CU 44

Installation Steps:

For more information about how to install an update rollup, click the following article number to view the article in the Microsoft Knowledge Base:

  • 3021418  – How to Install a Microsoft Dynamics NAV 2015 Cumulative Update
  • 3109325  – How to install a Microsoft Dynamics NAV 2016 Cumulative Update
  • 3204818  – How to install a Microsoft Dynamics NAV 2017 Cumulative Update
  • 4072484  – How to install a Microsoft Dynamics NAV 2018 Cumulative Update

Note:

  • Existing customizations in objects that are included in this update file may break when you import the regulatory feature.
  • No data upgrade is required before you can use this feature.

Licensing


Refresh your license to access the new objects that are added with this release.

Objects


The following object have been added/modified through this release:

Type No. Name Added/

Modified

Codeunit 10750 SII XML Creator Modified
Codeunit 10752 SII Doc. Upload Management Modified
Codeunit 5987 Serv-Posting Journals Mgt. Modified
Codeunit 80 Sales-Post Modified
Codeunit 90 Purch.-Post Modified
Page 10751 SII Setup Modified
Page 10752 SII History Modified
Page 132 Posted Sales Invoice Modified
Page 138 Posted Purchase Invoice Modified
Page 253 Sales Journal Modified
Page 254 Purchase Journal Modified
Page 255 Cash Receipt Journal Modified
Page 256 Payment Journal Modified
Page 39 General Journal Modified
Page 42 Sales Order Modified
Page 43 Sales Invoice Modified
Page 50 Purchase Order Modified
Page 51 Purchase Invoice Modified
Page 52 Purchase Credit Memo Modified
Page 5900 Service Order Modified
Page 5933 Service Invoice Modified
Page 5978 Posted Service Invoice Modified
Page 6630 Sales Return Order Modified
Page 6640 Purchase Return Order Modified
Table 10751 SII Setup Modified
Table 10752 SII Doc. Upload State Modified
Table 112 Sales Invoice Header Modified
Table 114 Sales Cr.Memo Header Modified
Table 122 Purch. Inv. Header Modified
Table 124 Purch. Cr. Memo Hdr. Modified
Table 21 Cust. Ledger Entry Modified
Table 25 Vendor Ledger Entry Modified
Table 289 Payment Method Modified
Table 36 Sales Header Modified
Table 38 Purchase Header Modified
Table 5900 Service Header Modified
Table 5992 Service Invoice Header Modified
Table 5994 Service Cr.Memo Header Modified
Table 81 Gen. Journal Line Modified

Setup and functionality


SII Version No

After you post any document a new entry will be added to SII History with version 1.1.
You can change the version if you need to do so. This is done from the SII History.

  1. Open SII History.
  2. Right click on any column, select option Choose Columns.
  3. Select column “SII Version No.”
  4. Press action “Edit List.”
  5. Change version to 1.0 in field “SII Version No.”
SII history

XML change: New parent node DetalleExenta for VAT exemption entries

New parent node DetalleExenta for VAT exemption entries

New purchase invoice type “Customs – Completementary Liquidation”

  1. Create a purchase invoice.
  2. Set “Invoice Type” = “Customs – Complementary Liquidation” on the “Invoice Details” tab.
    New purchase invoice type Customs Completementary Liquidation
  3. Post invoice and send it to the Spanish Tax authorities using the SII functionality.
  4. Press “Show Request XML” action on the SII History page.
  5. See a new value “LC” in the TipoFactura node.
new value LC in TipoFactura node

New node Macrodato to identify if an invoice amount is greater than a threshold of 100,000 euros

New field “Invoice Amount Threshold” is added to SII Setup:

SII Setup

Post purchase invoice with amount less than threshold and send to SII. The value of Macrodato node is “N.”

The value of Macrodato node is N

Then post purchase invoice with an amount greater than the threshold and send it to SII.

The value of Macrodato node is “Y.”

XML file

NOTE: Macrodato node will not be added to XML if there is no ImporteTotal node. ImporteTotal node will be added to XML only if TipoFactura is F2 or F4 OR ClaveRegimenEspecialOTrascendencia is 03 or 05.

New node RefExterna with Entry No. of associated entry

Post a purchase invoice and send it to SII. The XML file contains RefExterna with Entry No. of the associated Vendor Ledger entry as illustrated below:

XML file

New node EntidadSucedida to identify a company-successor on operation of corporate restructuring

  1. Create invoice and specify Succeeded Company Name and Succeeded VAT Registration No. on the “Invoice Details” tab or in the Journal.
    Invoice Details
  2. If you forgot to specify these fields, open SII History page and press Choose Columns
  3. Select fields Succeeded Company Name and Succeeded VAT Registration No.
    Customize SII history
  4. Press “Edit List” and specify values into these new fields.
    Edit SII history
  5. Press “Retry Accepted.”

The successor information will be included in the exported XML as illustrated below:

Exported XML

Publishing and Installing an Extension v2.0

Original URL…

  1. Publish and synchronize an extensión
  2. Install an extension
  3. See Also

The AL developer environment is evolving with frequent updates. To stay up to date on the latest information and announcements, follow us on the Dynamics NAV Team Blog.

To make your extension available to tenant users requires three basic tasks: publish the extension package to the Dynamics 365 Business Central server instance, synchronize the extension with the tenant database, and install the extension on the tenant.

Note

This article describes how to publish and install the first version of a V2 extension. If you want to publish an install newer version of an extension, see Upgrading Extensions V2.

Publish and synchronize an extension

Publishing an extension to a Dynamics 365 Business Central server instance adds the extension to the application database that is mounted on the server instance, making it available for installation on tenants of the server instance. Publishing updates internal tables, compiles the components of the extension behind-the-scenes, and builds the necessary metadata objects that are used at runtime.

Synchronizing an extension updates the database schema of the tenant database with the database schema that is defined by the extension objects. For example, if a table or table extension is included in the extension, then the respective full or companion table is created in the tenant database.

To publish and synchronize an extension

  1. Start the Microsoft Dynamics NAV Administration Shell.
  2. To publish the extension, run the Publish-NAVApp cmdlet.The cmdlet takes as parameters the Dynamics 365 Business Central service instance that you want to install to and the .app package file that contains the extension. The following example publishes the extension MyExtension.app to the YourDynamicsNAVServer instance.
  • Publish-NAVApp -ServerInstance YourDynamicsNAVServer -Path ".\MyExtension.app"
    
  • To synchronize the schema of a tenant database to the extension, run the Sync-NavApp cmdlet.The following example synchronizes the extension MyExtension with the tenant:

 

  1. Sync-NavApp -ServerInstance YourDynamicsNAVServer -Name ExtensionName 
    -Path “.\MyExtension.app” -Tenant TenantID
    

    Replace TenantID with the tenant ID of the database. If you do not have a multitenant server instance, use default or omit this parameter.

The extension can now be installed on tenants.

Install an extension

After you publish and synchronize an extension, you can install it on tenants to enable the extension and make it available to users in the client. Installing an extension can be done from the Dynamics 365 client or Microsoft Dynamics NAV Administration Shell.

Note

Installing an extension will run any installation code that is built-in to the extension. Installation code could, for example, perform operations like populating empty records with data, service callbacks and telemetry, version checks, and messages to users. For more information, see Writing Extension Install Code.

To install an extension by using Microsoft Dynamics NAV Administration Shell

  1. Start the Microsoft Dynamics NAV Administration Shell.
  2. To install the extension on one or more tenants, use the Install-NAVApp cmdlet.The following example installs the extension My Extension for Tenant1 and Tenant3. In single-tenant deployments, you either specify default as the tenant ID, or you omit the –Tenant parameter.
  1. Install-NAVApp -ServerInstance YourDynamicsNAVServer -Name 
    ”My Extension” –Tenant Tenant1, Tenant3  
    

To install an extension by using the client

  1. In Dynamics 365 Business Central , use search to open the Extension Management page.In the Extension Management window, you can view the extensions that are published to your server. For each extension, you can see the current installation status.
  2. Choose an extension to see additional information and to install the extension.
  3. Review and accept the license agreement.
  4. Choose the Install button to install the extension.

See Also

Unpublishing and Uninstalling Extensions
Developing Extensions

¿THE QUESTION? – UPGRADE VS EXTENSIONS – NAV Extensions after the release of Dynamics NAV 2018

Original URL…

he built-in Visual Designer in Dynamics NAV 2018 and Visual Studio Code are expected to replace the familiar C/SIDE environment as a development tool. However, that’s not just a matter of clicking on a button. It means learning a new way of development, a new language (with old components, though) and a new way of deploying customizations.

All customizations, including customizations on top of customizations are going to become Dynamics NAV Extensions; and that’s a good thing for the industry.

.Net users might say, okay that’s how we do things anyway. But, for NAV developers, this is a big change because we are used to changing any existing piece of code.

So why not work towards a model that is as flexible as .Net and solves NAV upgrade issues as well? Let’s not stick with the traditional “copy-paste-modify” but just “reference-and-extend”.

The downside of customizations is that they often introduce challenges when upgrading Dynamics NAV. It’s exponentially harder to upgrade a solution from one version to the next when changes have been made to the underlying solution. Dynamics NAV Extensions, particularly the latest version – Extensions 2.0 – solves this problem.

Instead of defining customizations in the original source code, Dynamics NAV Extensions are written in parallel with the solution source. The integration with the source code is handled with events.

An extension can add new objects and extend existing objects that are present in the solution. The extension code is packaged in a file, which you can easily deploy to your solution. This allows you to upgrade the underlying solution and, as long as the events remain, the extension will behave in the same way from version to version.

With Dynamics NAV 2018, you can have multiple extensions installed. It’s also possible to make a dependency reference from one extension to another. The question is “how?”  When downloading symbols, you’re only getting system and application data.

Please be aware, that several of the extensions installed in NAV2018 are still V1 extensions, and you can reference and download symbols, but the symbol file is empty. So currently it’s not possible to reference a V1 extension from a V2.

 

More Info…

Dynamics NAV solutions can be customized by partners, value-added resellers (VARs), and even some customers. This is an important benefit of the product and the service continues to be available. However, it has traditionally been carried out by overlayering the application code. The move to the cloud with more agile servicing and frequent updates requires a less intrusive customization model that makes updates less likely to impact custom solutions. This new model is called Dynamics NAV Extensions and will probably replace customization.

Dynamics NAV Extensions are a way for Microsoft Dynamics NAV developers and ISVs to extend the functionality of NAV without modifying Microsoft’s original source code. With the new model, when you come to upgrade Dynamics NAV with a cumulative update, you no longer need to merge all the customized objects. That means less upgrade issues.

With NAV Extensions, you can add functionality without changing the standard solution from Microsoft. This has the obvious advantage that major NAV upgrade projects are no longer necessary. Once you are using Extensions, the customizations no longer represent a problem when upgrading to the latest version of the solution.

If you want to prepare for this new model, you should start to work with Dynamics NAV Extensions today.

Barriers to editing Dynamics NAV extensions

Dynamics NAV Extensions are packages that contain additional functionality, report layouts (at least starting in NAV 2017), permissions, and more. The packages can be easily installed, uninstalled and upgraded without affecting the Dynamics NAV source code.

Once the Dynamics NAV extension package has been created, it is no longer easy for others to view the code of the extension, which means that your code is protected. You can view the source code of an extension through the debugger, but you cannot access the code through the development environment and you can’t modify an extension unless you have the source code.

Technically, there is no real problem. The new solution will work and the customer will be able to use the custom functionality. However, if another party wanted to further modify the functionality, it would not be possible because the functionality can only be modified if the developer has the source code.

Evolution of Dynamics NAV Extensions

Dynamics NAV Extensions Version 1

Microsoft Dynamics NAV 2016 incorporated Extensions V1. However, at that stage it was more of a concept than a practical working tool. In reality, it was quite a pain to develop customizations with Dynamics NAV Extensions because you had to restructure code and not all object types could be extended – only pages, tables and code units.

Dynamics NAV Extensions Version 1 did not include:

  • Add-Ins
  • Web services
  • Job Queues
  • Reports
  • Translations and much more

These customizations are usually easy to create using events. So, you can raise an event in your extension and have another extension subscribe to this event, perform certain actions and pass data back. In Extensions V1, this is difficult to do, because you actually need to provide the source code of your extension to everyone who wants to work with your events or with your data structure.

Dynamics NAV Extensions Version 2

Dynamics NAV Extensions V2 helps create a more modern development environment that supports better functionality. You can actually add your events, raise them and then subscribe to them in another extension. You can also use their tables or other functionality without requiring the source code of the base extension.

Microsoft Visual Studio Code downloads the symbols for all dependent extensions. This means, as long you have the base extension installed in your development system and define this extension as a dependent extension, you can subscribe to the event.

How Dynamics NAV Extensions can make Dynamics NAV upgrades easier

We believe that in most cases, NAV Extensions can help developers to upgrade without any problem. Why in most? Because during any Dynamics NAV upgrade we currently carry out (which is classic, nothing to do with Extensions), we can upgrade the most part of the code without conflicts.

What about the exceptions? There are just a few scenarios where you may need to rethink your solution. Here are some examples:

  • When new functionality in an upgraded version of NAV can replace your extension. However, they probably can co-exist.
  • When Microsoft redesigns part of a solution. Even this doesn’t need to be a major problem. If, for example, you are upgrading to NAV2017, a major redesign of CU80 isn’t that much of a problem thanks to the hooks pattern. Decent code design always helps. If you have been using extensions, you would have been using events anyway, so that’s even less of a problem.

Visual Studio Code and Dynamics NAV Extensions

Visual Studio Code (VS Code) is a lightweight source code editor, running on Windows, Mac and Linux. Developing for NAV on your Linux box, doesn’t that sound cool? It has built-in support for JavaScript, TypeScript and Node.js. And it supports extensions (but not NAV Extensions) for other languages, like C#, Python and PHP.

The Microsoft NAV team has created a new VS Code extension that enables the creation of objects in AL language. But beware; creating a VS Code extension for a completely new language is not straightforward! It requires the creation of a model to support intelligence and the creation of a new compiler. That sounds easy, but it is not.

NAV Extensions after the release of Dynamics NAV 2018

The built-in Visual Designer in Dynamics NAV 2018 and Visual Studio Code are expected to replace the familiar C/SIDE environment as a development tool. However, that’s not just a matter of clicking on a button. It means learning a new way of development, a new language (with old components, though) and a new way of deploying customizations.

All customizations, including customizations on top of customizations are going to become Dynamics NAV Extensions; and that’s a good thing for the industry.

.Net users might say, okay that’s how we do things anyway. But, for NAV developers, this is a big change because we are used to changing any existing piece of code.

So why not work towards a model that is as flexible as .Net and solves NAV upgrade issues as well? Let’s not stick with the traditional “copy-paste-modify” but just “reference-and-extend”.

The downside of customizations is that they often introduce challenges when upgrading Dynamics NAV. It’s exponentially harder to upgrade a solution from one version to the next when changes have been made to the underlying solution. Dynamics NAV Extensions, particularly the latest version – Extensions 2.0 – solves this problem.

Instead of defining customizations in the original source code, Dynamics NAV Extensions are written in parallel with the solution source. The integration with the source code is handled with events.

An extension can add new objects and extend existing objects that are present in the solution. The extension code is packaged in a file, which you can easily deploy to your solution. This allows you to upgrade the underlying solution and, as long as the events remain, the extension will behave in the same way from version to version.

With Dynamics NAV 2018, you can have multiple extensions installed. It’s also possible to make a dependency reference from one extension to another. The question is “how?”  When downloading symbols, you’re only getting system and application data.

Please be aware, that several of the extensions installed in NAV2018 are still V1 extensions, and you can reference and download symbols, but the symbol file is empty. So currently it’s not possible to reference a V1 extension from a V2.

Microsoft tools for automatic migration to Dynamics NAV Extensions

To help develop solutions for this new programming environment, you can use a set of new Microsoft developer tools to build, test, and deploy NAV Extensions.

Microsoft In-App Designer

In the client, you can switch to In-App Designer mode. This enables you to change the look and feel of the client quickly and easily. Using this tool, you can define the elements (such as fields or groups) that appear on a page and change how they are displayed. You can also use In-App Designer as an interactive tool to create extensions based on changes you make in the client.

Microsoft In-App Designer includes a wide range of important features, such as:

  • Adding a field from the source table to a page
  • Moving a field to another position on a page
  • Removing a field from a page
  • Previewing your design in desktop, tablet, and phone clients
  • Saving the changes for the tenant or saving as an extension package file in Visual Studio Code.
  • Microsoft Dynamics NAV Developer Preview 3 (Coming soon)
  • Changing the caption of a field on the page.
  • Adding, moving, renaming, and removing an action.
  • Adding, moving, and removing page parts.
  • Adding new pages

Conclusion

Erik Ernst, a Microsoft Dynamics NAV MVP, commented, “Personally, I’m thrilled about these new extensions. Not so much because they are special or fantastic. But because they allow me easily to remove them again, or simply not install them. The future direction is clear. Some years down the road, then we will only have the World-Wide version. Localizations are just Extensions, either coming from Microsoft or ISVs.”

A statement from Microsoft added, “There are no plans to stop partners from modifying NAV. But you can see it as an option to transform gradually and get your developers used to using Dynamics NAV Extensions when possible, which will also have a side effect of making upgrades easier. So it should be more of a journey than a hard point in time when you must move from one way of doing things to another.”

At Simplanova, we truly believe that Dynamics NAV Extensions is the solution for many of the pain points we have today. Maybe they are not completely fixed yet, but in the near future they will be! That applies to on-premise, for customizations, and for your private and public cloud. And guess what, for Dynamics365, they are already there!

Add-on upgrade to extensions has become much more relevant with Microsoft Dynamics NAV 2018 version and Extensions 2.0. If you choose Simplanova services to upgrade your Add-on to NAV Extensions, we will move Dynamics NAV code customization to events and redesign the code for a successful migration from Add-on to Extensions.

Simplanova has long experience in Microsoft Dynamics NAV services for ISV and VAR partners. If you would like to discuss how our Dynamics NAV Extensions service can help your business, just fill in the form below.

The post Dynamics NAV Extensions will make NAV upgrades much easier appeared first on Simplanova.

Upgrading to Microsoft Dynamics NAV 2018

Original URL…

Applies to: Microsoft Dynamics NAV 2018. See Microsoft Dynamics NAV 2017 version.

This topic provides an overview of how to upgrade to Microsoft Dynamics NAV 2018. The upgrade process depends on different factors, such as the version of Dynamics NAV that you are upgrading from, and the degree to which your solution differs from the standard version of Dynamics NAV. The mains tasks range from converting the database to upgrading application code and data.

Use the following table to determine the procedures that you must complete for your upgrade scenario.

Scenario Procedures
Full upgrade from one of the following versions:

  • Microsoft Dynamics NAV 2015
  • Microsoft Dynamics NAV 2016
  • Microsoft Dynamics NAV 2017
  1. Upgrade the Application Code
  2. Upgrade the Data
Full upgrade from one of the following versions:

  • Microsoft Dynamics NAV 2013
  • Microsoft Dynamics NAV 2013 R2
  1. Upgrade to Microsoft Dynamics NAV 2018 Cumulative Update 2:
    1. Download Microsoft Dynamics NAV 2018 CU2.
    2. Upgrade the Application Code
    3. Upgrade the Data
  2. Upgrade to the latest Microsoft Dynamics NAV 2018 cumulative update (CU):
    1. Upgrade the Application Code
    2. Upgrade the Data
Full upgrade from one of the following versions:

  • Microsoft Dynamics NAV 2009 SP1
  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 5.0
  • Microsoft Dynamics NAV 4.0
  1. Upgrade to Microsoft Dynamics NAV 2013.
    For more information, see Upgrading to Microsoft Dynamics NAV 2013 in the MSDN Library.Alternatively, you can upgrade from Microsoft Dynamics NAV 2009 SP1 or Microsoft Dynamics NAV 2009 R2 to Microsoft Dynamics NAV 2015 as described on the Dynamics NAV Team Blog.
  2. Upgrade to Microsoft Dynamics NAV 2018 Cumulative Update 2.
    1. Download Microsoft Dynamics NAV 2018 CU2.
    2. Upgrade the Application Code
    3. Upgrade the Data
  3. Upgrade to the latest Microsoft Dynamics NAV 2018 cumulative update (CU) by following steps a and b above.

After the upgrade, links between interaction records and logged email messages is lost. To resolve this issue, the administrator has to log all mails again to restore the links. For more information, see Logging Interaction Links are Lost When You Upgrade from Microsoft Dynamics NAV 2009 R2.

Technical upgrade of Microsoft Dynamics NAV 2018 database to a new platform version with no application changes, such as with a cummulative update

You can also use this procedure to convert a previous Dynamics NAV database to Microsoft Dynamics NAV 2018 technical requirements, and then upgrade the application and data later.

Before you begin the upgrade process, see Upgrade Considerations for tips about things to consider when you prepare to upgrade to Microsoft Dynamics NAV 2018.

Automating the Upgrade Process using Sample Windows PowerShell Scripts

You can use Windows PowerShell scripts to help you upgrade to Microsoft Dynamics NAV 2018. You can use automation to upgrade a single Dynamics NAV database as well as multiple Dynamics NAV databases that use the same application. Microsoft Dynamics NAV 2018 provides sample scripts that you can adapt for your deployment architecture. For more information, see Automating the Upgrade Process using Sample Windows PowerShell Scripts.

See Also

Product and Architecture Overview
Migrating to Multitenancy
Deployment
Transforming Forms to Pages

On Harleys, mad gods and Dynamics NAV

Original URL…

I could have named this blog post Living with extensions in a hybrid Dynamics NAV database. The title I went with is far cooler though. And since I write this stuff mostly for my own enjoyment you get stuck with the cool title.

You see, a little over a year ago I traded in my trusty old bike for a Harley Davidson. It is an awesome bike. Riding it feels like having the mad god of Milwaukee steel shred the fabric of reality and smash you face first through the black hole thus created. I love it and until I can buy the flying steam train out of Back to the Future it is my preferred mode of transport.

It did create a bit of a problem though. I had wrenched on my old bike for years. I knew it inside out, and my thirty year old metric spanners worked perfectly well on it.

Harley Davidson though does not do metric though. Metric tools lack something undefined. They are perhaps too refined for something as cool as a Harley. So I had to get a whole new set of inch sized tools. And that is not the only difference. There is a whole different planet of aftermarket parts for Harleys. I had to find out where to get the stuff I needed to do a simple oil change. It was infuriating.

But I guess that is change. More than a year later I still can’t guess if I need a 1/2 or 9/16th inch wrench but mostly I am happy on planet Harley.

And that brings us back to Dynamics NAV. Or Business Central or whatever you want to call it. Our environment has changed. We have had a major change in the way we work and we are still trying to make sense of it. Sometimes it feels as if the not so mad god of Danish sensibility has left us to an uncertain world of extensions, API’s and all sorts of other things that we can’t make head or tail of.

Where I work (a Dynamics NAV end user) we decided to upgrade to Dynamics NAV 2018 and start working with extensions. And, as I learned to live with Imperial wrenches I am also learning to live with AL and Visual Studio Code. Mostly I like it. Not as much as C# but definitely more than C/AL. The biggest problems we experience are due to the fact that we are in an in between period. We are forever generating symbols because we still need to develop in C/Side. We are creating events in custom code in standard objects because we need to move on and develop new things. I still have doubts about how easy the upgrades will be when Microsoft decides to change the events we use. But upgrading will be easier, no doubt about that.

So basically what I want to say with this blog is this. Cheer up. Change is hard. It is inevitable but it sucks. It creates great opportunities and even bigger pains in the backside. But from where I stand we are going to a good place.

With extensions you can do everything you should do. The rest you should leave alone even in C/Side.

How does that good place look? Dynamics NAV (or Business Central if you must) systems with as little modification as we can get away with. Just customized enough to give our customers or employers a competitive edge. Connected to great server based web applications through API’s. Using machine learning to help our users make sense of the masses of data we create. And think of Azure functions. Great ways of decentralizing business logic and ensuring similar execution across several platforms.

So the future looks good. As long as we develop ourselves to be something more than Navision developers. Change is hard. But, as 15 months of riding a Harley Davidson taught me, change is also good.

And so I hoist my glass to the mad god of change. May we live in interesting times.

Before you move on there is one thing I want to point out. I am independent. I have zero desire to ever become a MVP. It is a great award and I am grateful to all MVP’s for sharing their knowledge but it is not for me. There is no advertising here because I value my independence much more than the €4 per month WordPress charges me for removing the ads. The only reason I write this is because I enjoy writing it. If anyone disagrees with my opinions then that is fine. This is my view.

Absorb what is useful. Discard what is not. Add what is uniquely your own. Bruce Lee

 

Developing NAV / Dynamics 365 Business Central Extensions with real-time collaboration

Original URL…

At Build 2018 Microsoft has showed the new collaborative features introduced for Visual Studio and Visual Studio Code, called Visual Studio Live Share.

With Visual Studio Live Share, you can share a collaborative session with your co-workers and start writing code together in real-time. Wonderful isn’t it? Why not test this feature with Visual Studio Code when developing AL Extensions for NAV or Dynamics 365 Business Central?

In order to activate this feature, open Visual Studio Code and on the Extensions Marketplace search and install the VS Live Share extension:

VSLiveShare_01.jpg

When installed (a Visual Studio Code restart is required) you’ll find a Sign in link in the status bar:

VSLiveShare_02.jpg

The Sign in is required when you want to start a collaborative session with Visual Studio Code (so everyone knows who you are). When clicking on this option, you’re prompted for authentication (Microsoft personal account, corporate account, AAD or GitHub):

VSLiveShare_03

When you’re correctly logged, you can see your name on the status bar and now you’ve also a Share button, where you can start a Live Share session:

VSLiveShare_04.jpg

To start a live collaborative session, click on Share and an invite link will be automatically copied to your clipboard:

VSLiveShare_05.jpg

Note: You may be asked by your desktop firewall software to allow the Live Share agent to open a port the first time you share. Accepting this is entirely optional but enables a secured “direct mode” to improve performance when the person you are working with is on the same network as you are.

Now you’re ready to go. Just share the link to your colleagues and they directly “live share” the coding session with you (here I’ve shared a session with myself on another machine):

VSLiveShare_06.jpg

You can see what your colleagues are typing and vice-versa.

P.S. Sharing of the debugging session is not yet supported.

In my opinion, this is a killer feature for Visual Studio and expecially for developing extensions with AL. I recommend to install it on your Visual Studio Code if you want to improve your productivity when working in teams.