Tuesday, December 30, 2014

Conditional Page break in RTC Reports

In this post I will try to explain how to dynamically control the page break for a group or in other words how to create a conditional page break in the NAV 2013 RTC report.

For this post I will use the standard report 5057 (Salesperson – To-do’s), this report is already grouped by salesperson but now we will add the option to page break (New Page per Salesperson).

1. Open report 5057 in design mode and declare a new global variable NewPagePerSalesPerson (Boolean) which we will use in the request page

clip_image002

2. Now we will add the option in the request page of the report for the user to choose page break, for that choose View à Request Page and add the variable as show in the below fig.

clip_image004

3. Add the variable NewPagePerSalesPerson to the report dataset and name it as PageBreakPerSalesPerson.

clip_image006

4. Now open the report in layout mode by choosing View à Layout, notice the report already has a group which is grouped on Salesperson field

clip_image008

Currently this group is not enabled for page breaks, but if you enable page break it will use new page per salesperson every time you run the report but we want to control that based on the value in the options window.

clip_image010

5. To enable page break based on the value in the options windows of the report, add a new a outmost group for the current group by right clicking on the Table1_Group and Choose Add Group à Parent Group

clip_image012

In Group Window open the expression editor by clicking Fx and leave other properties to their defaults

clip_image014

Add the following expression

=IIF(Fields!PageBreakPerSalesPerson.Value,Fields!To_do__Salesperson_Code_.Value,Nothing)

clip_image016

Click OK.

6. A new column is added to the table select the column and delete the column, and from the confirmation dialog choose Delete Columns only.

clip_image018

clip_image020

7. From the newly added group, right click and select Group properties

clip_image022

In the Page Breaks, select Between each instance of a group.

clip_image024

Now if you run the report with option selected New Page Per Salesperson it will create a page break for every salesperson.

clip_image026

clip_image028

There are some other standard reports like 108 - Customer - Order Detail, which has similar options and logic but instead of using an expression for a group it uses a variable value.

Please leave your comments, feedback or any suggestions you have for me to improve me my blog and also if you have any questions, feel free to post .

Share:

Friday, December 20, 2013

Restore error while restoring company in the database: Navision

Restore error while restoring a company in the database

image



Make sure when you connect to the Navision the database name is same, i.e.  case sensitive.  In my case i have shortcut which was using DEV as database name but the actual database name was Dev. So i reconnected again using Dev and choose Tools –> Restore and this time it completed without an error.
Share:

Thursday, December 19, 2013

Restore failed Operating system returned the error 5 (Access denied)

I was trying to restore a database using SQL 2012 management studio but when I click ok after selecting file I was getting below error

clip_image002

Cause:

By default the database and log files are creating in MSSQL10_50.MSSQLServer folder.

image

Resolution:

Check the Relocation all files to folder  in the above fig. so that it will create files in MSSQL.11.NAVDEMO folder

Share:

Wednesday, December 18, 2013

Saturday, September 29, 2012

"The date is not valid" in Navision 2009 SP1 or R2

Today I got a request in which the client was getting "the date is not valid" error when they are trying to authorize credit card using Navision Webservice. They were using chargelogic add-on and exposed a codeunit in which it has functions to authorize credit card.


When I first saw that error my initial thought was it is something related to settings in customsettings. config file. So we changed "WebServicesDefaultTimeZone” setting to use "Server Time Zone". But unfortunately that did not fix the issue and we kept getting the same error. Then I used my debugging skills to find the part of code where the error was happening. Once I debugged it I found that they have some customizations to improve performance in which one of them was to use single instance codeunit to get data from setup tables. Instead of using normal statement table.GET statement they stored all these get statements in separate functions in a single instance codeunit and they called this codeunit whenever they wanted to use GET statement for setup tables.

Share:

Saturday, July 7, 2012

The Page contains a control add-in that is not permitted.

You may notice this error, when you develop a client add-in and add that to a page but forget to register the client add-in.



In Navision whenever you develop a client add-in you need to register that in Client Add-in” table (2000000069) with at least its name and the public key token of its signature. You can do this manually if you know the public key token and here is the msdn article to get the key for add-in.

Share:

Wednesday, July 4, 2012

An Error has occurred while logging on to the MAPI session - Navision


The other day i was helping a client to move their customizations from classic to Role Tailored Client. They had a custom email functionality which was working fine but when the function was executed in Role Tailored Client Navision 2009 R2 it did not open outlook client. When i debugged i found that error was happening at the below line of code which is in custom codeunit which was implemented by previous VAR.

IF (NOT OApplication.Logon(TRUE,'','',FALSE,FALSE)) THEN BEGIN
  OApplication.Logoff;
  EXIT
END;

 
Then i added Message Box to display OApplication.ErrorDescripton which showed the below error message.


I googled for this error but could not find much help, so i executed standard email function on customer communication and it was working. Then i compared custom function and the standard email function in codeunit 397 for new message. I found one difference, when an object is created using CREATE the custom email function was not using NewServer and OnClient parameter.

For example custom code has : CREATE(OApplication) which will work fine in classic, but to execute this on RTC we need to use NewServer and OnClient paramters.

So i have changed code from CREATE(OApplication) to CREATE(OApplication,TRUE,TRUE) and did this same for other objects. This resolved the issue.


Share:

Tuesday, June 12, 2012

Data migration error %1 is not a supported datatype


When you design a dataport and if you have used a field which is of flowfield type and when you try to import data using that dataport, you will be see the below error message.

"%1 is not a supported datatype"

To reslove this error please remove the flowfields from field designer of dataport.
Share: