r18666 - gnucash/trunk/src/business/business-reports - Bug #564380 Payment on bills doubles bill
Geert Janssens
gjanssens at code.gnucash.org
Wed Feb 17 05:51:10 EST 2010
Author: gjanssens
Date: 2010-02-17 05:51:10 -0500 (Wed, 17 Feb 2010)
New Revision: 18666
Trac: http://svn.gnucash.org/trac/changeset/18666
Modified:
gnucash/trunk/src/business/business-reports/invoice.scm
Log:
Bug #564380 Payment on bills doubles bill
Patch by Mike Evans
Modified: gnucash/trunk/src/business/business-reports/invoice.scm
===================================================================
--- gnucash/trunk/src/business/business-reports/invoice.scm 2010-02-17 08:53:13 UTC (rev 18665)
+++ gnucash/trunk/src/business/business-reports/invoice.scm 2010-02-17 10:51:10 UTC (rev 18666)
@@ -388,15 +388,31 @@
(define (add-payment-row table used-columns split total-collector)
(let* ((t (xaccSplitGetParent split))
(currency (xaccTransGetCurrency t))
- ;; XXX Need to know when to reverse the value
+ (invoice (opt-val invoice-page invoice-name))
+ (owner '())
(amt (gnc:make-gnc-monetary currency (xaccSplitGetValue split)))
(payment-style "grand-total")
(row '()))
+
+ ; Update to fix bug 564380, payment on bill doubles bill Mike Evans <mikee at saxicola.co.uk>
+ ;; Reverse the value when needed
+ (if (not (null? invoice))
+ (begin
+ (set! owner (gncInvoiceGetOwner invoice))
+ (let ((type (gncOwnerGetType
+ (gncOwnerGetEndOwner owner))))
+ (cond
+ ((eqv? type GNC-OWNER-CUSTOMER)
+ (total-collector 'add
+ (gnc:gnc-monetary-commodity amt)
+ (gnc:gnc-monetary-amount amt)))
+ ((eqv? type GNC-OWNER-VENDOR)
+ (total-collector 'add
+ (gnc:gnc-monetary-commodity amt)
+ (gnc:gnc-monetary-amount (gnc:monetary-neg amt))))
+ ))))
+
- (total-collector 'add
- (gnc:gnc-monetary-commodity amt)
- (gnc:gnc-monetary-amount amt))
-
(if (date-col used-columns)
(addto! row
(gnc-print-date (gnc-transaction-get-date-posted t))))
More information about the gnucash-changes
mailing list