waldo’s blog

Microsoft Dynamics NAV

NAVTechDays Windows Phone App Available!

Just a small heads up for you: the Windows Phone App I talked about in my previous blogpost, is available from today! In my knowledge, this is the very first Windows Phone app dedicated to a NAV conference..


You can download it from the marketplace. Here is the link where you can find all info:



Some screenshots:



August 31st, 2012 Posted by waldo | Dynamics NAV | no comments

Stuff that will be discontinued for Microsoft Dynamics NAV

It’s always important to be aware of what has and what doesn’t have a future. It has been announced for quite some time now .. but today (it might have been a coincidence .. but I don’t believe in that) I’ve had to point to two different items that will be discontinued. Therefore, I decided to share with you the list of changes that are coming for Microsoft Dynamics NAV.

Regarding functionality, and effective from 1 October 2012, the following will no longer be available for purchase.

  • Business analytics
    • 7020 Business Analytics Base Functionality
    • 7021 Business Analytics Advanced

    This can be explained by the introduction of JetReports Express, and the fact that NAV 2013 will include many new reporting and BI enhancements (through enhanced Microsoft SQL Server Reporting Services dependency, charting enhancements and integration with Power Pivot for Microsoft Excel). And if that isn’t enough, there is always the Microsoft Dynamics Marketplace where you can find certified ISV solutions

  • Employee Portal (2450)As you know, NAV 2013 comes with its MS Dynamics NAV Portal framework for Microsoft Sharepoint.
  • Banking ((11210) Swedish country code)Once again, Microsoft refers to Microsoft Dynamics Marketplace for anyone who might need this.
  • Payments
    • 5001910 Electronic Payments (from German country code)
    • 5001920 Foreign Payment Systems (from German country code)

    Luckily “only” for German customers.. . And again, Microsoft Dynamics Marketplace for anyone who might need this.

  • Cost Accounting
    • 5000010 Cost Accounting Packet (from German country code)
    • 5000020 Basic Cost Accounting (from German country code)
    • 5000030 Cost Accounting Allocation (from German country code)
    • 5000040 Cost Accounting Budget (from German country code)
    • 5000050 Project Accounting Packet (Basic, Allocation, Budget) (from German country code)
    • 5000060 Basic Project Accounting (from German country code)
    • 5000070 Project Accounting Allocation (from German country code)
    • 5000080 Project Accounting Plan (from German country code)
    • 5000095 Cost Accounting Analysis (from German country code)

    Finally, NAV 2013 comes with Cost Accounting natively: for every country, not only Germany and some others. So no need for this being a country-specific solution anymore :-).

As this is being discontinued, Microsoft will no longer charge any BREP fees to these granules. And be aware: the granules will remain in the license (and here it comes) until the customers upgrades to Dynamics NAV 2013! Which means: Existing Customers upgrading to Microsoft Dynamics NAV 2013 will no longer be able to use the above. So before upgrade: take that into account, and talk this over with your partner/customer.

And that’s not all.. I’m afraid. When you want to implement NAV 2013, there are some extra (some of them quite obvious) things to keep into mind. Let’s try to summarize:

  • Application ObjectsThis is such an obvious one.. . As RTC is the only way to go, it’s obvious that the classic stack is going to disappear, which means:
    • No Forms
      • Pages will be used. Regarding BREP fees: customers will get Pages for every Form in their license.
    • No Dataports
      • XMLPorts will be used. Regarding BREP fees: customers will get XMLPorts for every Dataport in their license.
  • CRM - Contact SearchThe contact search won’t work in NAV2013, and is being replace by native search functionality of NAV 2013.
  • Production ScheduleAnother thing that won’t be purchased anymore. For alternatives: Microsoft Dynamics Marketplace.
  • Other NAV stuff:
    • C/OCX (1750)As we all know, NAV has Client Extensibility and .Net Interop now. So, C/OCX can be replace by a whole bunch of new opportunities (and it even doesn’t have to take long).

      It does mean that solutions might have to be redesigned!

    • C/FRONT(.NET) (1800)For reading and writing data, you should now use Dynamics NAV Web Services (my favorite :-)).
    • Application Server (1415)The NAS was part of the classic stack, so it was doomed to disappear as well. It was primarily used for interfacing: we’ve got Web Services for that now! For other jobs, there will be the “NAS on NAV Service Tier” role of the Dynamics NAV Server. So in fact: NAS is still there, but it will exist on the service tier, where it belongs! :-).
    • Business Notification (Worksheet) (7010 - 7011)I still don’t know anyone who got this to work, really.. Including me :(. However, there are solutions out there: Microsoft Dynamics Marketplace.
    • C/ODBC (1700)I personally haven’t used this in ages. So don’t really mind this being discontinued. It will be replaced by: Web Services, Queries and the .Net framework (which can be used by .Net Interop).
    • Client Monitor (2000)Everybody wants an alternative for this (at least all developers), and Microsoft points us to the Marketplace as well .. but I’m a bit in doubt for this. I didn’t do a proper search, but I bet I won’t find a decent Client Monitor out there with the same possibilities it had within the classic client.

I hope this summarized information helps you in pointing your decisions in a good direction.

August 30th, 2012 Posted by waldo | Dynamics NAV | no comments

NAVTechdays 2012 - another one you shouldn’t miss!

Oh yes oh yes oh yes .. :-).

That was my reaction when Luc Van Dyck told me he was going to organize a new edition of NAVTechDays - only one year after the last one.

And you know how I liked it. If not, read this blogpost :-). To recapitulate: NAVTechDays was one of the most professional conferences I ever attended (and I have attended A LOT of them..) - knowing it was only organized by Luc Van Dyck - who happens to be a Belgian too (coincidence? :-)). Perfect accommodation, great seats, long in-depth sessions, no sales&marketing-fluff, … . What more do you want for your consultants? What more do you want as a speaker? What more do you want as an exhibitioner? … Nice looking women? Well, Luc promised to look into it .. I bet he will ;-).


With NAV 2013 coming up, there is - again - a lot to look forward to. But if you thought only the NAV2013-topic is interesting .. well, you’re wrong! There are also general sessions, which are really a “must see”. Here is an overview of all sessions (for the most up-to-date view, you should visit het conference web site):

  • NAV on Azure (NAV deployment, Click once, administration, creating solutions, upgrade, new authentication model)
  • What’s new for data access in NAV2013
  • Web client & NAV portal framework
  • Dynamics NAV 2013 Reporting Story
  • New server capabilities: RTC NAS & Job queue, NAV Server admin tools & scripts, unicode, 64-bit
  • Scrum introduction (and how it’s used by the Microsoft Dynamics NAV team)
  • What is new in RTC (Filter variables,Grouping and Grid layout)
  • C/AL coding for performance in NAV2013
  • Writing C/AL unit tests efficiently with help of new tools
  • Best practices in development and design patterns
  • Web Services Black Belt – tips & tricks from the (battle)field
  • Understanding Blocks & Deadlocks – Theory and Practice

But sessions is not the only reason why you should attend. Not at all, actually. The conference provides the excellent opportunities to network, meet people, share experiences, gain ideas, … . You have to see it to believe it. In my opinion, spending two days on a conference like this, is worth a lot!

First NAV conference with its own Windows Phone App!

Yes, you read it well .. and as a WP7-owner, this is very good news for me ;-). As you can read in the FAQ’s on the NAVTechDays’ website, the app will be available soon, and will look something like this:

Some stats

Like last year, here are some pending stats (there are still ongoing registrations .. In fact .. I’m blogging this much sooner than last year, and the number of attendees is already the same. So there is going to be an even bigger number of people as last year :-)):

At this moment, there are 383 registered attendees, coming from 29 different countries. Among them, there will be 13 MVP’s (3 more than last year), 21 Microsoft-people (you have a question?..), 27 speakers,… . Wow..

And yes, there are some special ones as well. Besides the fact that Luc is going to be there as well (and in my opinion, he’s the most special one (no, I’m not getting paid for this..)) - Dan Brown is going to do the key note. And no, I’m not talking about the Author of the Da Vinci Code, but I’m talking about the head of Dynamics NAV people at Microsoft (obviously not his official title.. In fact, I was looking for his official title, and found about 5 of them online :-/ Let’s just say he’s head of Dynamics NAV R&D). Dan already posted this message on the Mibuso Forum (which says he’s a General Manager of Dynamics NAV).

Furthermore, there
be Alex Riley, which some of you might know (I must admit .. I didn’t). If not, this might help: http://www.bbc.co.uk/programmes/b011cr8h.

Coming back to the most important people there: the attendees. They come from an overwhelming 29 countries, where these are the top 5:

  1. Netherlands: 89
  2. Germany: 61
  3. Belgium: 59
  4. Denmark: 45
  5. United Kingdom: 30

I must admit that I (as a Belgian) don’t like being - only - third on the list… . But anyway, here is a map (which is also available on the NAVTechDays website):

There is even going to be someone from Australia and South Africa. How cool is that? =-). Well, if they feel it’s worth coming over to little Belgium .. you should too!

See you all at NAVTechDays!

August 14th, 2012 Posted by waldo | Dynamics NAV | no comments

Deny object changes in SQL Server

Internally at iFacto, we have been working quite heavily on our infrastructure. And if I say “heavily” .. I mean unbefreakinglievable heavily. In a way: we threw everything out .. and we placed a lot in. But we only did this after going very deep in pre-defining about everything we could predefine: user security, SQL security, How to set up and maintain development databases, QA databases, Internal stuff, what do we back up, how much, .. . You know, the usual. And probably you also know that doing that as an IT partner, isn’t that easy to do: you have to foresee IT for yourself, and for your customer’s IT (at least - for its developents..), for products .. Releasemanagement, product management and sh<bleep>t … .


Anyway … it would take me too long to explain everything (although, I’m willing to expand on this if you want .. just drop me a comment). It’s just .. by doing this, we created a lot of scripts, tips and tricks .. which I’m going to share over the few months of blogging..


When we were thinking about how to deny the object changes for released databases, we were thinking about how it was usually done: write some kind of trigger on the object table, and go from there.. . Or what I also heard: make a database “Read Only” in SQL Server.

But there is a much cleaner solution for doing something like this. With setting simple SQL Server Permissions, you

In our case, after setting up our new domain, we only grant permissions (all kinds of permissions) to User Groups (which is going to bite us in our *ss with NAV2013 (it seems) .. but anyway..). In this case, all users that have access to the database, are part of the windows group “RC-NAV-TECHNICAL”.

Only thing we have to do, is to execute this “script” to the database that we don’t want users to change objects:











If you’re not that familiar with T-SQL, you can use your SQL Server Management Studio to set up the permissions. Just select your database, go to security, double click the user (or group), select securables, click “Search”, select “Specific Objects” and click OK. Graphically:

Next, select “Tables” from the Object Types, and try to find the Object-table:

Now, it’s all about DENY-ing and GRANT-ing the different permissions you have available for your Object Table. In my opinion, this is the right setup:

When you generate a script from this, you’ll see you get the same as I showed above.

So, what happens if I do try to change an object?

Well, as you would expect, you get this SQL Server Permission Error:

Same for insert or deleting an object.

I particularly like this way of denying permissions, not only because it makes most sense, but also: I’m still able to work with data in the database (post invoices and such - this won’t be possible in a “Read Only” database), and I don’t need complex triggers to figure out why something is denied or not.

Are there no buts?

Sure. You can only do this on the entire Object table. You have to keep that in mind when you’re implementing this. For example, users won’t be able to update a menu suite.

Probably most of you figured this already out. We actually never cared until our infrastructural change .. and I couldn’t find a decent solution online .. so I thought: “let’s share!” ;-).


August 1st, 2012 Posted by waldo | Dynamics NAV | 3 comments