Skip to main content

MSDYN365BC - Generic Aging Report.

Hi Readers,

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.

Regards,
Saurav Dhyani
www.sauravdhyani.com 

Comments

Popular posts from this blog

VIEW SERVER STATE permission on SQL Server?

Hi all, Sometime While trying to Login into a database we face an error message as shown below. --------------------------- Microsoft Dynamics NAV Classic --------------------------- You cannot start Microsoft Dynamics NAV Classic because you do not have the VIEW SERVER STATE permission on SQL Server. Contact your system administrator. --------------------------- OK    ---------------------------

BC 21 and Higher - PowerShell Cmdlet (Replacement of Business Central Administration).

Hi Readers, As discussed in last article about deprecating of Business Central Administration, there are few common actions that we use in administration till Business Central 20. For our on-prem customers, we will still require doing activities. As Microsoft suggest we need to start using PowerShell cmdlet.    Let's see how to do those via PowerShell, or Administration Shell. I will be keep adding commands as you comment to this article.

Send Mail with Attachment From Navision.

Hi all, We have seen how to save a report into PDF and how to send mail to a customer. Let's link these two post in one i.e. Mailing statement to a customer into PDF Format. This article is part of the Series. Please Refer  Table of Content here . If you have the old objects set let me brief you what I will be changing -