Tip #38 | SETSELECTIONFILTER to SETFILTER

This week I got a question from one of my book readers about how to convert a SETSELECTIONFILTER to a SETFILTER command.

This is something that is implemented in the standard product on a few list pages. The Customer List page (22) is one of them.

The code is handled in codeunit 46, SelectionFilterManagement

This is the code:

 RecRef.OPEN(TempRecRef.NUMBER);
 TempRecRefCount := TempRecRef.COUNT;
 IF TempRecRefCount > 0 THEN BEGIN
   TempRecRef.FIND('-');
   WHILE TempRecRefCount > 0 DO BEGIN
     TempRecRefCount := TempRecRefCount - 1;
     RecRef.SETPOSITION(TempRecRef.GETPOSITION);
     RecRef.FIND;
     FieldRef := RecRef.FIELD(SelectionFieldID);
     FirstRecRef := FORMAT(FieldRef.VALUE);
     LastRecRef := FirstRecRef;
     More := TempRecRefCount > 0;
     WHILE More DO
       IF RecRef.NEXT = 0 THEN
         More := FALSE
       ELSE BEGIN
         SavePos := TempRecRef.GETPOSITION;
         TempRecRef.SETPOSITION(RecRef.GETPOSITION);
         IF NOT TempRecRef.FIND THEN BEGIN
           More := FALSE;
           TempRecRef.SETPOSITION(SavePos);
         END ELSE BEGIN
           FieldRef := RecRef.FIELD(SelectionFieldID);
           LastRecRef := FORMAT(FieldRef.VALUE);
           TempRecRefCount := TempRecRefCount - 1;
           IF TempRecRefCount = 0 THEN
             More := FALSE;
         END;
       END;
       IF SelectionFilter <> '' THEN
         SelectionFilter := SelectionFilter + '|';
       IF FirstRecRef = LastRecRef THEN
         SelectionFilter := SelectionFilter + AddQuotes(FirstRecRef)
       ELSE
         SelectionFilter := SelectionFilter + AddQuotes(FirstRecRef) + '..' + AddQuotes(LastRecRef);
       IF TempRecRefCount > 0 THEN
         TempRecRef.NEXT;
     END;
   EXIT(SelectionFilter);
 END;

In older versions than 2013, this code is on the page/form object.

Enjoy!

My first NAVUG Summit, and it was awesome…

I’ve been attending and speaking at all major events for Microsoft Dynamics NAV, Directions, TechEd, Techdays, Convergence, NAVTechDays and this year I’ll even fly to Bali for the Asian Partner Conference.

But…

I had never been to NAVUG Summit, even though the event has been there for quite a while.

This year I got two invitations. One as associate for Liberty Grove Software, and because of that, Mark Rhodes thought I might as well contribute as a speaker and panelist.

On top of that, he offered to help me promote my new book. And oh boy, did he keep his promise.

This is what I found at the I love NAV booth…

WP_20141016_003

My own sign! How amazing is that!

NAVUG Summit

The summit is an event by users for users. As an MVP, what you can do at the summit is share. What we love. There are 500 end users absorbing every piece of knowledge they can get out of you. They are using versions anywhere between 5.0 and 2013R2. There is also a lot of functional content. Much more than any other event I’ve ever attended. This would also be something where I could learn from them.

The atmosphere

What I loved most is that everyone is very enthusiastic about Dynamics NAV, or Navision. Everyone is enthusiastic about the product. The event makes you happy.

My Sessions

I did a lot of talking. In total I did 6 sessions which is more than planned. For Liberty Grove Software and Data Masons I did a 5-10 minutes presentation about Design Patterns and Upgradability. This is a very current subject in the perspective of Microsoft shipping software each year and roll up updates each month. Together with Microsoft and Partner Ready Software we have developed a methodology to make upgrades easier.

My “real” session was Introduction of Design Patterns and Upgradable Code. In this session I looked at design patterns from an end users/customers perspective reducing the TCO of Dynamics NAV and making upgrades easier.

B0J6z65CEAE3P1p

Then I was a panelist at Developing Best practices and Performance Tuning. This was really cool and just Q&A between the audience and the panelists. I apologise if I talked to much.

Webcast

My session will be repeated as a webcast on November 25th at 3.00 pm EST.

The Book

Ok, ok, I’m not going to lie about it. This was cool. During the event I must have signed 15 books. I had 4 with me to sell, Data Masons had 6 to give away and during the keynotes, NAVUG gave away 2 more. Here are some pictures of book winners or people who had the book signed.

2014-10-14 19.12.35WP_20141016_005WP_20141015_0012014-10-27_19-35-47

Microsoft Round Table

There was a Microsoft roundtable for Q&A with the Program Managers. The max. seat count was 12. I decided to hop in just to see what was discussed hoping they would not count me as a head.

What surprised me was that only half a dozen people were there. This was the opportunity to give feedback to Microsoft and people just don’t show up. They must be very happy with NAV.

WP_20141016_006

The Venue

Although the venue was old, it was spacious, clean, people were friendly and the rooms were easy to get to. The weather was nice, and we got a chance to go to the best steakhouse in St. Louis. That was good! 20oz rib eye with 12yr old Magellan. If you ever want to bribe me.

WP_20141016_011

The Surprise

I met a lot of new people, and made new friends. One new friend was very happy with the link to her awesome blog in my book. Kerry Rosvold.

2014-10-19_10-05-32

The Preparation

Guinea pigs for my session were Dave and Karen Studebaker. I spent the weekend with them before the event and they gave valuable input. Wisconsin is just amazing this time of year.

IMG_8416IMG_8420

IMG_8422

I gave away three copies of Dave’s programming NAV book during my sessions.

The end? Or to be continued…

A lot of pictures in this post… but some say more than 1000 words…

WP_20141017_001

Small Changes that make a big Difference | #2

To continue the list of small requests, I would like to ask a one time feature. I know this will lead to a problem, but I think we can solve that.

A lot of pages we have today in the application were once forms. And a lot of them are still called …subform.

2014-10-23_12-55-32

Now I am aware of the fact that if we rename them to Subpage, classic merge tools will go bananas and see it as a difference.

Rapid Start Upgrade-Code

What if the new Powershell commandlets for Dynamics NAV would be aware of this change? Or even update the terminology in the partners solutions while upgrading. I think it should work, and we have to make the change, or have subforms for the next 25 years that are actually subpages.

Small Changes that make a big Difference | #1

I know that this time of the year, Microsoft is making the list of features in the next version, or are in the approval process of that list.

Every now and then, I come accross small anoying things that are unfinished in the product that would make a difference if they are solved. Sometimes in the user experience, sometimes in the development tools.

The first one I’m blogging about is promoting actions from the departments to your role center. This turns into an ugly grey ball icon that you cannot change.

Microsoft is really into personalising the Role center, but really, do we want the Role Center to be populated with grey ball images?

2014-10-23_12-51-33

Tip #37 | Tracking Shipments from Dynamics NAV [Edited]

NOTE: This blog entry was edited after a comment from one of my readers.

Last week during one of my sessions for the NAVUG Summit one of the attendees asked a question about best practices to track shipments from NAV. The scenario is that you ship via UPS or Fedex and want to see the status. Answering the question, I obviously overdesigned the solution thinking about a factbox with a webservice calling out and displaying the status in the factbox.

Keith Owen came up with a much simpler solution that he already implemented and was willing to share. After publishing the first version of this post I edited it, since I was not aware that this was even a standard feature of NAV.

Hyperlink

Instead of showing the actual status in Dynamics NAV, you run a hyperlink against a predefined URL.

This URL can be stored in the shipping agent table, and from the Sales Shipment you can call the Track Package action.

2014-10-23_11-29-25

Thanks Keith! NAVUG

How Do I : Log into the Tablet client

Since the Tablet client was released by Microsoft as part of NAV 2015 a few weeks ago I got asked quite frequently how to login using a real tablet.

If you don’t have your own server setup with security certificates, you’re toast since Microsoft has not created any demo environments.

Fortunately Per Mogensen, MVP, friend, owner of Mergetool and creator of the easy security product (how many titles can one guy have), launced a demo portal.

Here are the details:

Mergetool.com have created a demo setup for NAV 2015 including ability to run the new Tablet Client. The Tablet Client can be downloaded from the Windows Store, Apple iTunes and Google Play by searching for “Dynamics NAV”. By using the information below is it possible to connect and test the client. The connection is shared for all users and we expect to restore the database during the day. This is only intended to allow testing the look and usability of the application on the tablet.

English (User: DEMO, Password: Pass@word1)

https://demo.mergetool.com:4102/DEMO

Danish (User: DEMO-DAN, Password: Pass@word1)

https://demo.mergetool.com:4102/DEMO-DAN

German (User: DEMO-DEU, Password: Pass@word1)

https://demo.mergetool.com:4102/DEMO-DEU

Dutch (User: DEMO-NLD, Password: Pass@word1)

https://demo.mergetool.com:4102/DEMO-NLD

From Internet Browser can the Web-Client also be used by adding “/WebClient/default.aspx” after the link above. For the English version like below

https://demo.mergetool.com:4102/DEMO/WebClient/default.aspx

The Tablet Client can be used from the internet browser by adding “WebClient/Tablet.aspx” after the link above. For the English version like below.

https://demo.mergetool.com:4102/DEMO/WebClient/tablet.aspx

The demo runs on his environment and is limmited to 20 concurrent sessions. If we run out of sessions, ping me and we will find a way to make it work.

The database is rolled back each night. You will be working in a multi user environment, be careful what you put in the database, watch your language. 😉

Mergetool_logo_horizontal_coloured-391x90 NAV_Esy_Security_logo_slogan-Cropped-400x148

Recap | Directions EMEA 2014

Normally I write this right after getting home, but boy have these last two weeks been busy. I only spent 14 hours home between Directions EMEA and NAVUG Summit.

So this one is about Directions EMEA. Poznan Poland this time. 1099 people attending, let’s round that up to 1100.

And honestly I must say that this was the best EMEA directions ever. Until this one, I always prefered the “orriginal” US version, but this one was GOOD!

It was the general atmosphere that made the difference, and the spacious venue. I have not met anyone that was not entousiastic about the 2015 version of NAV. We have the right product for the right market.

Splash

We started off by driving from The Netherlands to Poland in the Dutch MVP mobile with Arend Jan Kauffmann and Luc van Vugt. (And Wim, but he is no MVP, sorry Wim).

After this fun we met in the Hotel conference area where we had a beer, or two, or more, to catch up on information.

Waldo’s moment

Next day kicked of with a “Waldo” moment. I tell you, every year this guy thinks of something, if he does not loose his passport, he looses his wallet. Panic mode for a few hours, but he got it back.

MVP Track

As in San Diego we had the MVP track. My session about Mini App Design Patterns had a full room, people standing in the back. Always good for motivation.

I also had a chance to attend my partners in crimes’ sesions, PRS members Gary, Waldo and Vjeko. I am very proud to be working with these smart people.

WP_20141010_002

NAV vs. AX

During our Mythbusters session one of the myths was about AX vs. NAV, stating that AX got more marketing attention. Here I liked the oppinion that marketing people have to spend more time on a product that cannot sell by itsself.

10711032_799672790096827_7830577115455428014_n

Personally I am proud that Microsoft has a product that is sold to companies like Delta Airlines, Nissan and Dell computers and competes with SAP. Hopefully this will also mean that NAV can grow a little towards what AX now is starting to consider too small.

NAVGate

Between some of the sessions I had a demo of NAVGate, the new C/AL code editor by IDyn. This is something that can really turn into a nice product. I had the demo together with Micheal Nielsen and Thomas Hejlsberg making me the junior of the audience. The latter was noticable since I managed to crash the demo with a single mouse click. <<oops>>

Anyway, the folks promissed me a demo environment and I promissed them to check it out and I will.

As Thomas stated: “It solves a need in the channel that Microsoft, at the moment, cannot deliver, which is great!”.

Catering

The catering was quite a challenge in Poznan. Lunch was served in ques of 500 folks per table and the beer tap only produced one beer every 30 seconds. Maybe something to learn from NAVTechDays here, as with the beamers, that shined into the presenters eyes. Very usefull.

Closing

We closed the event with having all MVP’s with the board on stage. Look at my strategic position over here.

10710666_799675703429869_8539324768111461307_n

 

 

 

Book Code Samples | Microsoft Dynamics NAV 2013 Application Design

From both my blog and NAVUG members the question has reached me where the code samples for my book can be aquired.

UPDATE: The code samples moved to GitHub!

https://github.com/markbrummel/DynamicsNAV2013ApplicationDesign

They can be downloaded from my OneDrive.

I will contact the publisher why they are not on the FTP.

The objects were used to create the examples in my book and are upgraded from 2009. However if you find any issues or have any questions, ask them here or send me a quick email.

I’ll be at the I Love NAV booth or at the Liberty Grove Software booth at NAVUG to answer questions or sign your copy of my book.

MicrosoftDynamicsNAV2013ApplicationDesign.jpg