On Thu, 2020-07-02 at 13:32 +0100, lo...@clickworkorange.com wrote: > My custom invoice template that I've used for many years stopped > working after upgrading to 3.4 as part of a dist-upgrade. I had to > remove a few things such as > > (use-modules (gnucash gnc-module)) > (use-modules (gnucash printf)) > > in order for the template to compile, but I now get > > Unbound variable: qof-book-get-slots > In ice-9/boot-9.scm: > 829:9 4 (catch _ _ # _) > In eguile-gnc.scm: > 187:6 3 (eval-input) > 187:6 2 (lp) > 191:13 1 (loop) > In ice-9/eval.scm: > 619:8 0 (_ #(#(#(#(#) # …) …) …)) > > when opening it in gnucash. My template does not contain any use of > qof-book-get-slots. The closest I have is (define (coy-info slots > key) > but removing this block of company info makes no difference. I'm a > little desperate as a client has just approved my fees for the first > job I've had since Covid-19 struck and really need to get my invoice > out today. It's a little frustrating that the templating API keeps > changing - I think this is the third time I've upgraded gnucash only > to > find I have to spend lots of time "fixing" my invoice template. > Please > help!
I went through my template looking at every instance of "key", "qof", "coy" and similar, and commented out the only bits I could find which seemed even remotely relevant: ; (define (coy-info slots key) ; ;; Extract a value from the company info key-value pairs ; (kvp-frame-get-slot-path-gslist ; slots ; (append gnc:*kvp-option-path* (list gnc:*business-label* key)))) and ; (add-option (gnc:make-text-option notespage optname-extra-css "b" ; (N_ "Embedded CSS.") "h1.coyname { text-align: left;}")) That got rid of the earlier error message, but I'm not sure if this brought me closer to getting paid or not, because the report now explodes with 16 (apply-smob/1 #<catch-closure 55f113765c60>) In c-interface.scm: 22:4 15 (gnc:call-with-error-handling _ _) In ice-9/boot-9.scm: 829:9 14 (catch #t #<procedure 55f114e07630 at c- interface.scm:23:8 ()> #<procedure 55f114e108c0 at c- interface.scm:31:8 (key . parameters)> _) In c-interface.scm: 29:29 13 (_) In unknown file: 12 (eval-string "(gnc:report-run 2)" #<undefined>) In ice-9/boot-9.scm: 2312:4 11 (save-module-excursion #<procedure 55f114e10820 at ice- 9/eval-string.scm:66:9 ()>) In ice-9/eval-string.scm: 38:6 10 (read-and-eval #<input: string 55f114e0dcb0> #:lang _) In report.scm: 830:4 9 (gnc:report-run _) In c-interface.scm: 70:23 8 (gnc:backtrace-if-exception _ . _) 22:4 7 (gnc:call-with-error-handling _ _) In ice-9/boot-9.scm: 829:9 6 (catch #t #<procedure 55f114e075a0 at c- interface.scm:23:8 ()> #<procedure 55f114e10660 at c- interface.scm:31:8 (key . parameters)> _) In c-interface.scm: 27:29 5 (_) In report.scm: 834:24 4 (_) 807:34 3 (gnc:report-render-html #<<report> type: 6e28a7d672124a8a854a668434f02c7 id: 2 options: #<procedure dispatch (key)> dirty?: #t needs-save?: #t editor-w…> …) In /home/me/.config/gnucash/my-invoice.scm: 310:36 2 (report-renderer _) In options.scm: 144:16 1 (gnc:option-value _) 113:2 0 (gnc:option-getter _) In procedure vector-ref: Wrong type argument in position 1 (expecting vector): #f If possible an even more indecipherable exception "In procedure vector- ref: Wrong type argument in position 1 (expecting vector): #f" I cannot see a vector-ref anywhere in my template, but I do have this block at the end: (gnc:define-report 'version 1 'name (N_ "My Invoice") 'report-guid "6e28a7d672124a8a854a668434f02c7" 'menu-name (N_ "My Invoice") 'menu-tip (N_ "Display a customer invoice in my style") 'menu-path (list gnc:menuname-business-reports) 'options-generator options-generator 'renderer report-renderer) I have compared this with the shipped reports (e.g. taxinvoice.scm) and it looks correct. So, a few hours killed, no progress. Any suggestions? _______________________________________________ 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.