Zetadocs for Nav 2016 published

hi all,

Zetadocs for NAV is a document management system (dms) for Dynamics NAV. Documents like Word, Excel, Powerpoint or pdf docs are saved onto an archive system. The archive can be a file share (network share) or Sharepoint. Delivered are a nav factbox to upload documents e.g. by drag and drop and a doc list control, which can be embedded in nav in sales and purchase documents (sales order, purchase order, …). but … Zetadocs does not support production orders! 😦

Zetadocs can automate and streamline business processes for processing and approving supplier invoices, emailing sales invoices and notifications, capturing proof of delivery, and managing travel and business expenses.

Zetadocs supports Nav 2009 – Nav 2015. And now … it also supports Nav 2016, Windows 10 and Office 2016.

Supported OS and Compatibility List
Zetadocs 7.1 Installation Guide

The Zetadocs suite of NAV business process add-ons for processing and approving supplier invoices, emailing sales invoices and notifications, capturing proof of delivery, and managing travel and business expenses.


if customizations are needed, zetadocs provides a sdk, for which you need a developer license.



Limitations of Demo & Msdn License

Following you find an often searched clarification about the demo/cronus license shipped with each nav setup and the msdn license shipped, if downloaded using msdn abo.

The Demo License
The demo license is automatically installed when you install the Demo Option. The demo license works with the CRONUS International Ltd. demonstration database, has serial number 000, and includes granule 540. The license allows access to the entire base application and limited access to the development system.

Properties of the Demo License
When the demo license is installed, you can:

  • Start up to two simultaneous client sessions on any platform.
  • Create up to two companies.
  • Support an unlimited number of web users.
  • Run in any supported language.
  • Use all application functionality, including add-on products, local extensions and customizations in current and previous versions. This means that you can run, but not modify, all object types within the range 1 to 99,999,999.
  • Run and modify table 18, pages 21 and 22, report 101, and XMLports 99,008,503 and 99,008,510.
  • Run, modify, and create fields 99,990 to 99,999, page 99,999, report 99,999, and MenuSuite 90.

Limitations of the Demo License
The demo license does not allow you to:

  • Import objects in text format, except for page and report ID 99,999.
  • Enter dates in months other than November, December, January, and February.
  • The demo license can only be used with demonstration companies such as CRONUS International Ltd..
    Country/Region Versions

When you run a country/region version of Microsoft Dynamics NAV, the license must correspond with the country/region version that you have installed, e.g. for german version the company is “CRONUS AG”.

The MSDN license
The MSDN license file gives access to Microsoft Dynamics NAV functionality, with the following restrictions:

  • You can only enter dates in November, December, January, and February.
  • The size of the database can be a maximum of 100MB.
  • You are only allowed to make 4000 write transactions in a database.

In addition, you can modify the following objects in the Object Designer:

  • Table 18 can be modified. Fields from 99,990 through 99,999 can be inserted.
  • Forms/Pages 21 and 22 can be modified. Forms/Pages 99,998 and 99,999 can be inserted.
  • Report 101 can be modified. Report 99,999 can be inserted.
  • MenuSuite 90 can be inserted.
  • XML Port 99,999 can be inserted.

With the MSDN license, you can create new objects (tables, forms/pages, reports, and so on) in the object range from 123,456,700 through 123,456,799. It is not possible to edit the standard Microsoft Dynamics NAV objects or the objects dedicated to customer solutions.

Nav 2016 Videos – Part 2


following a list of the next couple of tutorial videos. Have fun.

How Do I: Use the Posting Preview in Microsoft Dynamcis NAV 2016

How Do I: Work Natively with CRM in Microsoft Dynamics NAV 2016

How Do I: Use Positive Pay in Microsoft Dynamics NAV 2016

How Do I: Use Events in Microsoft Dynamics NAV 2016

How Do I: Use the Deferrals Functionality in Microsoft Dynamics NAV 2016

How Do I: Ensure Development operates with Functionality in Microsoft Dynamics NAV 2016

What is new in Microsoft NAV 2016- iPhone and Android app

Demo Dynamics NAV 2016

How Do I: Create an Invoice Using the Lexmark ICS for Microsoft Dynamics NAV 2016

How Do I: Subscribe to CAL database, Page and System Events in Microsoft Dynamics NAV 2016

Nav 2016 Video – Part 1

to be continued …


Dynamics NAV 2016 Tutorial Videos

Hello all,

i created a list of the very first tutorial and info videos about Dynamics NAV 2016. And here it goes … 😉

The roadmap for Nav 2016

How Do I: Set up the Currency Exchange Rate Update in Microsoft Dynamics NAV 2016

How Do I: Design pages for Use on all Devices in Microsoft Dynamics NAV 2016

How Do I: Get Started with the Universal App for Microsoft Dynamics NAV 2016

How Do I: Create an Extension Package in Microsoft Dynamics NAV 2016

How Do I: Deploy and Manage Extensions in Microsoft Dynamics NAV 2016

How Do I: Implement Deep Linking to Pages in Microsoft Dynamics NAV 2016

How Do I: Create and use Incoming Documents in Microsoft Dynamics NAV 2016

How Do I: Modify, Assign and Process Email for Word Forms in Microsoft Dynamics NAV 2016

What’s new in nav 2016 Power BI

How Do I: Configure and Access the PowerBI.com Content Package for Microsoft Dynamics NAV 2016

How Do I: Develop Using a Device Camera and Location in Microsoft Dynamics NAV 2016

What’s new in Nav 2016 Workflow

How Do I: Create and use Workflow in Microsoft Dynamics NAV 2016

How Do I: Automate Daily Test Execution in Microsoft Dynamics NAV 2016

Installing & using the Dynamics NAV 2016 Image Library

Microsoft Dynamics NAV 2015 and NAV 2016 on iPad

also follow featured videos on

Nav 2016 – Videos Part 2


run a job monthly

jobs can be run using job queues. in the job queue entry card you can set a codeunit or a report to run periodically. periods can: minutes to days. it is also possible to run a job once a week.

not possible: run a job monthly.

here are some solutions.

the simple solution:
goto page “job queue entry card” and set “no. of minutes between runs” to a value like 43200 (= 60 * 24 * 30). that is the minute value for an average month. the exact average value is 60 * 24 * 365,25 / 12 = 43830 min.


advanced solution:
edit cu 448 and change fct. CalcNextRunTimeForRecurringJob according to your special needs. There change the calc. formula for NewRunDateTime.


to run a job monthly set “No. of Minutes between Runs” to 0.
create new global var. Monthly: Boolean.

change fct. CalcRunTimeForRecurringJob:

NewRunDateTime := CREATEDATETIME(DT2DATE(StartingDateTime) + NoOfDays,NewRunTime);

LastOfMonth := CALCDATE (‘CM’, DT2DATE(StartingDateTime));
NewRunDateTime := CREATEDATETIME(LastOfMonth, NewRunTime);

new fct. RunMonthly(monthlyPar: Boolean)
Monthly := monthlyPar;

Export data to Excel using ODBC in NAV 2013/2015

In the Nav Forum community.dynamics.com one member asked for usage of ODBC in Nav 2013, because it was used in the older version 3.6 for exporting data to Excel. So i researched a little bit and wrote some test code. Here is the result.

Odbc can be used in Nav 2013 (or higher) with the according .net classes.
Following sample code inserts 2 text values into an excel sheet.

– preparation of excel file
create a new excel file, for that sample with format excel 97-2003 xls.
save it into folder c:\temp, call it book1.xls.
the first sheet must have the name ‘Sheet1’.
write FName into cell A1, LName into cell B1.
save the excel file, close excel.

the prepared excel sheet:

– variables: set property runonclient of dotnet variables to yes
OdbcConnection : DotNet : System.Data.Odbc.OdbcConnection.‘System.Data, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089’
Command : DotNet : System.Data.Odbc.OdbcCommand.‘System.Data, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089’
Query : Text
CmdResult : Integer

– the sample code:
OdbcConnection := OdbcConnection.OdbcConnection;
OdbcConnection.ConnectionString := ‘Driver={Microsoft Excel Driver (*.xls)};DBQ=c:\temp\book1.xls;ReadOnly=0’;

Query := ‘insert into [Sheet1$] (Fname,Lname) values (?,?)’;
Command := Command.OdbcCommand(Query, OdbcConnection);
Command.Parameters.AddWithValue(‘?’, ‘value 1’);
Command.Parameters.AddWithValue(‘?’, ‘value 2’);
CmdResult := Command.ExecuteNonQuery;
MESSAGE(‘Odbc Command Result: ‘ + FORMAT(CmdResult));



It seems that using Odbc is an interesting alternative to table Excel Buffer.


Call external web service using new CU 1290

With Nav 2015 there came some new objects. One of them is CU 1290 “Web Service Request Mgt.”.

Here is a short sample, how to use it:

the variables:
Url : Text
reqText : Text
WebServReqMgt : Codeunit : Web Service Request Mgt.
ReqBodyOutStream : OutStream
ReqBodyInStream : InStream
Username : Text
Password : Text
RespBodyInStream : InStream
ResponseXmlDoc : DotNet : System.Xml.XmlDocument.’System.Xml, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089′
TempBlob : Record : TempBlob

the code:
Url := 'http://www.w3schools.com/xml/tempconvert.asmx';
reqText := '' + '10' +

// save request text in instream
TempBlob.”Primary Key” := 1;

// run the WebServReqMgt functions to send the request

// get the response
ResponseXmlDoc := ResponseXmlDoc.XmlDocument;

As you can see Username and Password are empty. That’s ok, if you run the call within the same AD or like in most cases, the target web service needs no authentication.

Changes in CU 1290
Using Credentials
for the case, you want to use credentials, do the following:
add a new local variable
NetCredential : DotNet : System.Net.NetworkCredential.’System, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089′

in fct. BuildWebRequest replace
HttpWebRequest.UseDefaultCredentials := TRUE;
IF (GlobalUsername <> '') AND (GlobalPassword <> '') THEN BEGIN
NetCredential := NetCredential.NetworkCredential(GlobalUsername,GlobalPassword);
HttpWebRequest.Credentials := NetCredential;
HttpWebRequest.UseDefaultCredentials := TRUE;

in fct. BuildWebRequest replace
HttpWebRequest.ContentType := ContentTypeTxt;
HttpWebRequest.ContentType := 'text/xml;charset=utf-8';

ContentTypeTxt has value “multipart/form-data; charset=utf-8”. the web service call won’t work with that content type.