mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Merge branch 'master-guid-dance' #706
For release notes: * new reports are now using different options and renderer * options and layout are different * Old reports still accessible via --extras
This commit is contained in:
commit
6caf7beee3
@ -80,14 +80,9 @@
|
||||
0
|
||||
))
|
||||
|
||||
(use-modules (gnucash reports standard payables))
|
||||
(define (gnc:payables-report-create account title show-zeros?)
|
||||
(payables-report-create-internal account title show-zeros?))
|
||||
(use-modules (gnucash reports standard new-aging))
|
||||
(define gnc:payables-report-create payables-report-create-internal)
|
||||
(define gnc:receivables-report-create receivables-report-create-internal)
|
||||
|
||||
(use-modules (gnucash reports standard receivables))
|
||||
(define (gnc:receivables-report-create account title show-zeros?)
|
||||
(receivables-report-create-internal account title show-zeros?))
|
||||
|
||||
(use-modules (gnucash reports standard owner-report))
|
||||
(define* (gnc:owner-report-create owner account #:key currency)
|
||||
(owner-report-create owner account #:currency currency))
|
||||
(use-modules (gnucash reports standard new-owner-report))
|
||||
(define gnc:owner-report-create owner-report-create)
|
||||
|
@ -69,7 +69,7 @@
|
||||
(use-modules (gnucash app-utils))
|
||||
(use-modules (gnucash report))
|
||||
|
||||
(define reportname (N_ "Balance Sheet"))
|
||||
(define reportname "Balance Sheet (legacy)")
|
||||
|
||||
;; define all option's names and help text so that they are properly
|
||||
;; defined in *one* place.
|
||||
@ -559,9 +559,10 @@
|
||||
(gnc:define-report
|
||||
'version 1
|
||||
'name reportname
|
||||
'report-guid "c4173ac99b2b448289bf4d11c731af13"
|
||||
'report-guid "c4173ac99b2b448289bf4d11c731af13-old"
|
||||
'menu-path (list gnc:menuname-asset-liability)
|
||||
'options-generator balance-sheet-options-generator
|
||||
'renderer balance-sheet-renderer)
|
||||
'renderer balance-sheet-renderer
|
||||
'in-menu? (gnc-prefs-is-extra-enabled))
|
||||
|
||||
;; END
|
||||
|
@ -44,12 +44,6 @@
|
||||
(split-balance col-datum-get-split-balance)
|
||||
(split-value-balance col-datum-get-split-value-balance))
|
||||
|
||||
(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/")))
|
||||
|
||||
;; define all option's names and help text so that they are properly
|
||||
|
||||
@ -130,7 +124,7 @@ also show overall period profit & loss."))
|
||||
|
||||
(define periodlist
|
||||
(list
|
||||
(list #f
|
||||
(list 'disabled
|
||||
(cons 'text (_ "Disabled"))
|
||||
(cons 'tip (_ "Disabled")))
|
||||
|
||||
@ -186,29 +180,30 @@ also show overall period profit & loss."))
|
||||
(gnc:make-multichoice-callback-option
|
||||
gnc:pagename-general optname-period
|
||||
"c2" opthelp-period
|
||||
#f
|
||||
'disabled
|
||||
(keylist->vectorlist periodlist)
|
||||
#f
|
||||
(lambda (x)
|
||||
(gnc-option-db-set-option-selectable-by-name
|
||||
options
|
||||
gnc:pagename-general optname-disable-amount-indent
|
||||
(not x))
|
||||
(gnc-option-db-set-option-selectable-by-name
|
||||
options
|
||||
gnc:pagename-general optname-dual-columns
|
||||
(not x))
|
||||
(case report-type
|
||||
((balsheet)
|
||||
(gnc-option-db-set-option-selectable-by-name
|
||||
options gnc:pagename-general optname-include-chart x)
|
||||
(let ((x (not (eq? x 'disabled))))
|
||||
(gnc-option-db-set-option-selectable-by-name
|
||||
options
|
||||
gnc:pagename-general optname-disable-amount-indent
|
||||
(not x))
|
||||
(gnc-option-db-set-option-selectable-by-name
|
||||
options
|
||||
gnc:pagename-general optname-dual-columns
|
||||
(not x))
|
||||
(case report-type
|
||||
((balsheet)
|
||||
(gnc-option-db-set-option-selectable-by-name
|
||||
options gnc:pagename-general optname-include-chart x)
|
||||
|
||||
(gnc-option-db-set-option-selectable-by-name
|
||||
options gnc:pagename-general optname-startdate x))
|
||||
(gnc-option-db-set-option-selectable-by-name
|
||||
options gnc:pagename-general optname-startdate x))
|
||||
|
||||
((pnl)
|
||||
(gnc-option-db-set-option-selectable-by-name
|
||||
options gnc:pagename-general optname-include-overall-period x))))))
|
||||
((pnl)
|
||||
(gnc-option-db-set-option-selectable-by-name
|
||||
options gnc:pagename-general optname-include-overall-period x)))))))
|
||||
|
||||
(add-option
|
||||
(gnc:make-simple-boolean-option
|
||||
@ -710,10 +705,10 @@ also show overall period profit & loss."))
|
||||
(disable-account-indent? (get-option gnc:pagename-display
|
||||
optname-account-full-name))
|
||||
(incr (get-option gnc:pagename-general optname-period))
|
||||
(disable-amount-indent? (and (not incr)
|
||||
(disable-amount-indent? (and (eq? incr 'disabled)
|
||||
(get-option gnc:pagename-general
|
||||
optname-disable-amount-indent)))
|
||||
(enable-dual-columns? (and (not incr)
|
||||
(enable-dual-columns? (and (eq? incr 'disabled)
|
||||
(get-option gnc:pagename-general
|
||||
optname-dual-columns)))
|
||||
(accounts (get-option gnc:pagename-accounts
|
||||
@ -759,7 +754,8 @@ also show overall period profit & loss."))
|
||||
|
||||
(report-dates
|
||||
(cond
|
||||
(incr (gnc:make-date-list startdate enddate (gnc:deltasym-to-delta incr)))
|
||||
((not (eq? incr 'disabled))
|
||||
(gnc:make-date-list startdate enddate (gnc:deltasym-to-delta incr)))
|
||||
((eq? report-type 'pnl) (list startdate enddate))
|
||||
(else (list enddate))))
|
||||
|
||||
@ -909,7 +905,7 @@ also show overall period profit & loss."))
|
||||
(lambda ()
|
||||
(display report-title)
|
||||
(display " ")
|
||||
(if (or incr (eq? report-type 'pnl))
|
||||
(if (or (not (eq? incr 'disabled)) (eq? report-type 'pnl))
|
||||
(format #t (_ "~a to ~a")
|
||||
(qof-print-date startdate) (qof-print-date enddate))
|
||||
(display (qof-print-date enddate))))))
|
||||
@ -1025,7 +1021,7 @@ also show overall period profit & loss."))
|
||||
(income-expense-balance 'format gnc:make-gnc-monetary #f)))))
|
||||
|
||||
(chart (and-let* (include-chart?
|
||||
incr
|
||||
(not (eq? incr 'disabled))
|
||||
(curr (or common-currency book-main-currency))
|
||||
(price (or price-source 'pricedb-nearest)))
|
||||
(gnc:make-report-anchor
|
||||
@ -1080,7 +1076,7 @@ also show overall period profit & loss."))
|
||||
get-cell-anchor-fn)
|
||||
))))
|
||||
|
||||
(when incr
|
||||
(unless (eq? incr 'disabled)
|
||||
(add-to-table multicol-table-left (_ "Date") '()
|
||||
#:get-col-header-fn get-col-header-fn
|
||||
#:show-accounts? #f
|
||||
@ -1118,7 +1114,7 @@ also show overall period profit & loss."))
|
||||
#:show-accounts? #f
|
||||
#:show-total? #f))
|
||||
|
||||
(if (and include-chart? incr)
|
||||
(if (and include-chart? (not (eq? incr 'disabled)))
|
||||
(gnc:html-document-add-object!
|
||||
doc
|
||||
(gnc:make-html-text
|
||||
@ -1157,7 +1153,7 @@ also show overall period profit & loss."))
|
||||
(let ((datepair (col-idx->datepair col-idx))
|
||||
(show-orig? (and common-currency #t))
|
||||
(curr (or common-currency book-main-currency))
|
||||
(delta (or incr 'MonthDelta))
|
||||
(delta (or (not (eq? incr 'disabled)) 'MonthDelta))
|
||||
(price (or price-source 'pricedb-nearest))
|
||||
(accts (if (pair? account) account (list account))))
|
||||
(gnc:make-report-anchor
|
||||
@ -1174,7 +1170,7 @@ also show overall period profit & loss."))
|
||||
(chart
|
||||
(and-let* (include-chart?
|
||||
(curr (or common-currency book-main-currency))
|
||||
(delta (or incr 'MonthDelta))
|
||||
(delta (or (not (eq? incr 'disabled)) 'MonthDelta))
|
||||
(price (or price-source 'pricedb-nearest)))
|
||||
(gnc:make-report-anchor
|
||||
pnl-barchart-uuid report-obj
|
||||
@ -1233,7 +1229,7 @@ also show overall period profit & loss."))
|
||||
#:get-cell-anchor-fn (and use-amount-links?
|
||||
get-cell-anchor-fn)))))
|
||||
|
||||
(when incr
|
||||
(unless (eq? incr 'disabled)
|
||||
(add-to-table multicol-table-left (_ "Period") '()
|
||||
#:get-col-header-fn get-col-header-fn
|
||||
#:show-accounts? #f
|
||||
@ -1281,30 +1277,36 @@ also show overall period profit & loss."))
|
||||
(gnc:html-document-add-object!
|
||||
doc multicol-table))
|
||||
|
||||
(gnc:html-document-add-object!
|
||||
doc FOOTER-TEXT)
|
||||
|
||||
(gnc:report-finished)
|
||||
;; (gnc:html-document-set-style-text!
|
||||
;; doc " table, td{ border-width: 1px; border-style:solid; border-color: lightgray; border-collapse: collapse}")
|
||||
doc))
|
||||
|
||||
(define balsheet-reportname (_ "Balance Sheet (Multicolumn)"))
|
||||
(define pnl-reportname (_ "Income Statement (Multicolumn)"))
|
||||
(define balsheet-reportname (_ "Balance Sheet"))
|
||||
(define is-reportname (_ "Income Statement"))
|
||||
(define pnl-reportname (_ "Profit & Loss"))
|
||||
|
||||
(gnc:define-report
|
||||
'version 1
|
||||
'name balsheet-reportname
|
||||
'report-guid "065d5d5a77ba11e8b31e83ada73c5eea"
|
||||
'menu-path (list gnc:menuname-experimental)
|
||||
'report-guid "c4173ac99b2b448289bf4d11c731af13"
|
||||
'menu-path (list gnc:menuname-asset-liability)
|
||||
'options-generator (lambda () (multicol-report-options-generator 'balsheet))
|
||||
'renderer (lambda (rpt) (multicol-report-renderer rpt 'balsheet)))
|
||||
|
||||
(gnc:define-report
|
||||
'version 1
|
||||
'name is-reportname
|
||||
'report-guid "0b81a3bdfd504aff849ec2e8630524bc"
|
||||
'menu-path (list gnc:menuname-income-expense)
|
||||
'options-generator (lambda () (multicol-report-options-generator 'pnl))
|
||||
'renderer (lambda (rpt) (multicol-report-renderer rpt 'pnl)))
|
||||
|
||||
(gnc:define-report
|
||||
'version 1
|
||||
'name pnl-reportname
|
||||
'report-guid "0e94fd0277ba11e8825d43e27232c9d4"
|
||||
'menu-path (list gnc:menuname-experimental)
|
||||
'report-guid "8758ba23984c40dea5527f5f0ca2779e"
|
||||
'menu-path (list gnc:menuname-income-expense)
|
||||
'options-generator (lambda () (multicol-report-options-generator 'pnl))
|
||||
'renderer (lambda (rpt) (multicol-report-renderer rpt 'pnl)))
|
||||
|
||||
|
@ -379,7 +379,7 @@
|
||||
(gncOwnerGetName owner) comm markup
|
||||
comm-profit comm-sales comm-expense
|
||||
(gnc:report-anchor-text
|
||||
(gnc:owner-report-create owner '() #:currency comm)))
|
||||
(gnc:owner-report-create owner '())))
|
||||
sortingtable)))))
|
||||
commodities)))
|
||||
results)
|
||||
|
@ -569,8 +569,8 @@
|
||||
|
||||
doc))
|
||||
|
||||
(define is-reportname (N_ "Income Statement"))
|
||||
(define pnl-reportname (N_ "Profit & Loss"))
|
||||
(define is-reportname "Income Statement (legacy)")
|
||||
(define pnl-reportname "Profit & Loss (legacy)")
|
||||
|
||||
(define (income-statement-options-generator)
|
||||
(income-statement-options-generator-internal is-reportname))
|
||||
@ -586,19 +586,21 @@
|
||||
(gnc:define-report
|
||||
'version 1
|
||||
'name is-reportname
|
||||
'report-guid "0b81a3bdfd504aff849ec2e8630524bc"
|
||||
'report-guid "0b81a3bdfd504aff849ec2e8630524bc-old"
|
||||
'menu-path (list gnc:menuname-income-expense)
|
||||
'options-generator income-statement-options-generator
|
||||
'renderer income-statement-renderer)
|
||||
'renderer income-statement-renderer
|
||||
'in-menu? (gnc-prefs-is-extra-enabled))
|
||||
|
||||
;; Also make a "Profit & Loss" report, even if it's the exact same one,
|
||||
;; just relabeled.
|
||||
(gnc:define-report
|
||||
'version 1
|
||||
'name pnl-reportname
|
||||
'report-guid "8758ba23984c40dea5527f5f0ca2779e"
|
||||
'report-guid "8758ba23984c40dea5527f5f0ca2779e-old"
|
||||
'menu-path (list gnc:menuname-income-expense)
|
||||
'options-generator profit-and-loss-options-generator
|
||||
'renderer profit-and-loss-renderer)
|
||||
'renderer profit-and-loss-renderer
|
||||
'in-menu? (gnc-prefs-is-extra-enabled))
|
||||
|
||||
;; END
|
||||
|
@ -589,9 +589,9 @@
|
||||
|
||||
(gnc:define-report
|
||||
'version 1
|
||||
'name (N_ "Job Report")
|
||||
'report-guid "5518ac227e474f47a34439f2d4d049de"
|
||||
'name "Job Report (legacy)"
|
||||
'report-guid "5518ac227e474f47a34439f2d4d049de-old"
|
||||
'menu-path (list gnc:menuname-business-reports)
|
||||
'options-generator job-options-generator
|
||||
'renderer reg-renderer
|
||||
'in-menu? #t)
|
||||
'in-menu? (gnc-prefs-is-extra-enabled))
|
||||
|
@ -444,20 +444,53 @@ exist but have no suitable transactions."))
|
||||
(define (receivables-renderer report-obj)
|
||||
(aging-renderer report-obj #t))
|
||||
|
||||
(define payables-aging-guid "e57770f2dbca46619d6dac4ac5469b50")
|
||||
(define receivables-aging-guid "9cf76bed17f14401b8e3e22d0079cb98")
|
||||
|
||||
(gnc:define-report
|
||||
'version 1
|
||||
'name (N_ "Payable Aging (beta)")
|
||||
'report-guid "e57770f2dbca46619d6dac4ac5469b50-new"
|
||||
'menu-path (list gnc:menuname-experimental)
|
||||
'name (N_ "Payable Aging")
|
||||
'report-guid payables-aging-guid
|
||||
'menu-path (list gnc:menuname-business-reports)
|
||||
'options-generator payable-options-generator
|
||||
'renderer payables-renderer
|
||||
'in-menu? #t)
|
||||
|
||||
(gnc:define-report
|
||||
'version 1
|
||||
'name (N_ "Receivable Aging (beta)")
|
||||
'report-guid "9cf76bed17f14401b8e3e22d0079cb98-new"
|
||||
'menu-path (list gnc:menuname-experimental)
|
||||
'name (N_ "Receivable Aging")
|
||||
'report-guid "9cf76bed17f14401b8e3e22d0079cb98"
|
||||
'menu-path (list gnc:menuname-business-reports)
|
||||
'options-generator receivable-options-generator
|
||||
'renderer receivables-renderer
|
||||
'in-menu? #t)
|
||||
|
||||
(define (receivables-report-create-internal acct title show-zeros?)
|
||||
(let* ((options (gnc:make-report-options receivables-aging-guid))
|
||||
(zero-op (gnc:lookup-option options gnc:pagename-general optname-show-zeros))
|
||||
(title-op (gnc:lookup-option options gnc:pagename-general gnc:optname-reportname)))
|
||||
(when title (gnc:option-set-value title-op title))
|
||||
(gnc:option-set-value zero-op show-zeros?)
|
||||
(gnc:make-report receivables-aging-guid options)))
|
||||
|
||||
(define (payables-report-create-internal acct title show-zeros?)
|
||||
(let* ((options (gnc:make-report-options payables-aging-guid))
|
||||
(zero-op (gnc:lookup-option options gnc:pagename-general optname-show-zeros))
|
||||
(title-op (gnc:lookup-option options gnc:pagename-general gnc:optname-reportname)))
|
||||
(when title (gnc:option-set-value title-op title))
|
||||
(gnc:option-set-value zero-op show-zeros?)
|
||||
(gnc:make-report payables-aging-guid options)))
|
||||
|
||||
(define (gnc:receivables-create-internal
|
||||
account split query journal? double? title debit-string credit-string)
|
||||
(receivables-report-create-internal #f #f))
|
||||
|
||||
(define (gnc:payables-create-internal
|
||||
account split query journal? double? title debit-string credit-string)
|
||||
(payables-report-create-internal #f #f))
|
||||
|
||||
(gnc:register-report-hook ACCT-TYPE-RECEIVABLE #f gnc:receivables-create-internal)
|
||||
(gnc:register-report-hook ACCT-TYPE-PAYABLE #f gnc:payables-create-internal)
|
||||
|
||||
(export payables-report-create-internal)
|
||||
(export receivables-report-create-internal)
|
||||
|
@ -1152,38 +1152,81 @@ invoices and amounts.")))))
|
||||
(define (job-renderer obj)
|
||||
(reg-renderer obj GNC-OWNER-JOB))
|
||||
|
||||
(define customer-report-guid "c146317be32e4948a561ec7fc89d15c1")
|
||||
(define vendor-report-guid "d7d1e53505ee4b1b82efad9eacedaea0")
|
||||
(define employee-report-guid "08ae9c2e884b4f9787144f47eacd7f44")
|
||||
|
||||
(gnc:define-report
|
||||
'version 1
|
||||
'name (N_ "Customer Report (beta)")
|
||||
'report-guid "c146317be32e4948a561ec7fc89d15c1-new"
|
||||
'menu-path (list gnc:menuname-experimental)
|
||||
'name (N_ "Customer Report")
|
||||
'report-guid customer-report-guid
|
||||
'menu-path (list gnc:menuname-business-reports)
|
||||
'options-generator (lambda () (options-generator GNC-OWNER-CUSTOMER))
|
||||
'renderer customer-renderer
|
||||
'in-menu? #t)
|
||||
|
||||
(gnc:define-report
|
||||
'version 1
|
||||
'name (N_ "Vendor Report (beta)")
|
||||
'report-guid "d7d1e53505ee4b1b82efad9eacedaea0-new"
|
||||
'menu-path (list gnc:menuname-experimental)
|
||||
'name (N_ "Vendor Report")
|
||||
'report-guid vendor-report-guid
|
||||
'menu-path (list gnc:menuname-business-reports)
|
||||
'options-generator (lambda () (options-generator GNC-OWNER-VENDOR))
|
||||
'renderer vendor-renderer
|
||||
'in-menu? #t)
|
||||
|
||||
(gnc:define-report
|
||||
'version 1
|
||||
'name (N_ "Employee Report (beta)")
|
||||
'report-guid "08ae9c2e884b4f9787144f47eacd7f44-new"
|
||||
'menu-path (list gnc:menuname-experimental)
|
||||
'name (N_ "Employee Report")
|
||||
'report-guid employee-report-guid
|
||||
'menu-path (list gnc:menuname-business-reports)
|
||||
'options-generator (lambda () (options-generator GNC-OWNER-EMPLOYEE))
|
||||
'renderer employee-renderer
|
||||
'in-menu? #t)
|
||||
|
||||
(gnc:define-report
|
||||
'version 1
|
||||
'name (N_ "Job Report (beta)")
|
||||
'report-guid "5518ac227e474f47a34439f2d4d049de-new"
|
||||
'menu-path (list gnc:menuname-experimental)
|
||||
'name (N_ "Job Report")
|
||||
'report-guid "5518ac227e474f47a34439f2d4d049de"
|
||||
'menu-path (list gnc:menuname-business-reports)
|
||||
'options-generator (lambda () (options-generator GNC-OWNER-JOB))
|
||||
'renderer job-renderer
|
||||
'in-menu? #t)
|
||||
|
||||
|
||||
(define (owner-report-create-internal report-guid owner owner-type)
|
||||
(let* ((options (gnc:make-report-options report-guid))
|
||||
(owner-op (gnc:lookup-option options owner-page (owner-string owner-type))))
|
||||
|
||||
(gnc:option-set-value owner-op owner)
|
||||
(gnc:make-report report-guid options)))
|
||||
|
||||
(define (owner-report-create owner account)
|
||||
;; note account isn't actually used
|
||||
(let ((type (gncOwnerGetType (gncOwnerGetEndOwner owner))))
|
||||
(cond
|
||||
((eqv? type GNC-OWNER-CUSTOMER)
|
||||
;; Not sure whether to pass type, or to use the guid in the report function
|
||||
(owner-report-create-internal customer-report-guid owner type))
|
||||
|
||||
((eqv? type GNC-OWNER-VENDOR)
|
||||
(owner-report-create-internal vendor-report-guid owner type))
|
||||
|
||||
((eqv? type GNC-OWNER-EMPLOYEE)
|
||||
(owner-report-create-internal employee-report-guid owner type))
|
||||
|
||||
(else #f))))
|
||||
|
||||
(define (gnc:owner-report-create-internal
|
||||
account split query journal? double? title debit-string credit-string)
|
||||
|
||||
(let* ((temp-owner (gncOwnerNew))
|
||||
(owner (gnc:owner-from-split split temp-owner))
|
||||
(res (if (null? owner)
|
||||
-1
|
||||
(owner-report-create owner))))
|
||||
(gncOwnerFree temp-owner)
|
||||
res))
|
||||
|
||||
(gnc:register-report-hook ACCT-TYPE-RECEIVABLE #t gnc:owner-report-create-internal)
|
||||
(gnc:register-report-hook ACCT-TYPE-PAYABLE #t gnc:owner-report-create-internal)
|
||||
(export owner-report-create)
|
||||
|
@ -41,9 +41,9 @@
|
||||
(define optname-date-driver (N_ "Due or Post Date"))
|
||||
|
||||
;; let's define a name for the report-guid's, much prettier
|
||||
(define employee-report-guid "08ae9c2e884b4f9787144f47eacd7f44")
|
||||
(define vendor-report-guid "d7d1e53505ee4b1b82efad9eacedaea0")
|
||||
(define customer-report-guid "c146317be32e4948a561ec7fc89d15c1")
|
||||
(define employee-report-guid "08ae9c2e884b4f9787144f47eacd7f44-old")
|
||||
(define vendor-report-guid "d7d1e53505ee4b1b82efad9eacedaea0-old")
|
||||
(define customer-report-guid "c146317be32e4948a561ec7fc89d15c1-old")
|
||||
|
||||
(define acct-string (N_ "Account"))
|
||||
(define owner-page gnc:pagename-general)
|
||||
@ -831,75 +831,28 @@
|
||||
|
||||
(gnc:define-report
|
||||
'version 1
|
||||
'name (N_ "Customer Report")
|
||||
'name "Customer Report (legacy)"
|
||||
'report-guid customer-report-guid
|
||||
'menu-path (list gnc:menuname-business-reports)
|
||||
'options-generator customer-options-generator
|
||||
'renderer reg-renderer
|
||||
'in-menu? #t)
|
||||
'in-menu? (gnc-prefs-is-extra-enabled))
|
||||
|
||||
(gnc:define-report
|
||||
'version 1
|
||||
'name (N_ "Vendor Report")
|
||||
'name "Vendor Report (legacy)"
|
||||
'report-guid vendor-report-guid
|
||||
'menu-path (list gnc:menuname-business-reports)
|
||||
'options-generator vendor-options-generator
|
||||
'renderer reg-renderer
|
||||
'in-menu? #t)
|
||||
'in-menu? (gnc-prefs-is-extra-enabled))
|
||||
|
||||
(gnc:define-report
|
||||
'version 1
|
||||
'name (N_ "Employee Report")
|
||||
'name "Employee Report (legacy)"
|
||||
'report-guid employee-report-guid
|
||||
'menu-path (list gnc:menuname-business-reports)
|
||||
'options-generator employee-options-generator
|
||||
'renderer reg-renderer
|
||||
'in-menu? #t)
|
||||
'in-menu? (gnc-prefs-is-extra-enabled))
|
||||
|
||||
(define (owner-report-create-internal report-guid owner account owner-type)
|
||||
(let* ((options (gnc:make-report-options report-guid))
|
||||
(owner-op (gnc:lookup-option options owner-page (owner-string owner-type)))
|
||||
(account-op (gnc:lookup-option options owner-page acct-string)))
|
||||
|
||||
(gnc:option-set-value owner-op owner)
|
||||
(gnc:option-set-value account-op account)
|
||||
(gnc:make-report report-guid options)))
|
||||
|
||||
(define* (owner-report-create owner account #:key currency)
|
||||
(let ((type (gncOwnerGetType (gncOwnerGetEndOwner owner))))
|
||||
; Figure out an account to use if nothing exists here.
|
||||
(if (null? account)
|
||||
(set! account (find-first-account-for-owner owner #:currency currency)))
|
||||
(cond
|
||||
((eqv? type GNC-OWNER-CUSTOMER)
|
||||
(owner-report-create-internal customer-report-guid owner account type)) ;; Not sure whether to pass type, or to use the guid in the report function
|
||||
|
||||
((eqv? type GNC-OWNER-VENDOR)
|
||||
(owner-report-create-internal vendor-report-guid owner account type))
|
||||
|
||||
((eqv? type GNC-OWNER-EMPLOYEE)
|
||||
(owner-report-create-internal employee-report-guid owner account type))
|
||||
|
||||
(else #f))))
|
||||
|
||||
(define (gnc:owner-report-create-internal
|
||||
account split query journal? double? title
|
||||
debit-string credit-string)
|
||||
|
||||
(let* ((temp-owner (gncOwnerNew))
|
||||
(owner (gnc:owner-from-split split temp-owner))
|
||||
(res -1)) ;; XXX -- in this case we should create an error report
|
||||
|
||||
(if (not (null? owner))
|
||||
(set! res (owner-report-create owner account)))
|
||||
|
||||
(gncOwnerFree temp-owner)
|
||||
res))
|
||||
|
||||
(gnc:register-report-hook ACCT-TYPE-RECEIVABLE #t
|
||||
gnc:owner-report-create-internal)
|
||||
|
||||
(gnc:register-report-hook ACCT-TYPE-PAYABLE #t
|
||||
gnc:owner-report-create-internal)
|
||||
|
||||
(export owner-report-create)
|
||||
|
@ -67,36 +67,15 @@
|
||||
(gnc:debug "payables-account" payables-account)
|
||||
(aging-renderer report-obj this-acc payables-account #f)))
|
||||
|
||||
(define payables-aging-guid "e57770f2dbca46619d6dac4ac5469b50")
|
||||
(define payables-aging-guid "e57770f2dbca46619d6dac4ac5469b50-old")
|
||||
|
||||
;; Here we define the actual report with gnc:define-report
|
||||
(gnc:define-report
|
||||
'version 1
|
||||
'name (N_ "Payable Aging")
|
||||
'name "Payable Aging (legacy)"
|
||||
'report-guid payables-aging-guid
|
||||
'menu-path (list gnc:menuname-business-reports)
|
||||
'options-generator options-generator
|
||||
'renderer payables-renderer
|
||||
'in-menu? #t)
|
||||
'in-menu? (gnc-prefs-is-extra-enabled))
|
||||
|
||||
(define (payables-report-create-internal acct title show-zeros?)
|
||||
(let* ((options (gnc:make-report-options payables-aging-guid))
|
||||
(acct-op (gnc:lookup-option options acc-page this-acc))
|
||||
(zero-op (gnc:lookup-option options acc-page optname-show-zeros))
|
||||
(title-op (gnc:lookup-option options acc-page gnc:optname-reportname)))
|
||||
|
||||
(gnc:option-set-value acct-op acct)
|
||||
(if (not (string-null? title))
|
||||
(gnc:option-set-value title-op title))
|
||||
(gnc:option-set-value zero-op show-zeros?)
|
||||
(gnc:make-report payables-aging-guid options)))
|
||||
|
||||
(define (gnc:payables-report-create-internal
|
||||
account split query journal? double? title
|
||||
debit-string credit-string)
|
||||
(payables-report-create-internal account "" #f))
|
||||
|
||||
(gnc:register-report-hook ACCT-TYPE-PAYABLE #f
|
||||
gnc:payables-report-create-internal)
|
||||
|
||||
(export payables-report-create-internal)
|
||||
|
@ -80,36 +80,15 @@
|
||||
|
||||
(aging-renderer report-obj this-acc receivables-account #t)))
|
||||
|
||||
(define receivables-aging-guid "9cf76bed17f14401b8e3e22d0079cb98")
|
||||
(define receivables-aging-guid "9cf76bed17f14401b8e3e22d0079cb98-old")
|
||||
|
||||
;; Here we define the actual report with gnc:define-report
|
||||
(gnc:define-report
|
||||
'version 1
|
||||
'name (N_ "Receivable Aging")
|
||||
'name "Receivable Aging (legacy)"
|
||||
'report-guid receivables-aging-guid
|
||||
'menu-path (list gnc:menuname-business-reports)
|
||||
'options-generator options-generator
|
||||
'renderer receivables-renderer
|
||||
'in-menu? #t)
|
||||
'in-menu? (gnc-prefs-is-extra-enabled))
|
||||
|
||||
(define (receivables-report-create-internal acct title show-zeros?)
|
||||
(let* ((options (gnc:make-report-options receivables-aging-guid))
|
||||
(acct-op (gnc:lookup-option options acc-page this-acc))
|
||||
(zero-op (gnc:lookup-option options acc-page optname-show-zeros))
|
||||
(title-op (gnc:lookup-option options acc-page gnc:optname-reportname)))
|
||||
|
||||
(gnc:option-set-value acct-op acct)
|
||||
(if (not (string-null? title))
|
||||
(gnc:option-set-value title-op title))
|
||||
(gnc:option-set-value zero-op show-zeros?)
|
||||
(gnc:make-report receivables-aging-guid options)))
|
||||
|
||||
(define (gnc:receivables-report-create-internal
|
||||
account split query journal? double? title
|
||||
debit-string credit-string)
|
||||
(receivables-report-create-internal account "" #f))
|
||||
|
||||
(gnc:register-report-hook ACCT-TYPE-RECEIVABLE #f
|
||||
gnc:receivables-report-create-internal)
|
||||
|
||||
(export receivables-report-create-internal)
|
||||
|
@ -15,10 +15,10 @@
|
||||
|
||||
;; This is implementation testing for Balance Sheet and Profit&Loss.
|
||||
|
||||
(define balance-sheet-uuid "c4173ac99b2b448289bf4d11c731af13")
|
||||
(define pnl-uuid "0b81a3bdfd504aff849ec2e8630524bc")
|
||||
(define multicol-balsheet-uuid "065d5d5a77ba11e8b31e83ada73c5eea")
|
||||
(define multicol-pnl-uuid "0e94fd0277ba11e8825d43e27232c9d4")
|
||||
(define balance-sheet-uuid "c4173ac99b2b448289bf4d11c731af13-old")
|
||||
(define pnl-uuid "0b81a3bdfd504aff849ec2e8630524bc-old")
|
||||
(define multicol-balsheet-uuid "c4173ac99b2b448289bf4d11c731af13")
|
||||
(define multicol-pnl-uuid "0b81a3bdfd504aff849ec2e8630524bc")
|
||||
|
||||
;; Explicitly set locale to make the report output predictable
|
||||
(setlocale LC_ALL "C")
|
||||
@ -540,7 +540,7 @@
|
||||
;; the following includes non-zero retained earnings of $1,270
|
||||
(set-option! multi-bs-options "General" "End Date"
|
||||
(cons 'absolute (gnc-dmy2time64 1 3 1980)))
|
||||
(set-option! multi-bs-options "General" "Period duration" #f)
|
||||
(set-option! multi-bs-options "General" "Period duration" 'disabled)
|
||||
(let ((sxml (options->sxml multicol-balsheet-uuid multi-bs-options
|
||||
"multicol-balsheet-retained")))
|
||||
(test-equal "bal-1/3/80"
|
||||
|
@ -15,7 +15,7 @@
|
||||
(use-modules (system vm coverage))
|
||||
(use-modules (system vm vm))
|
||||
|
||||
(define uuid "c146317be32e4948a561ec7fc89d15c1-new")
|
||||
(define uuid "c146317be32e4948a561ec7fc89d15c1")
|
||||
|
||||
(setlocale LC_ALL "C")
|
||||
|
||||
|
@ -14,11 +14,11 @@
|
||||
(use-modules (system vm vm))
|
||||
|
||||
(define uuid-list
|
||||
(list (cons 'employee "08ae9c2e884b4f9787144f47eacd7f44")
|
||||
(cons 'vendor "d7d1e53505ee4b1b82efad9eacedaea0")
|
||||
(cons 'customer "c146317be32e4948a561ec7fc89d15c1")
|
||||
(cons 'customer-new "c146317be32e4948a561ec7fc89d15c1-new")
|
||||
(cons 'job "5518ac227e474f47a34439f2d4d049de")))
|
||||
(list (cons 'employee "08ae9c2e884b4f9787144f47eacd7f44-old")
|
||||
(cons 'vendor "d7d1e53505ee4b1b82efad9eacedaea0-old")
|
||||
(cons 'customer "c146317be32e4948a561ec7fc89d15c1-old")
|
||||
(cons 'customer-new "c146317be32e4948a561ec7fc89d15c1")
|
||||
(cons 'job "5518ac227e474f47a34439f2d4d049de-old")))
|
||||
|
||||
(setlocale LC_ALL "C")
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user