In this blog we will customize the standard SSRS document print “Project Invoice Proposal” by adding field ‘Service date’ to it and also do some cosmetic change in the report design
go to Project management and accounting -> Projects -> All projects, after going through this extension go to Action pane -> Manage -> Project invoice proposal to view the report.
The format below is default format of the report and we have to remove all the marked columns and add the Service date i.e., the Confirmed receipt date column in the design.
To fulfill the above requirement we will do the following steps:
Step # 1: We will create an extension of the table ‘PSAProjInvoiceTmp’. This table contains the information used in the line details section of the report. Here we add the new custom field named ‘ReceiptDateConfirmed’ in the table.
Step # 2: We will duplicate the ‘PSAProjInvoice’ report in our project and restore the datasource ‘PSAProjInvoiceDS’ in which the ‘ReceiptDateConfirmed’ field would populate
Note: The custom field is successfully added to the report datasource. Now we need to create the COC of PSAProjInvoiceDP class.
Step # 3: We need to create COC of method initFromProjProposalItem of class PSAProjInvoiceDP to fill the ReceiptDateConfirmed field in the PSAProjInvoiceTmp table.
[ExtensionOf(classStr(PSAProjInvoiceDP))]
internal final class MDPSAProjInvoiceDP_Extension
{
protected void initFromProjProposalItem(ProjProposalItem _projProposalItem)
{
next initFromProjProposalItem(_projProposalItem);
tmpPSAProjInvoice.ReceiptDateConfirmed = SalesLine::findInventTransId(_projProposalItem.InventTransId, false).ReceiptDateConfirmed;
}
protected void initFromProjInvoiceItem(ProjInvoiceItem _projInvoiceItem)
{
next initFromProjInvoiceItem(_projInvoiceItem);
tmpPSAProjInvoice.ReceiptDateConfirmed = SalesLine::findInventTransId(_projInvoiceItem.InventTransId, false).ReceiptDateConfirmed;
}
}
Step # 4: After creating the COC of the PSAProjInvoiceDP class, customize the report design and add the ‘Service date’ i.e., the Confirmed receipt date column in the first column of the line details and remove some fields that are highlighted in the above format:
Result: The final output of the report then looks like