AL and SOAP

This sample is based on a page extension for page 8 (Currencies) where an action for downloading exchange rates from the Swedish State Bank has been added. The logic itself isn’t super advanced and it requires SEK as local currency. The focus here is to show how to: Create SOAP request XML Do an HTTP […]

Unix Datetime UTC

Here’s a little trick to generate a Unix Datetime in UTC. PROCEDURE DT2UnixDTUTC@81237(DtIn@81200 : DateTime) : BigInteger; VAR DtOffset@81203 : DotNet “‘mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089’.System.DateTimeOffset”; DtUtc@81206 : DateTime; Duration@81208 : Duration; TempDate@81209 : Date; TempTime@81210 : Time; BEGIN EVALUATE(TempDate, COPYSTR(FORMAT(DtIn, 0, 9), 1, 10)); EVALUATE(TempTime, COPYSTR(FORMAT(DtIn, 0, 9), 12, 8)); DtUtc := CREATEDATETIME(TempDate, TempTime); Duration […]

Json, REST and Zendesk

Many of us have been using XML and SOAP for a long time now. This time my task was to create tickets in Zendesk based on events in NAV. I soon discovered that Zendesk uses REST web services and that it talks Json…. 😯 I soon found Gunnar Gestssons blog post on “JSON meets NAV“. […]

TableType::ExternalSQL

One very cool feature in NAV2016 is the table type “ExternalSQL”. In older versions you had to use a view in SQL for each table and set the property LinkedObject. Now you don’t have to do that any more. Let’s take a look at it: Here you can see how you can use TableType, ExternalName […]

AltSearchField in NAV2016

The property AltSearchField is removed in NAV2016 but importing an object from NAV2015/2013 which had that property set will still keep the property value even though it’s not visible in the development environment. This might not be an issue until you try to rename the field that is set as AltSearchField. Then you’ll end up […]

Log your changes

From time to time we get into the situation where we need to run a batch report to update data in NAV. It’s always nice to log changes and there’s an easy way to do it by calling the standard Change Log functionality. This example blocks all Norwegian customers and writes the changes to the […]

Fixing the logo size

When you’re working with images in RDLC reports you often need to create images in a fixed size that matches the image box in you report definition. One of Clausl’s many great reporting blog posts is about a workaround to prevent unexpected lines on the image border. Clausl use the freeware Paint.NET which can be […]

Faster Vendor Invoice entry

My #1 tip for a faster Vendor Invoice entry is to use standard purchases codes and to add this code in table 38: Vendor Invoice No. – OnValidate() UpdateInwardHeader; //>>New code StdVendPurchCode.SETRANGE(“Vendor No.”, “Buy-from Vendor No.”); IF NOT StdVendPurchCode.ISEMPTY THEN StdVendPurchCode.InsertPurchLines(Rec); //

Speeding up Step 2 in NAV upgrades

When upgrading NAV time is often a critical factor. especially when the database is big, has many companies and users. Running the data conversion can take several hours or days and meanwhile the business stands still. One change in version 2013 from previous versions is that User ID includes the domain name. This means that […]

Changes in MPN ERP Competency Requirements

Microsoft has significantly changed the requirements for ERP Silver/Gold. “Effective August 15, 2014, Partners gaining their MPN ERP Competency through the sales of Dynamics GP, Dynamics NAV, Dynamics SL, Dynamics RMS, or Dynamics C5 no longer are required to pass certification exams. This includes pre-sales and sales assessments as well as implementation methodology and technical […]

Base64-encoded credentials

Sometimes when you are connecting to a web service you need to authenticate using Base64 encoded credentials. This has became a lot easier now that we can use .Net Here’s some sample code that connects to a web service with “username:password” but encoded as Base64. This code use a method to get a response which […]