Is there any way to hide fields from base reports such as the TaxID from the SalesOrderInvoice report without extensive customizations?
Currently, I have created 2 report layouts off of ReceivableTransactionsMain and SalesOrderInvoice.
Two options to use the layout or copied report
- Customize the ReceivableTransactionsReport application
- Update the Report Details field to point to the new report
- Generate the custom application
- Customize the ReceivableTransactionsReportSettings application setting
- Select the Fields tab
- Add a Data Mapping
- From: Constant — nsReceivableTransactionsMainLayout
- To: Default Field — Container— Layout Name (ReportLayoutTextTL)
Is there another solution to this that avoids customizations on the Report Application?
The 2nd option to handle it via app settings is typically what we recommend. Shipped app settings often don’t contain any instructions, and just exist for ease of customization for scenarios such as this.
Additional info related to this (context given by a message from Kerri):
Report layouts are not supported in subreport calls. They are only resolved for a main report. So when you want to print out a layout that has a different subreport, your app will need to reference that layout, and that layout will need to have different subreport report names called.
Specifically for this report, you can check the fields you don’t want to print, like TaxID, which have a preset hide/show visibility expression. You may be able to satisfy conditions to get them to not show. The option that presents here is to look at the logic block SalesInvoiceFlatExecution (where the report pulls in its data) and see if you can clear out the field it’s pulling the TaxID from. If not, you also have the option to customize this logic block to add an action at the end, where you can:
- Query all records in the ReceivableTransactionsFlat table that have a matching ReportExecutionId
- Set values on each to clear the TaxID field value
As Jeremy mentioned, layouts on the subreport isn’t supported right now. I was able to get this to work by doing the following:
- Copied the SalesOrderInvoice report and removed the TaxId
- Created a Report Layout of the Receivables Transaction Main report and pointed the the subreport from the SalesOrderInvoice to the one I copied (namespacedSalesOrderInvoice)
- I customized the PrintInvoiceWrapper logic block, and set the ReportLayoutTextTL to the name of the layout I created for the ReceivablesTransactionMain.


