Commit graph

640 commits

Author SHA1 Message Date
John Wiegley
ecdc02c5d3 (class entry_base_t): Added beg_line' and end_line' members. 2008-04-13 02:41:13 -04:00
John Wiegley
368549f76d (export_journal): Added basket' member for journals, and beg_line'
and `end_line' for entries (for Python).
2008-04-13 02:41:13 -04:00
John Wiegley
13524610c9 Record the beginning/ending line and position of entries parsed within
Gnucash files.
2008-04-13 02:41:13 -04:00
John Wiegley
b5726ac831 (struct element_t): Added BEG_LINE and END_LINE. 2008-04-13 02:41:12 -04:00
John Wiegley
f851642347 (parse_elements): The format codes %b and %e can be used to display
the beginning and ending line numbers of an entry.  (format): Output
beginning and ending line for BEG_LINE and END_LINE types.
2008-04-13 02:41:12 -04:00
John Wiegley
529604b204 Updated binary version number. (read_binary_entry_base): Read in
beginning and ending line information for each entry.
(write_binary_entry_base): Write out beginning and ending line
information for each entry.
2008-04-13 02:41:12 -04:00
John Wiegley
a10f3f02e7 (parse): Allow "-$100.00" as the equivalent of "$-100.00". 2008-04-13 02:41:12 -04:00
John Wiegley
a2015ee510 *** empty log message *** 2008-04-13 02:41:12 -04:00
John Wiegley
155685657f *** empty log message *** 2008-04-13 02:41:12 -04:00
John Wiegley
f05ef1085a (parse_inline_math): Parse amounts that use any
of ()/*+- as "inline math".  This causes "$100.00 * 20" to be
turned into the equivalent value expression "({$100.00} * {20})".
It is a shorthand, at the expense of a little textual parsing
speed.
(parse_amount): Call `parse_inline_math' if appropriate.
(parse_entry): Support transactions that follow immediately after
the payee name, separated by two or more spaces.  This makes it
possible -- when a basket account is being used -- to list off
entry transactions one per line.
(parse): Allow a basket account to be specified using the syntax
"A ACCOUNT".  From that point on in the file, any single
transactions entries will be balanced against that account.
2008-04-13 02:41:12 -04:00
John Wiegley
6ecec7eb1e (parse): Removed an unnecessary line of code. 2008-04-13 02:41:12 -04:00
John Wiegley
69881ae385 (chain_xact_handlers): When budgeting and forecasting are being used,
never update the binary cache (and don't create one if none was
there).  This is because certain intermediary accounts get created
during generation of these reports, which should never be recorded in
the cache as actual accounts.  Also, run the account filter both
before and after the budgeting and forecasting filters, to ensure that
only the accounts the user is interested in get included in the
report.
2008-04-13 02:41:12 -04:00
John Wiegley
62eb99ec5a (Budgeting and forecasting): Added a transaction to the example, to
show that budgeting transactions needn't be exact.
2008-04-13 02:41:12 -04:00
John Wiegley
86941556b8 (class journal_t): Added a "basket" account member, which if set is
the account to which all single-transaction entries are balanced.
2008-04-13 02:41:12 -04:00
John Wiegley
5175fdcd6c (finalize): If a "basket" account is being used,
balance single transaction entries into it.  Also, fixed two entry
balancing issues.
(finalize): If a "catch all" transaction (a transaction with no
amount) is present in an entry, it will now balance all unbalanced
quantities in the entry.  Before its use was much more restricted.
(journal_t::add_entry): Set the "journal" pointer before calling
the finalize hooks, so that the finalizers have access to the
proposed journal the entry wishes to be added to (if it fails, the
pointer is cleared).
2008-04-13 02:41:11 -04:00
John Wiegley
81e4851a6c Updated binary file version. (read_binary_journal): Read in the
"basket" account, if used.  (write_binary_journal): Write out the
"basket" account, if used.
2008-04-13 02:41:11 -04:00
John Wiegley
75f110f842 *** empty log message *** 2008-04-13 02:41:11 -04:00
John Wiegley
fdf73faff7 (parse): Accept CX as well as C*. Also, general improvements to Bank
type parser.
2008-04-13 02:41:11 -04:00
John Wiegley
6d14952e1e *** empty log message *** 2008-04-13 02:41:11 -04:00
John Wiegley
e9ea090035 (ledger-do-reconcile): Only allow toggling of reconcilation entries
that are found in the "main" ledger file (for now).
2008-04-13 02:41:11 -04:00
John Wiegley
b800e4e2f8 (parse): The src_idx field on journal entries was being set
incorrectly.
2008-04-13 02:41:11 -04:00
John Wiegley
889014dedc Increased binary file version number. 2008-04-13 02:41:11 -04:00
John Wiegley
600eb3f2e6 *** empty log message *** 2008-04-13 02:41:11 -04:00
John Wiegley
7109c9234e (parse): Parse price database entries using the fixed date format
"%Y/%m/%d %H:%M:%S".
2008-04-13 02:41:11 -04:00
John Wiegley
bff42f702a Added input_format' array, and made formats' external. 2008-04-13 02:41:10 -04:00
John Wiegley
6d7827af5a Added --input-date-format, which affects how dates in textual and QIF
files are parsed -- but not the dates inside a price database, whose
format is fixed.
2008-04-13 02:41:10 -04:00
John Wiegley
cc38fc235f *** empty log message *** 2008-04-13 02:41:10 -04:00
John Wiegley
c15c053787 *** empty log message *** 2008-04-13 02:41:10 -04:00
John Wiegley
0185e53b99 Separate out the arguments, to be more compatible. 2008-04-13 02:41:10 -04:00
John Wiegley
3797cb1ad9 (amount_t::parse): Only set the SUFFIXED flag if there is actually a
commodity symbol.
2008-04-13 02:41:10 -04:00
John Wiegley
65bfc5756c (qif_parser_t::parse): Propogate commodity flags when parsing amounts
from a QIF file.
2008-04-13 02:41:10 -04:00
John Wiegley
e42c5c794f *** empty log message *** 2008-04-13 02:41:10 -04:00
John Wiegley
9dbfd484ca *** empty log message *** 2008-04-13 02:41:10 -04:00
John Wiegley
c8bbbf3f9c (sort_transactions::post_accumulated_xacts): Created this function so
that interval_transactions has a way to post sorted xacts without
calling flush().
2008-04-13 02:41:10 -04:00
John Wiegley
f8b45d534a *** empty log message *** 2008-04-13 02:41:09 -04:00
John Wiegley
e8e8fbe3d5 *** empty log message *** 2008-04-13 02:41:09 -04:00
John Wiegley
688f572ffd (clock_out_from_timelog): If a timelog file is left "open", clock out
at the present time.
2008-04-13 02:41:09 -04:00
John Wiegley
282414d2f6 Whitespace changes. 2008-04-13 02:41:09 -04:00
John Wiegley
ce7da4cec1 (first): Use std::localtime instead of std::gmtime. (increment): Use
std::localtime instead of std::gmtime.
2008-04-13 02:41:09 -04:00
John Wiegley
577767ea58 Use std::localtime instead of std::gmtime. 2008-04-13 02:41:09 -04:00
John Wiegley
357abd0f6e *** empty log message *** 2008-04-13 02:41:09 -04:00
John Wiegley
0fdc3d67b6 (ledger-do-reconcile): If no output at all is generated by the "emacs"
command, do not trigger a Lisp error.
2008-04-13 02:41:09 -04:00
John Wiegley
5bc7f5d057 *** empty log message *** 2008-04-13 02:41:09 -04:00
John Wiegley
774d9860d8 *** empty log message *** 2008-04-13 02:41:09 -04:00
John Wiegley
2d4fc10ca4 (parse_transaction): If an account name matches an alias definition,
use the aliased account.
(parse): Added an "!alias ALIAS = ACCOUNT" directive, to make it
easier to manage long account names in a textual ledger file.
2008-04-13 02:41:09 -04:00
John Wiegley
7252b8a6cd updated binary version number 2008-04-13 02:41:08 -04:00
John Wiegley
3b7d4f172d *** empty log message *** 2008-04-13 02:41:08 -04:00
John Wiegley
1b18fd8a54 (quick_parse_date): Add 1900 to now_year, to counter the subtraction
that will occur in parse_date.
2008-04-13 02:41:08 -04:00
John Wiegley
46af400098 *** empty log message *** 2008-04-13 02:41:08 -04:00
John Wiegley
6adc5e7518 (quick_parse_date): [1178218] Fixed date problem by avoiding an
optimization that was being used before for the sake of the textual
parser.
2008-04-13 02:41:08 -04:00