Section Conversion and Grouping
After conversion all Classic Dynamics NAV report sections are transformed to one RDLC format report layout tablix. Each section is converted to one tablix row and also rectangular control is added to the row as it would be possible to place text boxes and other controls on it. There are some different conversion features and rules depending on section type.
Header section
Classic Dynamics NAV report header type section can be converted to RDCL format report tablix row if this section has to be printed only on the first page (PrintOnEveryPage section property has NO
value) or converted to report header if header section has to be printed on every page (PrintOnEveryPage section property has YES
value).
Example 1. Conversion of header section which PrintOnEveryPage property has
NO
value.If Classic Dynamics NAV report header section’s PrintOnEveryPage property has
NO
value,during the conversion there is column for header group created in Report Dataset Designer
and header group created in Report Layout Designer.
Header group has grouping expression of dataset column with the value of constant
0
and filter expression which prevents from showing empty values (
Fields!SRB_Customer_GroupConstant.Value >= “”
).There is a tablix row created for header section and controls are placed on it. Header row has RepeatOnNewPage value set to
false
in order to be shown only on the first page. If CurrReport.PAGENO function is used in some text box SourceExpr property in Classic Dynamics NAV report header, during the conversion this function is changed to constant value of1
.Example 2. Conversion of header section which PrintOnEveryPage property has
YES
value.If Classic Dynamics NAV report header section’s PrintOnEveryPage property has
YES
value,during the conversion there is column for header group created in Report Dataset Designer
and header group created in Report Layout Designer.
Header group has grouping expression of dataset column with the value of constant
0
and filter expression which prevents from showing empty values (
Fields!SRB_Customer_GroupConstant.Value >= “”
).There is a tablix row for header group created with red HeaderData1 text box in it for listing values which will be shown in report header.
For red text box with header values listed there is setting text box HeaderData1SetTextBox created in report header’s top left corner. Rectangular with header section controls is placed in report header and controls use GetData function to get values from HeaderData1 text box with the help of HeaderData1SetTextBox text box. If CurrReport.PAGENO function is used in some text box SourceExpr property in Classic Dynamics NAV report, during the conversion this function is changed to Globals!PageNumber function.
TransHeader/TransFooter section
Conversion of TransHeader and TransFooter sections are not supported yet. No rows are created for these sections and no controls converted to RDLC format report layout during conversion.
GroupHeader/GroupFooter Section
Each GroupHeader/GroupFooter type Classic Dynamics NAV report section and its controls are converted to layout tablix row and controls which belongs to groups by fields specified in DataItem GroupTotalFields property.
Example. Conversion of Classic Dynamics NAV report GroupHeader section.
If some Classic Dynamics NAV report DataItem has a field specified in GroupTotalFields property
and GroupHeader type section created,
then during conversion there is column for GroupHeader implementation created with Data Source as specified in GroupTotalFields property
and tablix group by field specified in GroupTotalFields property created in Report Layout Designer
with grouping expression
Tablix row for GroupHeader section created and converted controls placed on it.
If grouping is more complex and there are a few fields listed in GroupTotalFields property in Classic Dynamics NAV report, then there are more rows in RDLC format report tablix created, one for each value listed in GroupTotalFields property. Also for more complex cases there are some C/AL global variables and functions created to determine row visibility.
Body section
Each body type Classic Dynamics NAV report section is converted to one RDLC format report tablix row. Body type rows are added to the group by DataItemTable primary key. Sorting by the fields specified in DataItemTableView sorting property is applied. If DataItemTableView sorting is undefined, DataItemTable primary key is used for it.
Example. Conversion of body type section.
If there is some Classic Dynamics NAV report DataItem with DataItemTable and DataItemTableView properties specified,
and body type section created,
then during conversion there are columns with Data Source of DataItem table primary key and sorting fields created.
Layout group created with grouping by DataItemTable table primary key (in this case it is table’s Customer field “No.”)
and sorting by field specified in DataItemTableView property applied.
Tablix row for body section created and converted controls placed on it.
Footer section
Classic Dynamics NAV report footer type section can be converted to tablix row if this section has to be printed only on the last page (PrintOnEveryPage section property has NO
value) or converted to report footer if section has to be printed on every page (PrintOnEveryPage section property has YES
value).
Example 1. Conversion of footer section which PrintOnEveryPage property has
NO
value.If Classic Dynamics NAV report footer section’s PrintOnEveryPage property has
NO
value,during the conversion there is column for footer group created in Report Dataset Designer
and footer group created in Report Layout Designer.
Footer group has grouping expression of dataset column with the value of constant
0
and filter expression which prevents from showing empty values (
Fields!SRB_Customer_GroupConstant.Value >= “”
).There is a tablix row created for footer section and controls are placed on it.
Example 2. Conversion of footer section which PrintOnEveryPage property has
YES
value.If Classic Dynamics NAV report footer section’s PrintOnEveryPage property has
YES
value,during the conversion there is column for footer group created in Report Dataset Designer
and footer group created in Report Layout Designer.
Footer group has grouping expression of dataset column with the value of constant
0
and filter expression which prevents from showing empty values (
Fields!SRB_Customer_GroupConstant.Value >= “”
).There is a tablix row for footer group created with red FooterData1 text box in it for listing values which will be shown in report footer.
or red text box with footer values listed there is setting text box FooterData1SetTextBox created in report footer’s top left corner. Rectangular with footer section controls is placed in report footer and controls use GetData function to get values from FooterData1 text box with the help of FooterData1SetTextBox text box. If CurrReport.PAGENO function is used in some text box SourceExpr property in Classic Dynamics NAV report, during the conversion this function is changed to Globals!PageNumber function.