--On March 2, 2006 11:22:41 AM -0800 Andrew Sackville-West <[EMAIL PROTECTED]> wrote:

3. should properly exchange currencies, provided there is  proper
multi-currency pricedb. I don't use multiple currencies and frankly,
don't understand them well, so it needs testing in this regard. If
someone could provide a properly setup test file with multiple
currencies, stock buys and sells etc., I would be grateful.

We're getting our house painted so I don't have a lot of time to work on this right now, but I took a quick look. It looks pretty good, but there are few problems still. Here are a few things I noticed from reading the code.

The setting of ugain around line 461 isn't correct if "currency" and "commod-currency" aren't the same since "value" is in commod-currency and you're forcing ugain to be in currency without doing any conversion. You need to use exchange-fn for this.

Around line 509 you're using getpair to get the value in "currency" from "moneyincoll" which won't work. This will only get the value that happens to already be in that currency (if any) and will ignore all the values in other currencies. You need to use gnc:sum-collector-commodity to get the value in the right currency. You already have the negative of this value in "moneyin" set around line 456 so you probably just need to change line 509 to use (gnc:gnc-monetary-amount moneyin).

It looks to me like sum-total-gain and sum-total-ugain are both monetary amounts (in spite of the fact that they are initialized to gnc:numeric-zero) but sum-total-both-gains is a numeric value. This probably works, but is confusing (assuming I'm reading the code right).

You're using getpair around line 674 to get the value in "currency" from "total-moneyin". This needs to use something like

(gnc:gnc-monetary-amount
 (gnc:sum-collector-commodity total-moneyin currency exchange-fn))

I have a simple file that could be used to test this, but it's a bit too simple since it doesn't have enough transactions to test many of the features of this report. I'll try to beef it up a little bit and send you a copy if you want.

--
Mike Alexander           [EMAIL PROTECTED]
Ann Arbor, MI            PGP key ID: BEA343A6


_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to