Multi currency discussion cont'd

Derek Atkins warlord@MIT.EDU
02 Jan 2003 10:20:04 -0500


Christian Stimming <stimming@tuhh.de> writes:

> >> What you want to do is "Edit Exchange Rate".  Select the transaction
> >> you need to change and then click on Actions -> Edit Exchange Rate.
> >> Then change the exchange rate to what you need it to be.  This will do
> >> what you want to do -- change the ratio between the "amount" and the
> >> "value".
> >>
> > Now, this is exactly what I assumed gnucash was doing. However, my
> > point is exactly that when the user specifies the transaction using
> > the "To amount" method, he is really saying that it is not the
> > exchange rate but the exact amount that matters. So when gnucash
> > makes a "translation" of an amount relation to an exchange rate and
> > then uses that for all subsequent recalculations, my opinion is that
> > the spirit of the "To amount" method is violated.

The problem here is that when you are editing an expanded transaction
you NECESSARILY are editing JUST THAT SPLIT.  Why should it edit the
OTHER split when I'm in an expanded transaction?  Indeed, if I change
the amount of a split in an expanded txn I certainly do NOT expect it
to automatically change the amount in any other split.  Why should the
exchange rate modification be any different?

The confusion here is what "to amount" is really doing, so perhaps we
need to relabel the dialog.

However, I do think I understand what you are saying.  You want the
"visible" amount of the current split to remain the same when you
change the exchange rate.  In other words, you want the same effect as
when you touch the debcred cell AND change the exchange rate, but
without having to touch the debcred cell, right?

What I think needs to happen here is that if you change the
exchange-rate you also need to flag the debcred cell as modified (or
at least the same code needs to be run).

> I agree with Jan on this point. I'd like to point out that this sort
> of thing was easily been achieved in the currency-account's (and stock
> account) register. In the currency-account register, you changed one
> out of the three things: from-amount, rate, to-amount, and the
> register then asked you which of the others should be adapted, in
> order to arrive at a balanced transaction.

That works fine for two-split transactions but does not scale to
three-split (or even three-currency) transactions.

> Actually we might need a dialog just like that, or maybe an additional
> radio button group in the multi-currency txn dialog: "Which part of
> this transaction should be recalculated? From-Amount [in this
> account], Price, To-Amount [in the other account]" or similar.

I disagree.  The reason I disagree is that in an expanded transaction
a split has exactly TWO values, the "amount" and the "value".  The
exchange-rate dialog provides two ways to achieve this, becuase you
either know the price or you know the to amount.

You cannot edit the amount in the exchange-rate dialog, which means
you necessarily have two ways to achieve one value, so there is no
confusion.  The confusion here was somewhat on my part in how I modify
the split/txn when you change the exchange rate.

> The point here about the design of the new multi-currency model is
> that the above action was easily achievable, since every
> multi-currency transaction went into an intermediate currency-account
> and thus offered the GUI for these changes (in the currency-account
> register). Now that we don't require the intermediate currency-account
> any longer, we still need to provide possibilities to achieve the
> above actions. That's what this discussion (and my request for the
> release delay) is about.

Oh, well, you _CAN_ achieve it now, with the current behavior.  I've
explained how you do it, but I will do it again:

As per bug 102161, open the account as suggested, and also open the
jump account to wait the other side.  Make sure you're in expanded
mode (as suggested in the bug report), 'touch' the amount field (edit
it -- delete the '10' and then re-insert '10'), bring up the exchange
dialog, change the to-amount to '7', click ok, then "enter" the
transaction.

Is this the behavior you are looking for?
Is this the behavior that should happen ALL the time?

> Christian

-derek

-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
       warlord@MIT.EDU                        PGP key available