Looking through the IRC history, I see carol bringing up scheduled
transactions...

Yes, I'm working on it, though slowly, and no, it won't hit 1.6 [whenever
that will be [?]].

But, in lieu of a patch, which I haven't done before and am not quite ready
for [I want to add a src/tests/ module for the frequency specification
object [at least]], I figured I should update the world about the status
of scheduled transactions.

I've created two new engine objects: FreqSpec and SchedXaction.
These are, respectively, for frequency specification [including the
user's/user-interface idea of frequency, which may be different from the
more simplified internal representation of the frequency] and the actual
scheduled transaction.  I've modified GNCBook to include a list of the
scheduled transaction, but due to some XML I/O problems I haven't had
time to diagnose, they aren't yet saved.

I've created some new gnome UI components, including a scheduled transaction
list, a scheduled transaction editor, and a frequency-specification
widget [which the editor uses].  The list is just that: presently simply
a list of upcoming scheduled transactions.  The editor allows editing of
a scheduled transaction, including the name start/end dates [or number
of occurances], the frequency, and the template transaction which will
be instantiated when the scheduled transaction comes due next...

Attached are screenshots of the scheduled transaction list [accessible
via the Tools | Scheduled Transactions menu item], and the editor for
a single scheduled transaction [in this case a monthly-recurring "Rent"
transaction].  I've also included a sub-capture of the frequency-selection
widget for a semi-monthly expense...

There are a set of changes I'm planning on making from the attached
screenshots:

. The frequency-selection notebook tabs will be replaced by an option menu,
  which better indicates the mutual-exclusivity of frequency selection.

. The scheduled transaction list will have a calendar widget next to the
  list that will show upcoming transactions.  This calendar widget will
  need to be created from scratch. :(

Outstanding issues to solve include:

. Major modification to the register widget enabling a "template mode",
  in which account data is stored in a kvp_data structure, so that engine
  policies regarding the validity of Splits's Transaction values are not
  violated [as per my conversations in #gnucash with dave_p].

. How to allow multiple template register types for a single scheduled
  transaction.  Maybe it's the case that for such instances [I think of
  a "paycheck" transaction in which some subset of the paycheck goes to
  purchase stock/MF shares, or something], multiple scheduled transactions
  are required.

. How to allow the user to create novel "composite" frequency
  specifications.  I think we just punt on this for a while...

. How to allow user specification of the amounts of template transactions.

At some point [once the frequency specification "getNextInstance" code is
proved to work [it seems to now, but really wants a test program because
of the number of variations]], it should be relatively easy to modify the
account register to show upcoming scheduled transactions in that account
within a user-defined window of time.

In any case, I hope to have a patch out once that test program is
written... maybe sometime this weekend.

I'm curious about the state of 1.6.  If it's coming soon, I'll delay
a patch until it's done and the patch can more easily be applied to
CVS... otherwise, I'll get it out this weekend...?

...jsled

20010315-editor_rent.png

20010315-list.png

20010315-freqsel_paycheck.png

Reply via email to