On Fri, Sep 3, 2021 at 10:48 AM John Ralls <jra...@ceridwen.us> wrote:
> It looks like much of that page dates from GnuCash 2.6 that used an > earlier version of Guile than we use now... Note that none of this is > needed for GnuCash to execute your config-user.scm as it sets up the paths > for itself. > Spot-on! Fixed (all but reportname) by updating the outdated code in: https://wiki.gnucash.org/wiki/Custom_Reports#Designing_new_Reports Unfortunately, I want the split reports but that code won't run as described in: https://wiki.gnucash.org/wiki/Custom_Reports#Minimal_Example (the second Prototype report doesn't appear in Reports Examples.) It could be another syntax issue. Maybe someone could test it? *prototype-loader.scm* ;; (define-module (gnucash report example prototype)) (define-module (gnucash report example prototype_loader)) ;;(define-module (prototype_loader)) ;;(use-modules (gnucash engine)) ;;(use-modules (gnucash utilities)) (use-modules (gnucash core-utils)) ; for gnc:version and (G_ ...) (use-modules (gnucash app-utils)) (use-modules (gnucash report)) ;;(use-modules (gnucash html)) (debug-enable 'backtrace) ;;--------------------------------------------------------------- ;; load the renderer module once at the top level to get the symbols (use-modules (document-renderer)) ;; get and reload the module (define (reload-report-module) (reload-module (resolve-module '(document-renderer)))) ;; every time options generated, reload from document-renderer (define (options_loader) (reload-report-module) (options-generator)) ;; every time report rendered, reload from document-renderer (define (renderer_loader report-obj) (reload-report-module) (document-renderer report-obj)) ;;--------------------------------------------------------------- (gnc:define-report 'version 1 'name (N_ "Prototype") 'report-guid "cac2d303ec53449eb163e50117356b91" 'menu-tip (N_"<type your report menu tip here>") 'menu-path (list gnc:menuname-example) 'options-generator options-generator 'renderer document-renderer) * document-renderer.scm * (define-module (document-renderer)) ;; options for the report (called by loader after it reloads this module) (define (options-generator) (let* ((options (gnc:new-options))) ; add your options here options)) ;; report renderer (called by loader after it reloads this module) (define (document-renderer report-obj) (let ((doc (gnc:make-html-document))) ;; add your renderer here (gnc:html-document-add-object! doc (gnc:make-html-text (gnc:html-markup-h3 (format #f (G_ "~a") gnc:optname-reportname)))) doc)) (export options-generator) (export document-renderer) * config-user.scm * (load (gnc-build-userdata-path "my-world.scm")) (load (gnc-build-userdata-path "prototype.scm")) (load (gnc-build-userdata-path "prototype-loader.scm")) _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel