* src/report/standard-reports/advanced-portfolio.scm:

Applied Frank Pavageau's patch regarding capital gains to
	handle split transactions.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@9681 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
Derek Atkins 2003-11-14 16:36:53 +00:00
parent 5c222eef22
commit bd038f52ea
2 changed files with 28 additions and 20 deletions

View File

@ -1,3 +1,9 @@
2003-11-14 Derek Atkins <derek@ihtfp.com>
* src/report/standard-reports/advanced-portfolio.scm:
Applied Frank Pavageau's patch regarding capital gains to
handle split transactions.
2003-10-26 David Hampton <hampton@employees.org>
* src/engine/qofid.[ch]: Fix another crash caused by qof changes.

View File

@ -176,27 +176,29 @@
(lambda (s)
(cond
((same-split? s split)
(unitscoll 'add commodity (gnc:split-get-amount s)) ;; Is the stock transaction?
;; (gnc:debug "amount" (gnc:numeric-to-double (gnc:split-get-amount s)) )
(if (< 0 (gnc:numeric-to-double
(gnc:split-get-amount s)))
(set! totalunits
(+ totalunits
(gnc:numeric-to-double (gnc:split-get-amount s)))))
(set! totalunityears
(+ totalunityears
(* (gnc:numeric-to-double (gnc:split-get-amount s))
(gnc:date-year-delta
(car (gnc:transaction-get-date-posted parent))
(current-time)))))
(cond
((gnc:numeric-negative-p (gnc:split-get-value s))
(moneyoutcoll
'add currency
(gnc:numeric-neg (gnc:split-get-value s))))
(else (moneyincoll
'add currency
(gnc:numeric-neg (gnc:split-get-value s))))))
(cond
((not (gnc:numeric-zero-p (gnc:split-get-amount s)))
(unitscoll 'add commodity (gnc:split-get-amount s)) ;; Is the stock transaction?
(if (< 0 (gnc:numeric-to-double
(gnc:split-get-amount s)))
(set! totalunits
(+ totalunits
(gnc:numeric-to-double (gnc:split-get-amount s)))))
(set! totalunityears
(+ totalunityears
(* (gnc:numeric-to-double (gnc:split-get-amount s))
(gnc:date-year-delta
(car (gnc:transaction-get-date-posted parent))
(current-time)))))
(cond
((gnc:numeric-negative-p (gnc:split-get-value s))
(moneyoutcoll
'add currency
(gnc:numeric-neg (gnc:split-get-value s))))
(else (moneyincoll
'add currency
(gnc:numeric-neg (gnc:split-get-value s))))))))
((split-account-type? s 'expense)
(brokeragecoll 'add currency (gnc:split-get-value s)))