I took me a good while, but I finally managed to get my first automation object created, compiled, and made visible in NAV. Stefano Demiliani provided most of the guidance that I needed on this, as well as a few postings on mibuso, but there were a few other tricks I picked up on in the process that I figured I’d share here. Also, since I couldn’t find one anywhere else, I figured I’d post a complete Visual Studio sample project.
You can download the sample project at http://bitsofinsanity.blob.core.windows.net/public/NavAutomation.zip
Please note that I am far from an expert on COM objects - I figured out just enough to get my code to compile and work, but it’s highly likely that my work is suboptimal, so if anyone has any ideas for improvement, please share them.
I suppose I should explain what I’m talking about. Microsoft Dynamics NAV is an ERP system that contains and manages our Finances, Accounting, HR, Events, and more. It has tables of data (backed by SQL Server), forms to display the data, reports, and more. Each of these object types can have code behind it controlling what it does. However, the extensibility is limited to using COM objects, which are called ‘Automation Objects’ in NAV. But so long as you can create a COM object properly, you can insert it into a table or form and, through that COM object, you can do whatever the .Net framework allows you to do.