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: