Nov 15

Last week Got C/AL? got syndicated on the Microsoft Dynamics Community site, under the NAV section. You can find the site here: https://community.dynamics.com/product/nav/default.aspx.

For the new readers i will give you a quick introduction to the site here, in addition to what you already can find on the site. The site was originally founded back in March of 2008, but did not really stretch it legs until May 2010 where i finally gave into the WordPress platform.

The site focuses on Dynamics NAV development. Currently its main content is for the Classic client environment, but here with the upcoming release of Dynamics NAV 2009 the RTC environment should start getting more and more exposure. You will see tricks and solutions to both simple and complex business problems. Some posts are basically sticky notes for my own reference, and hopefully also yours.

Some of the previous posts has been:

Continue reading »

Tagged with:
Oct 27

Since the days of Visual Basic 6, where we were creating OCX (Custom Controls) for Navision, and up till now with COM Interop with .NET programming language, the .NET platform has become a great development platform. But because of the limitations of interoperability in NAV we haven’t been able to use true .NET assemblies directly within NAV.

Until now! R2 as you know has announced its arrival in next month (hopefully), and with it the introduction of .NET interop.

The Microsoft Dynamics NAV Team Blog has a great post on this subject, as well as real examples of how to use it. Check it out, this will rock your world!

Continue reading »

Tagged with:
Oct 26

One of the most difficult errors in NAV to troubleshoot is: “The transaction cannot be completed because it will cause inconsistencies in the G/L Entry table”. In a standard, unmodified database it is usually related to tax/rounding issues. And in customized databases, it can be all sorts of issues.

I have seen all kinds of workarounds for figuring out the data/transaction that causes the inconsistency. Most of them have been way to complicated, doing all kinds of modifications to the posting codeunit, or looking up uncommitted records through sophisticated SQL queries. Until the post by Rashed Amini back in 2007 (can be found here on MIBUSO), there was no real good solution to it.

Unfortunately there is still a lot of developers that are not aware of this priceless trick, so let’s look into how he solved the issue of looking at the transactions that caused the inconsistency.

Continue reading »

Oct 25

Last week while being onsite at a customers site, we suddenly needed the ability to compare 2 records to see if any changes were done to the data. We were using the Archive functionality for Purchase Headers, and due to some needed modifications (in the release function) we ended up storing a lot of versions of the same Purchase Header, even though no changes were actually made. With hundreds of Purchase lines and thousands of document dimensions, the Purchase Header/Line/Dimension Archive tables were suddenly almost 50% of the total database size!

So we needed to compare 2 records during runtime, to see if they are identical before actually doing the archiving. This brings us to the subject of this post, were i will go into the details of how we did this in Dynamics NAV.

Continue reading »

Tagged with:
Oct 21

Using the built-in string functions in Dynamics NAV usually gives you all the string manipulation options you need. But a common request is replacing a special char with a new string value. This example came from the previous post on SMTP Mail functionality in Pre Dynamics NAV 5 versions. Mads from Denmark, ran into an issue with HTML encoding when using national chars like: æøåÆØÅ. For some reason the HTML emails worked fine at my local computer, here with US locale settings, but changing the values to their HTML encoded equivalent might be a good idea to get better compatability.

Below you will find the simple function for doing this.

Continue reading »

Tagged with:
Oct 12

Today i learned that one of the requirements for having the small Phone icon (TAPI Integration) next to y0ur Phone No’s in RTC, is depending on Microsoft Office Communicator to be installed. But my customer needed the TAPI integration, but doesn’t use Office Communicator, instead they use a combination of Asterisk and ActivaTSP.

First task was looking at the Page, to find out how the Phone Icon got displayed. On the Fields in a Page there is a property called ExtendedDatatype, it can have these values: None, Phone No., URL, E-Mail, Ratio, Masked – and it impacts the layout and behaviour of the control in a Page. Well, installing Office Communicator is not an option, so as the developer you have to come up with a possible solution/workaround. And it was actually pretty easy…

Continue reading »

Tagged with:
Oct 11

Restoring SQL backups from customers is a easy process in SQL Server. But in order to standardize your logins for the databases, it is easier if all databases have the same database login.

So after restoring your SQL backup, this little script inserts a SA user in the User table, and assigns SUPER permissions to it. No black magic to it, just two simple SQL insert statements.

Continue reading »

Tagged with:
Oct 07

Cronus was known as the leader and the youngest of the first generation of Titans to most people, but in the Dynamics NAV community it is known as the the demonstration company name for Dynamics NAV. It comes with its own CRONUS license, that allows you to testdrive the system. Most people think it only allows you to use it to evaluate the application features in Dynamics NAV, but it actually also allows you to test parts of the development environment.

Not a lot, but it gives you access to inserting fields on an existing table, adding them to a existing form. As well as creating new forms and reports. What objects does it give access to?

Continue reading »

Tagged with:
Oct 06

Yesterdays post on assigning MenuSuite Menu’s programatically got a lot of hits, and i have been getting a couple of emails about how to create the data for the blob field. In this post I will show how to build the BLOB generator i Dynamics NAV.

The BLOB content is reverse engineered on Mayank’s Extreme Engineering blog.

Continue reading »

Tagged with:
Oct 05

The other day i was reading Mayank’s new blog Extreme Engineering Network. Especially his post about assigning menu suites automatically was pretty neat. Well it could be, as it basically just gave you the information on _how_ you could do it. Looking at a lot of hex-editor information, i decided to give it a spin!

Assigning Menu Suites to users is a painful job for any adminstrator, as you have to go into design of the menu suite, and then for each Menu you have to uncheck the box for users that should not have access. And setting up a new user, gives access to everything by default, so you have to go into each menu to unassign – lots of work!

Continue reading »

Tagged with:
Oct 02

After switching blogging software, due to a server crash i never really got the old posts reposted from the original blog. I have had a lot of requests for one particular post: Dynamics NAV and the ROT table. I started finding the old backup of the database, to restore the post and realized it is almost 3 years old. Cant believe how fast times goes by. But after reading the very interesting post from Waldo about their new tool ReVision i came to think of this old post. (unfortunately i will not be at Directions in San Diego myself, even though i just live a couple of hours from there! But i hope to get some updates from people seeing the tool demonstrated!).

Basically what the post was about was the features of Rolling Object Table, a feature that allows Windows programs to publish “interfaces” to some of it internal features – i dont know it this is the correct description of it though :). Dynamics NAV is exposing some methods to read/write objects through the client, as well as querying forms and getting other data from the client. Since my original post, there has been quite a few additional blogs featuring the technology. We (see kudos section at the bottom) were playing around with the .NET Reflector tool, and used it on one of Celenia Version Controls dll’s. I had the same features as used in the Developers Toolkit for importing/exporting objects from the running client.

Continue reading »

Tagged with:
Sep 28

Here is another useful tool made by Rashed Amini aka. ara3n, i often use, when i have to “retrofit” objects from a newer version of NAV into an older version. Im sure you have tried this plenty of times, importing a 2009 object into a version 5 database – causing a crashed client. This is due to some of the new properties/triggers in the 2009 client that did not exist in previous version. Luckily the FOB files are backwards compatible, but for the tables, xmlports and reports it causes problems. Forms, Dataports and Codeunits works just fine.

Continue reading »

Tagged with:
Sep 22

Yet another…! As a regular Dynamics NAV blog reader i am sure you have seen this before, in various flavors, but here is a simple yet powerful splash screen. The main purpose of this splash screen, has been to easily identify development, test and live database configurations, and also show information about the current object version in the database.

Download the object from the download section, and see this quick tutorial on how to check for various parameters used in the splash screen, such as:

  • Compare current database name with live database name, to identify live database
  • Show custom version tag
  • Show warning for modified objects

Continue reading »

Tagged with:
Sep 16

Since Dynamics NAV version 5, when RIM was introduced there has been the functionality for Data Migration and Master Data Templates. I have never really used the Migration tool, as it just seemed to be too limited, compared to what you can accomplish with standard dataports. During my last go-live the customer was using the Master Data Templates, which is a nice little tool – still with a lot of limitations.

The usages I have seen of the tool has primarily been around the common master data tables, such as Customer, Vendor and Items. Often there are some confusion around templates used for Customers, as there are “Data Templates” (generic templates) and “Customer Templates” (customer specific templates used from Contacts / Relationship Management).

Lets get into some details, (in the classic client): Continue reading »

Tagged with:
preload preload preload
pornpants.com pornofri.com kilporn.com