The Blog, The Books & The Workshops. In one place


This blog contains 10 years of information about Dynamics NAV . The articles are all categorised, which makes it easier for you to find the information you need.

Continue reading

Posted in Dynamics NAV, General | 4 Comments

Directions 2016 Easter Egg | C/AL in Visual Studio Code?


Ok, it is official. I regret not attending at least one of the Directions events. They published their agenda and there is a really nice easter egg that you must search for.

When blogging about features that have not been released yet it’s always balancing on the edge of NDA and in this case I will “pretend” not to know any details. In general looking at the agenda for Directions and NAVTechDays is always giving you a good idea what is being released, especially when looking at the description.

Modern Development Experience

Maybe it is smart if I just copy and past the description without adding any words just not to get into trouble with Microsoft. In one of my recent “discussions” with Marko Perisic I was called “impatient”. Well, it is very hard not to be Marko, with all this exciting stuff you are working on. I want it yesterday!

Get back to the point dude!

Where was I, a yes, the Modern Development Experience. It was one of the coolest pieces of work I have seen and I hope they show and discuss that at Directions and more.

This is the session extract:

In this session we’ll demo our ‘work in progress’ design tools for building Extensions for Dynamics 365 for Financials. We’ll show how we’ve integrated with Visual Studio code for code editing, debugging & the move to objects as files instead of the database. We’ll also show the improvements we’ve made for C/AL and go over the event subscriber model for building extensions.

The session is done by Stuart Glasson and Esben Nyhuus Kristoffersen. I don’t know Esben but Stuart and I go back to when I first became an MVP when we were collegues for a week in Boston at TechEd. He is easy to regognise when he has is travel luggage with him since it has the Navision logo from the 1990ies. He has the right amount of Navision experience for this huge task which according to him is more a two year project than a two week sprint.

There is also an interactive discussion with Michael Hammond:

Ask the experts! Come for an interactive session and ask any questions you like about building extensions, new tools & compiler, events and AppSource.

GO TO THESE SESSIONS

Please! This is what we have been asking for at least a small decade. Discuss things like source control, smart compiler, regognising design patterns, using tempates!

Michael is an awesomely nice and smart guy. Unlike Stuart he has a GP background (AFAIK) which gives us a unique opportunity to mix both worlds, especially from an extensions perspective. Extensions are new to NAV but have been in GP forever (AFAIK).

Let’s do extensions open source! Let’s allow a quick change to a delta file in a production database running on SQL Azure. I have the balls, but I need the software to show them.

“Cloud Ready Software” Track

This year there is no MVP track but that does not mean my former Partner Ready Software friends are sitting in the audience.

Cloud Ready Software is a commercial software development company which spun-off from PRS two years ago when Gary, Waldo and Vjeko wanted to commercialise on the relationship with Microsoft and they did an amazing job. I am impressed. They created a list of sessions and workshops together with Microsoft that are designed to get you inspired to move to the cloud and work with extensions and repeatable software.

If you have to make a list of sessions I would make absolutely sure to put a lot of their stuff on your list.

The team is expanded with Arend Jan Kauffmann and Steven Renders. Go guys!

Directions.png

“Don’t get confused between my personality & my attitude. My personality is who I am, my attitude depends on who you are.”

Posted in Conferences, Directions, Dynamics NAV | 2 Comments

Tip #56 | Fix Error : Sorting cannot be done based on the XX field(s)


Today I’ve spent some time in NAV2016 figuring out this error message:

Sorting

As you know in NAV2016 you can sort on each column even if there is no key and even if it’s a flowfield. So why am I getting this error?

In my case the Test field is a Flowfield of the type COUNT to another table. This should work fine, so why doesn’t it work here.

Reason is that the SQL Data Type is Integer instead of VarChar. A very old trick to make a SQL Database sort a Code field just like the Native database.

The SQL Data Type in the “Other” table does not match this SQL Type hence the sorting fails.

Since I could not find any info online on this message I thought it was worth sharng.

Sorting2

Posted in Dynamics NAV, Tips and Tricks | 2 Comments

Vote NOW for the NAVUG All-Stars Awards


Ok, let’s forget about Madeira, Extensions and NAV2017 for a blog and focus on what is really important.WP_20160816_0012

It’s time to vote who will win this years NAVUG All-Star award and what I love always about NAVUG is the transparency in which they work. You can follow this link and see who is nominated and vote yourself.

Together with Amanda Mayer and Kerry Rosvold I won the award last year not even knowing I was nominated.

Winning the award meant even more to me than my first MVP award 11 years ago. This award is from users and eventually writing software is about the user.

Join NAVUG

If you are not part of “us” already I urge you to do so. It does not matter if you are a partner or a user, everyone can join and share their enthusiasm about our product. Getting involved in NAVUG was one of the best things that happened to me in the last few years.

This picture clearly illustrates how cool it is to win the All-Star award! See you in Tampa!

NAVUG2

Posted in Conferences, Dynamics NAV, NAVUG | Leave a comment

Inside project “Madeira” | Why extensions will fail to upgrade too…


If there is one thing I learned from my previous blog post is that a catchy title works. Eventhough it’s early August I have had a lot of emails and comments on my last blog “Dynamics NAV is Dead! Long live Dynamics NAV!“.

Why? People seem to sometimes only read the title, or half the title. Someone sent me a message on LinkedIn asking what to do now that NAV is dead.

NAV is far from dead and what I wanted to “achieve” with my blog is to alert people that NAV is changing, like James Crowter is mentioning in his last blog. “The answer is extensions, now what’s the question”.

Microsoft seems to be thinking that Extensions are the golden bullet to all the challenges we have with NAV. This idea is wrong.

What are extensions again?

Extensions are a new technology based on two other relatively new ideas namely Delta files and Events. Delta files were introduced in NAV2013R2 (backported from NAV2015) and Events are introduced in NAV2016 inspired on Hooks.

The reasoning behind Extensions is ease of upgrade. For the last couple of years Microsoft has been hearing complaints from customers that upgrading NAV is hard and sometimes the ROI is negative.

Why is that? Because we have to move from classic to role trailored and forms have to be transformed to pages, reports to RDLC and all the users have to learn a new UI.

How is extensions going to make that easier? As if we are going to make this journey again? I hope not!

Examples

Let me give you four reasons why extensions are not going to make upgrade easier.

Scenario 1. – Changes to Document Approval

A user has requested a change to document approvals. Some fields were added to table 453 – Approval Code and they are shipped as an extension.

Microsoft releases NAV 2016 and the customer wants to upgrade. They expect an easy upgrade since they listened to the marketing story and had their partners ship the solution as an extension.

When they try to run the upgrade they get an error message “Table 453” no longer exist and the extension has to be refactored.

Scenario 2. – Workflow

A user is running NAV 2015 with Workflow as an add-on. Let’s asume that this is running as an extension using the new rules of prefixing. Now the customer wants to upgrade.

The upgrade runs fine because there are no conflicts because of the prefixing. Now the customer starts using NAV2016 but they find out NAV2016 has workflow out of the box. Now they have two workflow solutions.

Scenario 3. – Attributes

A user wants to upgrade from NAV2016 to NAV2017. Right now they have a solution that allows them to have item attributes and this is an extension.

In NAV 2017 we get them in standard NAV. I think you get where I want to go

Scenario 4. – New Client

This scenario is more science fiction than the first 3, but the main reason customers are complaining about upgrades is moving from classic to RTC. Let’s say we make that move again? Let’s asume Microsoft decides to discontinue RDLC and move to Word only. Just an example here, no announcement.

If I have extensions using RDLC they would no longer work on the new version.

So now what?

I don’t know. All I want to say is don’t drink to much of the marketing cool-aid. If we want to make upgrades easier all we need is Delta files and good education. We will always have conflicts. Who cares, as long as the conflict is easy to solve. This is why we have Hooks. We don’t need Events.

Extensions will work with Dynamics 365

The way Dynamics 365 is shipping will make extensions work. It’s a long story and worth another blog but the combination works. Problem is that Dynamics 365 is serving a different kind of customer. Not the type of customer with a request for bespoke software but a customer that wants an easy cloud solution that has some vertical specific capabilities.

Extensions are counter productive

When used instead of fobs for traditional NAV development Extensions are counter productive for three reasons

  1. They require longer upgrade time with each version because of the way they are engineered.
  2. Once deployed in a production database they cannot be changed. Each change require a data upgrade.
  3. They are not open code. The source code is protected which disables customers to move from one partner to another.

Extensions, Extensions, and more Extensions

One thing I noticed when looking at the NAVTechDays agenda is that there are two sessions about Office 365 and two sessions about Extensions. To me that looks a little overkill since NAVTechDays was always focussed also on traditional NAV and not so much influenced by the Microsoft marketing machine.

When asked Luc van Dyck replied the reasoning behind this was Microsoft and the fact that he was told that in the future, customisations should be shipped as Extensions.

Well, I sure hope this will not be the case.

 

Posted in Dynamics NAV | 7 Comments

Directions 2016 NAV Conferences


Totovic NAV Blog

In this moment, we have the final countdown until Dynamics NAV conference season will start. We have 47 days until the opening Directions NA and 64 days until the opening Directions EMEA this year.

Directions.png

This year Direction NA will be held the first, but Directions EMEA will be only 17 days later and I’m sure we have something new on both of them. Currently we have published agenda only for Directions NA, but I’m pretty sure that agendas will be similar, maybe with only small changes.

I love these conferences and I’m sure you will find a lot of reasons to attend on one of them, depending where you actually live. I think that the most important reasons will be launching of NAV 2017 and Project “Madeira” as well as Dynamics 365. You will find a lot of sessions about news in these new products. You will also learn more about…

View original post 174 more words

Posted in Dynamics NAV | Leave a comment

Dynamics NAV is Dead! Long live Dynamics NAV!


Directions USA published their agenda today and the agenda for NAVTechDays is getting more clear each week too.

What can we learn from these agenda’s? Its all about Extensions, Cloud and Dynamics 365 for Financials aka project “Madeira”.

Is that a bad thing? I guess you should make that call after attending these great events. Fact is that the world is changing and so is our product.

I’ve been debating Extensions at all of my classes with my attendees and the feedback is slightly different based on the audience weather it is a very vertical partner, a customer or a traditional NAV veteran.

Extensions will work in real life, but not with NAV. Extensions will work with Dynamics 365. Why? Because Dynamics 365 essentially is Navision Financials 1.1. Microsoft brought the functionality back to basic and partners can build their vertical IP in an extension. If they need Manufacturing, they need to build it themselves. If they need Service Management, they need to build it themselves. Microsoft is delivering an ERP core with a perfect financial system and a core inventory system.

So why can’t it work with NAV? Simply because NAV was always architected for being finished by partners using open source. Nothing in NAV really works good out of the box and that is by design and this is why NAV is so loved by the veterans and hated by new people.

Directions USA is highjacked by Dynamics 365. It’s no longer about NAV. Yes, Microsoft essentially ships Dynamics 365 as NAV 2017 because they happen to share the same codebase. That explains the title of this blog post. NAV lives because of this shared platform but Microsoft invests in it because of Dynamics 365, not because they believe in NAV. We simply don’t grow fast enough.

I’m not attending Directions, I’m visiting NAVUG summit instead. Call me a dinosaur but there is a huge installed base out there that still runs NAV with customizations. I’m not against the cloud but I see it as a replacement for buying servers and software licenses which I’ve always found a stupid side effect of my job. So essentially I love the cloud.

When I am at NAVUG summit I will also look at some AX7 sessions. I want to see if that can replace NAV if customers want something they can customise. Honestly I have no idea if that will work. I am just curious. Open minded I guess.

The next one or two years will be very deciding for the future of NAV. I guess a lot will depend on how Dynamics 365 is adopted and how many partners are willing to invest in moving their verticals to extensions.

I’ve helped a few partners analysing their current solutions and I have a positive feeling about Dynamics 365 but boy, will life be different.

Enjoy summer and don’t forget to register for Directions or NAVTechDays if you want to learn what I already know. I guess being an MVP has its advantages.

Cheers.

Oh, small ps. If you are at Directions USA, definately attend Erik Hougaards session about Functional Programming in NAV. I am with him for 100% and he has a really nice anti-pattern for AL that few of you will expect.

Posted in Conferences, Directions, Dynamics NAV, NAVTechDays, NAVUG | 14 Comments

The NEW Microsoft in Design Patterns


Hi everyone. It has been a while since I blogged and especially about patterns.

This is being written from Kastrup Airport Denmark and I just got back from Lyngby where I did a Master Class Summer School.

As always I had a lot of experienced people in the class and we ended up talking about legacy code and programming the “old” way and the “new” way.

Some programmers find it not so easy to see that our source code is improving. In this post I want to highlight some examples anyone can find in NAV2016 code that illustrates how Microsoft is moving forward and moving to more modern code in AL.

Natural Language Programming & Refactoring

I agree, it is not easy to find the places but Microsoft is moving into more readable code and doing refactoring.

About half a year ago I blogged about the refactoring Microsoft did in codeunit 80 and 90.

If you look at how they refactored you can clearly see that they are moving to more readable code, what I call “Natural Language Programming”.

MandatoryFields

 

Old Code

MandatoryFields2

Arguments Table

Another thing I blogged about last year is the introduction of the Arguments Table.

This is where Microsoft started to use a table as a class. The table has a function “Send”. Making this probably as close as we can get to OOP in AL.

ArgumentsEmail

Auto Increment

The Auto Increment property is a great way to solve performance issues caused by Transaction Isolation.

Microsoft changed the Reservation Entry table to be Auto Increment, instead of LOCKTABLE, FINDLAST, +1

Encapsulation

This was implemented in NAV long time ago in codeunit 99000854 Inventory Profile Offsetting

Encapsulation

So, you can see AL is a modern programming language that allow you to write decent code and Microsoft is taking the lead!

Enjoy summer

Posted in Design Patterns, Dynamics NAV | 1 Comment

Project Madeira will be Dynamics 365 – Business Edition


Big news from WPC today. Paul White presented the future for the Dynamics SMB space. Project Madeira will be launched this fall as Dynamics 365 – Business Edition, divided into Financials and Sales & Marketing

The launch will be US and Canada first and in 2017 four (4) European countries.

MicrosoftDynamics365BusinessEdition

Integration is key for Microsoft Dynamics 365. Integration with PowerApps and Flow. PowerBI and Office 365.

MicrosoftDynamics365BusinessEdition2Dynamics 365 Business Edition will be launched during NAVUG Summit in Tampa. See you there.

DCI-SUMMIT_NAVUG-LOGO

Posted in Dynamics NAV, Inside project "Madeira", Product News | 8 Comments

Conference Schedule 2016 | Starting with WPC


If you “Google” on “Dynamics NAV 2016 Events” you don’t get a list that includes Directions, NAVUG Summit and NAVTechDays. No, you get a list of functions from Codeunits to subscribe to. How nerdy can a product get.

NerdAlert.png

So, it is time to provide that list with some dates and locations.

WPC | Toronto Canada | July 10 – 14

Big one on my bucket list and I got so close this year to attending. Private stuff got in the way.

This year WPC (World Wide Partner Conference) is especially interesting since Microsoft will reveal more of its plans for project “Madeira” which will guide most of where they want to go with the SMB market.

WPC

Directions USA | Chandler AZ | Sept 25 – 28

Mandatory event for NAV partners in this region to get ready for Dynamics NAV vNext. The agenda is not yet presented but I expect a lot of information about how to move to the cloud and be more repeatable with NAV.

NAVUG Summit | Tampa FL | Oct 9 – 14

My favorite (sorry Luc). This end user event is a must for companies who work with NAV and want to get most out of their investment. With pre-conference training, Microsoft day-one and three days of in depth sessions this event is second to nothing.

DCI-SUMMIT_NAVUG-LOGO

Directions EMEA | Prague | Oct 12 – 14

On the same dates as NAVUG Summit!!! Can you believe that??emea_logo_lrg_white

This “second” Directions event is bigger than the US orriginal and I expect them to have over 1.500 Dynamics NAV proffessionals this year. Just like the US version attending is a must if you want to prepare yourself for being repeatable in the cloud.

 

NAVTechDays | Antwerp | Nov 17 – 18

This event feels like a highschool reunion with friends. It is at a location you know very well if you’ve attended all of the events.

Here you get the in-depth knowledge you need to work with the next version of NAV. Also very much cloud focussed with Office 365, PowerBI and Paas.

NAV Skills is a bronze sponsor so visit us at our booth and register for one of our pre-conference classes.

NAVTechDaysSponsor

Which ones did you pick Mark?

Just like Per Mogensen I tried to attend all NAV events, including APAC. This is no longer possible with all the Master Classes I teach and the increasing number of NAVUG events in Europe and US. Therefor I’ve decided to follow my heart and attend NAVUG Summit & NAVTechDays.

Personally I think this is a perfect combination. NAVUG will provide me with the functional information and NAVTechDays will give me what I need as a developer.

I don’t need the marketing and sales stuff from Directions although I will feel really bad especially on the days when all of my friends are in Arizona.

My agenda for September is packed with UK, Iceland, Spain and Toronto. After event season I am working on scheduling Australia and New Zealand.

See you, somewhere…

Agenda September

 

 

 

 

 

Posted in Conferences, Directions, Dynamics NAV, NAVTechDays, NAVUG, Product News | Leave a comment

Directions USA 2016 | Why you should attend…continued


By Mark Brummel – Founder of NAV Skills Masterclasses & Microsoft MVP since 2006
There is so much to blog about and so little time. Event season is sneaking up on us with WPC around the corner and two great NAVUG conferences just behind us.
Continue reading

Posted in Conferences, Directions, Dynamics NAV, Product News | 1 Comment