Friday, July 20, 2012

Redirecting to NEW blog.

Dear readers, since the start of my blogging idea which was mainly focused on Microsoft Dynamics, whole project evolved and widened initial focus from one ERP to many business systems, business process management and project management. For this new idea and new focus original blog (meaning google blog) has become unsuitable and I needed new platform that would be suitable for new blogging path.

I have chosen new blog to which I will transfer all posts from this one and only for a short time period I'm going to post in parallel (on both blogs) before shutting down this blog for good..

And ofcourse, new blog adress is: Business Systems Insight.


Tuesday, July 17, 2012

RTC Client Random Crash - SOLVED!

In my last post RTC - Random Crash I talked about Role Tailored Client random crash on whole system, which could not be explained with any, lets just say, logical explanation. It crashed on all network stations except on Server and with SUPER user.

After cooperation with Microsoft and other consultants, we still didn't find root cause of this problem. Even after applying all newest hotfixes and installing latest build of NAV 2009 everything still crashed.

After a while, whole network crashed. We managed to trace root problem and it led to blade server UTP port. Problem was with UTP cabel which, somehow, got unplugged from port and disrupted ERP data flow. After checking cables and plugging in the cable, as it should have been plugged in, RTC stopped crashing and users were able to work properly.

There is one immediate question: Did classic client work all this time? Answer is: Yes.
As NAV 2009 RTC client requires more bandwidth than classic client, users managed to continue their everday work in classic client.

This goes to show that it isn't always problem with software.

Tuesday, May 15, 2012

Dynamics NAV 2013 Beta Available!!

Beta version of the new Microsoft Dynamics NAV release is ready for download from Partner source.

There are few localized versions available and the W1. For some time now, teams are working on localizations for other countries, but for test purposes and sneak preview W1 will be just enough. As Vjeko announced on his blog, there are lots and lots of great new features in the new 2013 release! There is a lot to look out for!

Here is one screenshot from new NAV 2013, and even from this picture you can see that new NAV 2013 is something else!

 Also all of you want to get more acquainted with new NAV 2013, there are lots of documentations, system requirements, upgrade guides, what's new,.. available for download from Partner source web site.

Thursday, May 3, 2012

RTC Client Random Crash #1

There is something strange going on with new R2 RTC client.

For no reason what so ever, client started crashing on all end-user workstations. What happend? Is it firewall? Is it anti-virus? Is it trojan? We still don't know. Windows event viewer returned values through it's log which we can't interpret as much as we would like to. Can you maybe make something of this:

And is immediately followed by this error:

Possible Workaround , but still…

This error appears on every workstation except super user , and on server. We already tried to set permissions on file system, tried to redefine user roles, but no success. While searching Internet I found that other partners also had this issue. Some workaround can be achieved through compiling User Personalization table. That's right, compiling system table right on the users production server. After compiling this table you will (most likely or 100%) crush Microsoft.Dynamics.Nav.Server.exe. After that you just need to start Dynamics NAV Service and users wil be able to start their RTC clienst.
We are currently in close cooperation with Microsoft trying to resolve this issue with RTC client.
I honestly hope that my next post will be with topic like „SOLVED!“

Monday, April 23, 2012

DynamicsWorld Post

Another article from my blog has been published on Dynamics NAV article. Many thanks to Jason, for contributing in it's publishing.

Thursday, April 19, 2012

Calling Classic Reports From RTC

Starting classic reports from the Microsoft Dynamics NAV role-tailored client (RTC) is a common end-user request. But the design of the RTC client itself didn't provide an easy way of calling these reports via GUI integration with specific business processes of end user. So to deliver on this customer request you have to do a little customization to expose these reports. In this article I'll show two little tricks of how to call classic reports without need of further thinking what data you're actually trying to show.

Dummy Game

The idea behind the "Dummy Game" is a simple trick of setting one dummy data set in as the first record set of a report. Basically this dummy data set will act as the data provider bookmark from the RTC client – or it will copy data from an RTC client row into report field as parameter.
In my example I'll use my custom report "Vendor balance“which will be called directly from the Vendor Card Page. It is basically a report we made for NAV classic reports and put it on the vendor card. The problem with this report was that it was still behaving like a classic NAV report despite advanced functionality of calling it directly from a vendor record. And the user needed to enter vendor data from vendor card from where it was called – a double job. So here's the dummy secret.
In first data set of the report we've placed the Dummy Data item.

The role of this dummy filter was to filter data of page that it was called from and set the filter for the report Record Set data. All of C/AL code is inserted into OnPreReport() trigger.

And that did the trick.
But while using this Dummy Game trick we noticed one additional misleading error which could be misleading for end user directing them to enter data into report request form even though it is not needed . All data transferred from RTC on to the classic report with this Dummy Game is not shown in report fields. In this example we transferred Vendor VAT No. And it was not shown on the request form of the report, but it was there because when we you start the report it really shows the record set of the bookmarked vendor. So the best approach is to remove this field from the request form.

Also there is another catch to this. Classic reports are meant (in true Dynamics NAV spirit) for users to enter as many as parameters or values in the request form fields as possible. In this case, when using the Dummy Game, you can call reports for only one record, or better said for the bookmarked record. So my recommendation is to really think if you want to use the Dummy Game or not. In the end it depends on the client's business processes and business requirements.

Page Record Filtering - Bookmarking

Another way of calling reports from RTC is with record filtering, or setting bookmark on the page itself. Unlike the Dummy Game where all the "trick" code is customized on report itself, here we are setting filters directly on the page. The trick in this classic report call is to set a filter on an action, which is calling the report. But no report customization is needed. A specific action is used for calling the report C/AL code that has been inserted into the OnAction() trigger.

This code runs through all of the records visible on the page and remembers the one that you've bookmarked. This trick is may be better than the Dummy Game approach in the sense that it cannot mislead end users and it shows all bookmark data in request form fields. The only drawback of this method is that the user can see how RTC is running code on page and highlighting every row as it passes through. In this method the user can also edit values in request forms and insert values as he pleases.

And in conclusion, before using any of these methods, it is best to consider all pros and cons of using filtering. I share these methods based on my perspective of upgrading classic NAV to RTC - when the user already has the experience, knowledge and routine of using classic report. And when implementing classic reports for a new NAV RTC user I would always go for one of these methods, depending on nature of report (as opposed to upgrading the report to RTC?).

Tuesday, March 27, 2012

NAV 2009 RTC Client Randomly Failed to Connect

This morning I had one strange issue while trying to connect my RTC client to data base.
Immediately after starting RTC client I got this error:

Type: System.AccessViolationException

After trying to give access rights to Microsoft.Dynamics.Nav.Client.exe, and giving extra admin rights to current user nothing did the trick. Then I started thinking that maybe there is problem on Service tier. Now it was time to change setup of services. I noticed that some of services are running under "Local Account", and some under "Network account". This was obligatory because I have more than one NAV Services. Since "Network account" gives so much trouble and is really delicate to maintain i decided to change every one service to run under local administrator account. After I changed this setting and restarted services everything went through.

Monday, March 26, 2012

Wednesday, March 7, 2012

Dynamics World Support

I'm proud to say that portal Dynamics World has published my article about Dynamics NAV.

You can read blog directly on MSDynamicsWorld site.

Monday, March 5, 2012

SQL Server Configuration Recommendations

There is very interesting Blog post on Microsoft Dynamics NAV Team Blog about recommendations for SQL Server Setup.

Michael De Voe has written one document which consists of pointers for setting up SQL 2005 or SQL 2008 for Dynamics NAV.

Here's short list of recomendations:

  • Max Server Memory,
  • Auto-Create Statistics,
  • Auto-Update Statistics,
  • Auto-Grow,
  • Database Compatibility Level,
  • Trace Flag 4136,
  • Trace Flag 4119,
  • Data files for TempDB,
  • Disk Alignment,
  • Read Committed Snapshot Isolation (RCSI),
  • Max Degree of Parallelism,
  • Dynamics NAV Default Isolation Level,
  • Dynamics NAV "Lock Timeout",
  • Dynamics NAV "Always Rowlock",
  • Maintenance Jobs,
  • Instant File Initialization,
  • Optimize for Ad Hoc Workloads,
  • Page Verify,
  • Lock Pages in Memory.
Here are links to:
Dynamics NAV Team Blog
Michael's SQL recomendations