Commit graph

2534 commits

Author SHA1 Message Date
John Wiegley
b6ff8f19d5 Transactions now verified after applying auto xacts
This way you cannot violate the balancing rules, not even by adding a
stray posting via an automated transaction.
2009-11-11 21:33:07 -05:00
John Wiegley
67c9cf134d Added --date, similar to --account and --payee
This lets you do things like store a date as the value of a tag, then
run:

  ledger --date='has_tag("Foo") ? to_date(tag("Foo")) : date' reg
2009-11-11 21:32:32 -05:00
John Wiegley
c22b8457ef Did away with the "finalizer" abstraction
This was from an earlier time, when it was intended to be used by
Python.  But it's not needed anymore.
2009-11-11 18:29:21 -05:00
John Wiegley
31f85cc803 Use ledger::string only if VERIFY_ON or BOOST_PYTHON 2009-11-11 18:02:47 -05:00
John Wiegley
a8bc4728fe Restore the Doxygen documentation build 2009-11-11 18:02:12 -05:00
John Wiegley
a034435c42 Merge branch 'next' 2009-11-11 14:45:14 -05:00
John Wiegley
f0f1b0cdfa Value.to_sequence returns a valid Python sequence 2009-11-11 04:46:38 -05:00
John Wiegley
f1b495abfe Added some missing calls to add_post 2009-11-11 04:35:18 -05:00
John Wiegley
dae24c259b Added floor() value expression function 2009-11-11 04:22:41 -05:00
John Wiegley
e8ea2d4938 Automated postings defer amount expression calculation
This allows for value expressions to be used which reference the
incoming posting, for example:

  = Income:Clients:
    (Liabilities:Taxes:VAT1)  (floor(amount) * 1)
    (Liabilities:Taxes:VAT2)  0.19

  2009/07/27 * Invoice
    Assets:Bank:Checking                           $1,190.45
    Income:Clients:ACME_Inc

The automated posting for VAT1 will use the floored amount multiplied by
a factor, while the posting for VAT2 multiples the whole amount as
before.
2009-11-11 04:22:37 -05:00
John Wiegley
afe87280e0 Added floored() and in_place_floor() methods 2009-11-11 03:39:53 -05:00
John Wiegley
4a4ff9d4b2 Value.basetype in Python returns a Value's base type 2009-11-11 02:58:06 -05:00
John Wiegley
ed9209cc27 Timeclock events now record their file position 2009-11-11 02:01:34 -05:00
John Wiegley
a4b1e7c5ab Added a --prepend-format option
This lets you, for example, debug registers that cull data from many
different sources, without having to change the basic formatting
string.  You can locate each posting's location with this:

  ledger reg --prepend-format='%-25(filename + ":" + beg_line)'
2009-11-11 02:01:24 -05:00
John Wiegley
eb772893b0 Timeclock entries can now have notes
Example of a tagged entry:

i 2009/11/01 12:00:00 Account  Payee  ; :Foo:
o 2009/11/01 13:00:00

Two spaces or a tab must separate account from payee, and payee from
note.
2009-11-11 01:17:29 -05:00
John Wiegley
b62b03335f Removed "account" as a report query keyword 2009-11-11 01:16:42 -05:00
John Wiegley
acb69193d8 Added a few missing explicit instantiations 2009-11-10 20:57:08 -05:00
John Wiegley
7d15b1ed5a Fixed automated posts not appearing in bal reports 2009-11-10 20:56:27 -05:00
John Wiegley
5bb376b3f9 Added implicit Python conversion of time_duration_t 2009-11-10 20:52:36 -05:00
John Wiegley
048845184a Added a --no-git flag to acprep 2009-11-10 18:58:32 -05:00
John Wiegley
ac885a9075 All strings passed to Python are now Unicode objects 2009-11-10 18:44:08 -05:00
John Wiegley
0ac2dc2810 Fixed an erroneous use of operator>> in textual.cc 2009-11-10 18:43:53 -05:00
John Wiegley
7cd37b1d50 Moving the #include of unistring.h into format.h 2009-11-10 18:43:38 -05:00
John Wiegley
a345f9edb7 Python Unicode objects are now handled 2009-11-10 14:20:00 -05:00
John Wiegley
91e8378f04 Fixes to Python importing; removed "hello" precommand 2009-11-10 14:16:40 -05:00
John Wiegley
5ffa987daf Merge branch 'next' 2009-11-10 12:22:19 -05:00
John Wiegley
3f638d355c In tools/push, run acprep upload from master 2009-11-10 03:55:36 -05:00
John Wiegley
8f0f6e59cc Moved automatic acprep upload call to tools/push 2009-11-10 03:44:12 -05:00
John Wiegley
2163ee0da2 Added new file relating to query_t -> predicate_t 2009-11-10 02:59:23 -05:00
John Wiegley
39532bdf35 Automated transactions now use report query syntax
This returns their behavior back very close to what 2.x accepts.
2009-11-10 02:44:16 -05:00
John Wiegley
a779751fc7 query_t objects are now convertible to predicate_t 2009-11-10 02:43:52 -05:00
John Wiegley
294bf5a83d Whitespace fix 2009-11-10 02:42:09 -05:00
John Wiegley
329a0dfcc5 Corrected the parsing of data file directives 2009-11-10 02:26:34 -05:00
John Wiegley
bf24b93818 Fixes to the value expression parser and evaluator 2009-11-10 02:26:20 -05:00
John Wiegley
f49b7b2166 If -v is used, valexpr errors are more informative 2009-11-10 02:25:49 -05:00
John Wiegley
c8013c04d4 Whitespace fix 2009-11-10 02:25:36 -05:00
John Wiegley
3e39329eff Added "bucket" directive, as alt for A 2009-11-10 01:28:57 -05:00
John Wiegley
a5f0b6e5dc account_amount() is now account().amount 2009-11-10 01:28:57 -05:00
John Wiegley
115da19121 account.amount and .total return simplified values 2009-11-10 01:28:53 -05:00
John Wiegley
16a2a16097 Support include-ing of relative pathnames 2009-11-10 01:06:04 -05:00
John Wiegley
009b257397 It's now an error to use "end" without "account" 2009-11-10 01:05:44 -05:00
John Wiegley
09c9ec4b41 Directives no longer require @ or ! prefix char 2009-11-10 01:05:12 -05:00
John Wiegley
c927c74c2d Throw an exception if an include file doesn't exist 2009-11-10 00:30:09 -05:00
John Wiegley
687c71c71d Improved the numerical parser for basic amounts
1,00,000 now causes an error, for example, whereas before the commas
were largely ignored.
2009-11-10 00:10:25 -05:00
John Wiegley
5f01659b1c Fix for automated amount multipliers and null amounts 2009-11-09 22:03:12 -05:00
John Wiegley
35a2873186 Added acprep upload step if daily proofing succeeds 2009-11-09 17:16:45 -05:00
John Wiegley
9e07e61fad Fix to the XML code for ICU users 2009-11-09 14:05:01 -05:00
John Wiegley
865c0ff828 Merge branch 'next' 2009-11-09 13:25:45 -05:00
John Wiegley
9b396b4122 Update the FAQ in README-1ST 2009-11-09 03:46:10 -05:00
John Wiegley
6cdb79e2a6 XML reporting now works via the "xml" command 2009-11-09 03:42:35 -05:00