Rather than dive into Scheme programming with a completely new report, I’d like 
to try editing an existing report to provide a little customisation.

I’m looking at the experimental report balsheet-pnl.scm by Christopher Lam, 
which I found here on my Mac…

/Applications/Gnucash 
3.8.app/Contents/Resources/share/gnucash/scm/gnucash/report/standard-reports

…and I would make a start by replacing the Footer text defined at line 47 et 
seqq:

(define FOOTER-TEXT
  (gnc:make-html-text
   (_ "WARNING: Foreign currency conversions, and unrealized gains
calculations are not confirmed correct. This report may be modified
without notice. Bug reports are very welcome at
https://bugs.gnucash.org/";)))

First off, I plan to make a copy of the existing file, naming it 
MH_balsheet-pnl.scm (“MH” being my initials).

Now I’ll edit the text of the Footer - let’s say I replace the existing text as 
follows:

(define FOOTER-TEXT
  (gnc:make-html-text
   (_ “MH - experimental report 2020-03-23")))

[In the longer run, I’d plan to modify the text of the report to use “Revenue & 
Expenditure” in place of “Income and Expense”]

In other programming environments I would simply save the edited file and run 
it, but I can see a few pitfalls!


Line 28 reads:

(define-module (gnucash report standard-reports balsheet-pnl))

which should presumably be changed, e.g. to:

(define-module (gnucash report standard-reports MH_balsheet-pnl))


After that, I think it should be plain sailing until line 1340:


(define balsheet-reportname (_ "Balance Sheet (Multicolumn)"))
(define pnl-reportname (_ "Income Statement (Multicolumn)"))

(gnc:define-report
 'version 1
 'name balsheet-reportname
 'report-guid "065d5d5a77ba11e8b31e83ada73c5eea"
 'menu-path (list gnc:menuname-experimental)
 'options-generator (lambda () (multicol-report-options-generator 'balsheet))
 'renderer (lambda (rpt) (multicol-report-renderer rpt 'balsheet)))

(gnc:define-report
 'version 1
 'name pnl-reportname
 'report-guid "0e94fd0277ba11e8825d43e27232c9d4"
 'menu-path (list gnc:menuname-experimental)
 'options-generator (lambda () (multicol-report-options-generator 'pnl))
 'renderer (lambda (rpt) (multicol-report-renderer rpt 'pnl)))

I expect there would be scope for confusion if I didn’t change lines 1340-1 - 
say prefixing “MH_” to the definitions, but I’m not sure about the 
options-generator and renderer lines.

uuidgen on my Mac issues 36-character uuids, with hyphens and uppercase, like 
this:

47170C69-F87E-4A3B-9A97-8B97F56F5DFD

Would I need to edit them to give 32-character lowercase uuids, lacking hyphens?

Obviously, I have to take responsibility for my own programming experiments 
(and errors), but I’d appreciate a quick steer from someone with Scheme 
experience.

Regards,

Michael

_______________________________________________
gnucash-user mailing list
gnucash-user@gnucash.org
To update your subscription preferences or to unsubscribe:
https://lists.gnucash.org/mailman/listinfo/gnucash-user
If you are using Nabble or Gmane, please see 
https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
-----
Please remember to CC this list on all your replies.
You can do this by using Reply-To-List or Reply-All.

Reply via email to