Topic: Reports Tutorial Discussion
This is a prelude to fleshing out a Wiki page on DIY FA Reports - Innards and Construction and to address a request from @mkisekka:
I am a php newbie but generally understand programming concepts and work with oracle databases.
I have a task to customize some FA reports, such as the cash flow statement, profit and loss statement - adding some rows, changing layout and the like.
I was wondering what general advice you would give to someone starting out - in terms of understanding report structure and/or using Repgenerator.
I've installed FA and tinkered abit with some code but so far its only hacking and I might need a more structured approach. E.g. say I took rep707.php and wanted to understand how the report is structured, should I study line by line or?
The following notes are to act as a general guide for code and layout information:
1. The reporting/includes/header2.inc file contains elements of the top portion of any standard report.
2. The reporting/includes/doctext.inc obtains all the variables needed for the reports
3. The actual reporting/repXXX.php file contains the body of the report where line items are listed.
4. The reporting/includes/pdf_report.inc has the FA reporting classes and common includes
5. The reporting/reports_main.php file has the form elements that tailor the report (filter choices)
6. The reporting/includes/reporting.inc file has the code for Non Field DB Data where many key#value pairs delimited by # and space separated are placed in some large text field and parsed out on demand. This needs to be backported for v2.3 or taken from my GitHub's FAMods folder.
The first 3 above can also act as company overrides by placing them in the appropriate company/#/ folder.
Examples are in my GitHub FAMods folder.
The RegGen extension was hacked in to work in a rudimentary manner and was made for a much earlier version of FA. It is not very secure and can at best be used for development purposes in a trusted secure environment.
Hitherto, FA users who have successfully built reports have not significantly shared their work and hence it is in a state of relative freeze at present. With the knowledge of DIY reports becoming common, this situation will hopefully reverse itself into competing betterment and result in wider FA adoption.