In last #bcopendiscussion, we discussed how we can build a Generic Customer Payment Report in Business Central.
This article we will discuss about same report. We will use List Datatype to develop this report.
Idea behind this report is user should be able to key in a Start Date, No of Periods required in the report output and also How many months in per Period.
Let's start building that report.
1. Create a New Report, and set report properties like caption, Usage Category, Application, DefaultLayout and RDLCLayout.
2. Then We will add a dataitem in dataset for Customer Table. We will add following columns in the dataset with Caption that we will use in Report Layout -
- No.
- Name
3. Let's add few global variables that we need in Report layout -
- Start Date - Used in Request Page to Input Report Start Date.
- Total Amount - Used for calculation of Total Amount in that period.
- No of Periods - Use in Request Page to Input No. of Periods.
- Months Per Period - Use in Request Page to Input Months to be used per period.
- Period Start Date - List to store Start Dates.
- Period End Date - List to store End Dates.
4. Let's set fields in Request page for user input.
5. Next lets create a function to fill in our date list variables based on user input.
6. Let call this function and do check for user input.
7. Next lets add a Child Dataitem with integer table, and all our variables and the Number field from Integer table in dataset.
8. Last but not least, lets add to calculate the Amount for each customer -
- We will set Integer to run only execute to No. of periods times.
- Then Onaftergetrecord, we can do calculation to calculate the Amount Total.
Report Layout -
- In the Layout we will add a Matrix Control.
- A Matrix control let us group data row and column wise.
- In our case we can Use Row Group as Customer No and Column Group as No. of Periods.
- For Column we can use Source Expression of Start and End Date List.
- For other rows & Column fields set expression as shown below.
Report Output -
- In Request page we can set, Start Date, No. of Periods & Months Per Period.
- Report Preview will show us the data that is needed.
As I said earlier you can see this report development in last #bcopendiscussion Recording.
The Code is available in #github.
Let me know your views as comment to this article.
Comments
Post a Comment