Commit graph

1723 commits

Author SHA1 Message Date
John Wiegley
ce8442a30d Rewrote how the balance command displays accounts
The previous method bent over backwards to try and avoid multiple passes
through the account tree, but the result was a horribly complicated mess
that never ceased to dredge up obscure bugs.  The new scheme is a very,
very simple two-pass algorithm, with multiple subpasses during the
second pass for refining the output based on the report options.
2009-02-17 04:49:10 -04:00
John Wiegley
7dc6e6f109 Added a new tools/build utility script 2009-02-17 04:34:21 -04:00
John Wiegley
a3276ae491 Fixed a typo. 2009-02-16 21:29:20 -04:00
John Wiegley
e6934fbd3c Removed an unused extended account xdata flag 2009-02-16 21:23:12 -04:00
John Wiegley
e3b44038b3 Moved format_accounts::should_display out of line 2009-02-16 21:00:30 -04:00
John Wiegley
db0689f547 Added a "commodity" valexpr variable for xacts 2009-02-16 20:56:50 -04:00
John Wiegley
72cdb41727 Added new --set-acount and --set-payee options
These fully generalize the previous --payee-as-account and such options,
which, for example, is now implemented to be the same as saying,
"--set-account payee".
2009-02-16 20:50:20 -04:00
John Wiegley
15bfeb3cb1 Added several new reporting options
To help with gathering specific reports:

 - --payee-as-account copies the entry's payee field to the account,
   allowing the subtotal report to show unique payees for each period.
 - --comm-as-account copies the transaction's amount's commodity to the
   account.
 - --code-as-account copies the entry's code to the account

Also created aliases for some of these options, for conistency's sake:

 - --commodity-as-payee is now an alias for --comm-as-payee
 - --commodity-as-account is now an alias for --comm-as-account
2009-02-16 18:11:23 -04:00
John Wiegley
053ecc9366 Fixed a possible problem with xact_t::date() 2009-02-16 18:06:30 -04:00
John Wiegley
2a79d2d3bd Increase amount of warnings reported with --pch 2009-02-16 17:33:29 -04:00
John Wiegley
5dc8f6bccb Report better errors if options are missing args 2009-02-16 17:30:34 -04:00
John Wiegley
b7f2a95c1f Accept --first/--last as synonyms for --head/--tail 2009-02-16 17:25:19 -04:00
John Wiegley
275da22752 Fixed the --head and --tail options 2009-02-16 17:17:57 -04:00
John Wiegley
bc2983928d Compilation verification code only with debugging
Previously, --verify would work even if the sources were built with
default options.  However, in the interests of performance, --verify is
now only available if --enable-debug was passed to configure.
2009-02-16 17:15:52 -04:00
John Wiegley
5e1870e259 Added --args-only flags, to ignore init and env 2009-02-16 16:57:32 -04:00
John Wiegley
d0a664d102 Fixed several unused value and param warnings 2009-02-16 16:55:18 -04:00
John Wiegley
32e2d58d43 Simplified the stats command 2009-02-16 05:03:04 -04:00
John Wiegley
89c01e74e6 Made "stat" a synonym for the "stats" command 2009-02-16 04:51:23 -04:00
John Wiegley
479ac0ce36 Fleshed out the "stats" command 2009-02-16 04:50:11 -04:00
John Wiegley
1aff6ec01d Abort journal parsing if Control-C is caught 2009-02-16 04:16:20 -04:00
John Wiegley
4365d9e3fc Moved around some functions for clarity 2009-02-16 04:10:22 -04:00
John Wiegley
aa69b273de Changed some value_t method names
- simplify -> simplified
 - cast -> casted

This is to differentiate them from in_place_cast and in_place_simplify.
2009-02-16 04:00:01 -04:00
John Wiegley
4de2f50818 Always print zero amounts as "0" 2009-02-16 03:46:52 -04:00
John Wiegley
1aeb5e5997 acprep now uses ccache for --devel if available 2009-02-16 03:16:12 -04:00
John Wiegley
b5a972d1a0 The -n option for bal command is working again
The fix was that when appending new predicates, enclosed both sides of
the AND with parentheses.
2009-02-16 02:51:09 -04:00
John Wiegley
e3b40f5bb6 Fixed how subtotal date ranges are computed 2009-02-16 02:31:21 -04:00
John Wiegley
4dbd124e22 Revert "Propagate xact effective date in two places"
This reverts commit 17a0ab8407.
2009-02-16 02:16:34 -04:00
John Wiegley
17a0ab8407 Propagate xact effective date in two places 2009-02-16 01:19:59 -04:00
John Wiegley
be208ef260 Report collapsed xacts using earliest date 2009-02-16 01:14:23 -04:00
John Wiegley
f8681e482e Print <POINTER> if value_t::is_pointer() 2009-02-16 01:11:31 -04:00
Drew Raines
6ccc466a08 Move tags to xacts instead of entries. 2009-02-15 23:27:33 -04:00
John Wiegley
8c2a70e197 Made several of the filters more context aware
This resolves certain issues where value expressions were not being
looked up within their full context.
2009-02-15 23:00:16 -04:00
John Wiegley
14ffc2b31a Don't apply all filters for account-wise reports
This creates its own problems; instead, only most are used.
2009-02-15 22:57:23 -04:00
John Wiegley
e32129b25c Provide a "depth" variable for xacts 2009-02-15 22:36:12 -04:00
John Wiegley
e8c90ef96f If an account's "total" is empty, return 0 2009-02-15 22:34:10 -04:00
John Wiegley
503a96034e Added account(_base) accessors to account_t 2009-02-15 21:48:22 -04:00
John Wiegley
a64a069a77 Print stripped amounts in the print report 2009-02-15 21:27:28 -04:00
John Wiegley
780ce4a5d0 Normalized handling of several report options 2009-02-15 21:14:54 -04:00
John Wiegley
484b498c14 Re-enabled the --format (-F) option 2009-02-15 21:08:36 -04:00
John Wiegley
e861c312ac The "xact" variable now returns null for accounts 2009-02-15 21:05:59 -04:00
John Wiegley
bfa6a643a1 Improved handling of --empty option
For example, in period reports null transactions are only generated for
empty periods if --empty is used.  Otherwise, the presence of such
transactions can get confusing.
2009-02-15 20:59:13 -04:00
John Wiegley
78e57ac4cf item_predicate now operates on scope_t
This means item_predicate is no longer a template.
2009-02-15 20:56:48 -04:00
John Wiegley
5d4ac67920 chain_xact_handlers now always operators the same
Previously, account-wise reports used a subset of the total number of
transaction filters, but this could cause confusing results, and made
some reports immpossible (such as account-wise monthly averages).
2009-02-15 20:45:09 -04:00
John Wiegley
cb6b6e8b67 acprep doesn't call out to git if it's not there 2009-02-15 20:33:18 -04:00
John Wiegley
24935ab40c Updated myacprep to allow a --output argument 2009-02-15 20:29:46 -04:00
John Wiegley
caeb336176 The format code %C is now equal to %(fmt_C) 2009-02-15 19:53:38 -04:00
John Wiegley
5516a7ddb5 Removed an unused function 2009-02-15 19:49:05 -04:00
John Wiegley
e199e3863c Fixed a call to value_t::cast to use in_place_cast 2009-02-15 19:44:45 -04:00
John Wiegley
a1e1133c80 Whitespace fixes 2009-02-15 19:43:46 -04:00
John Wiegley
2ec9b6a7b2 Split up session_t::reread_journal_files()
You now call session_t::close_journal_files() followed by
session_t::read_journal_files().
2009-02-15 19:32:15 -04:00