In this blog, I will walk you through a small code snippet that talks about how to add Remittance Address on an Invoice, for example in a FreeTextInvoice.
1) In the FreeTextInvoiceHeaderFooterTmp table, we need to add String field that will hold the Remittance Address value. Change the name of the newly created field as per your need, and do change the EDT type to “Addressing”.
2) In the ‘\Classes\ FreeTextInvoiceDP’ class, find the method ‘insertIntoFreeTextInvoiceHeaderFooterTmp’ and add the following snippet to it:
//SKHOSLA Stoneridge Software Inc. – Begin
//This populates the RemitToAddress field (freeTextInvoiceHeaderFooterTmp Table) with the RemitTo address if exists
//otherwise, will populate with the Business address value.
freeTextInvoiceHeaderFooterTmp.RemitToAddress = DirParty::getPostalAddressByType(companyInfo.RecId,LogisticsLocationRoleType::RemitTo);
freeTextInvoiceHeaderFooterTmp.RemitToAddress = DirParty::getPostalAddressByType(companyInfo.RecId,LogisticsLocationRoleType::Business);
//SKHOSLA Stoneridge Software Inc. – End
The above code fetches the RemitTo address if available, otherwise it will fetch the Business address and that would be displayed on the report.
3) After you have successfully added the above code and performed Step 1) as well, make sure that you run Incremental CIL compile. After that, you can go ahead and start editing the VS report for Free Text Invoice, which you can find at ‘\Visual Studio Projects\Dynamics AX Model Projects\FreeTextInvoice’.
Perform a ‘Refresh’ on the Data Source in the VS Report itself to make sure that we have the RemitToAddress field that we created in the Step 1).
Now, we are ready to place this field anywhere in the design according to our needs; I am placing it right next to the Invoicing Address. Save, Build and Deploy the report and you are ready to go.
Note: To setup addresses for the company, you need to go to Organization administration and select Legal Entities; Click the Addresses fast tab and change the addresses according to your needs.
That should be all for today folks, until then Sayonara!