This changes showMixedAmountElided so that the width to elide to is given as an argument, rather than fixed at 22 characters. This actually uses the new renderTable interface. Mostly this is just an internal change, but since we have more information about the widths of things, we can actually get rid of some superfluous spaces in the budget report output, previously there to make sure it stayed aligned with the largest reasonable contents.
		
			
				
	
	
		
			634 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			634 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # http://hledger.org/journal.html#market-prices
 | |
| # http://hledger.org/hledger.html#market-value
 | |
| 
 | |
| # 1. Market prices are ignored by -B.
 | |
| <
 | |
| P 2011/01/01 € $1.35
 | |
| 
 | |
| 2011/01/01
 | |
|     expenses:foreign       €100
 | |
|     assets
 | |
| 
 | |
| $ hledger -f- bal -NB
 | |
|                €-100  assets
 | |
|                 €100  expenses:foreign
 | |
| 
 | |
| 
 | |
| # 2. Market prices are used by bal -V. 
 | |
| # Market prices for other commodities are not used.
 | |
| # Nor are transaction prices.
 | |
| <
 | |
| P 2011/01/01 € $1.35
 | |
| P 2011/01/01 GBP $1.35
 | |
| 
 | |
| 2011/01/01
 | |
|     (expenses:foreign)       €100 @ $1.20
 | |
| 
 | |
| $ hledger -f- bal -N -V
 | |
|              $135.00  expenses:foreign
 | |
| 
 | |
| 
 | |
| # 3. The location of price directives does not matter.
 | |
| # If multiple directives have the same date, the last parsed is used.
 | |
| <
 | |
| 3000/01/01
 | |
|   (a)    $100
 | |
| 
 | |
| P 2000/1/1 $ €1.35
 | |
| 
 | |
| 3000/03/03
 | |
|   (b)    $100
 | |
| 
 | |
| P 2000/1/1 $ €1.30
 | |
| 
 | |
| $ hledger -f- bal -N -V a
 | |
|              €130.00  a
 | |
| 
 | |
| 
 | |
| # 4. Market prices in the future are ignored when the valuation date
 | |
| # is today, which is the default with -V. #453, #683
 | |
| <
 | |
| P 2000/1/1 $ €1.20
 | |
| P 3000/1/1 $ €1.30
 | |
| 
 | |
| 3000/01/01
 | |
|   (a)    $100
 | |
| 
 | |
| $ hledger -f- bal -N -V
 | |
|              €120.00  a
 | |
| 
 | |
| 
 | |
| # 5. Market prices in the future are not ignored when they are before
 | |
| # the valuation date set with an explicit report end date, as in 
 | |
| # hledger 1.14 and older, and Ledger. See also valuation2.test, #1083
 | |
| <
 | |
| P 3000/1/1 $ €1.10
 | |
| 
 | |
| 3000/01/01
 | |
|   (a)    $100
 | |
| 
 | |
| $ hledger -f- bal -N -V -e 3000/2
 | |
|              €110.00  a
 | |
| 
 | |
| 
 | |
| # 6. Market prices interact with D directives and with amount style canonicalisation. #131
 | |
| <
 | |
| 
 | |
| D 1000.00 H                ; declare a default commodity named H
 | |
| 
 | |
| P 2015/08/15 EEEE  41.66   ; default commodity H is used for these market prices
 | |
| P 2015/08/15 FFFF  74.62
 | |
| P 2015/08/15 GGGG  32.39
 | |
| 
 | |
| 2015/08/15
 | |
|     a  2.4120 EEEE @@ 100  ; default commodity H is used for these transaction prices
 | |
|     a  0.3350 FFFF @@ 25
 | |
|     a  0.7718 GGGG @@ 25
 | |
|     b                      ; implicit balancing amount is in the cost commodity, H
 | |
| 
 | |
| $ hledger -f- balance -V
 | |
|             150.48 H  a
 | |
|            -150.00 H  b
 | |
| --------------------
 | |
|               0.48 H
 | |
| 
 | |
| 
 | |
| # 7. register -V affects posting amounts and total.
 | |
| <
 | |
| P 2000/1/1 $ €1.20
 | |
| 2000/1/1
 | |
|   (a)    $100
 | |
| 
 | |
| $ hledger -f- reg -V
 | |
| 2000-01-01                      (a)                        €120.00       €120.00
 | |
| 
 | |
| 
 | |
| # 8. print -V affects posting amounts but not balance assertions.
 | |
| <
 | |
| P 2000/1/1 $ €1.20
 | |
| 2000/1/1
 | |
|   (a)    $100 = $100
 | |
| 
 | |
| $ hledger -f- print -V
 | |
| 2000-01-01
 | |
|     (a)         €120.00 = $100
 | |
| 
 | |
| >=0
 | |
| 
 | |
| # --value tests
 | |
| 
 | |
| <
 | |
| P 2000/01/01 A  1 B
 | |
| P 2000/01/15 A  5 B
 | |
| P 2000/02/01 A  2 B
 | |
| P 2000/03/01 A  3 B
 | |
| P 2000/04/01 A  4 B
 | |
| 
 | |
| 2000/01/01
 | |
|   (a)      1 A @ 6 B
 | |
| 
 | |
| 2000/02/01
 | |
|   (a)      1 A @ 7 B
 | |
| 
 | |
| 2000/03/01
 | |
|   (a)      1 A @ 8 B
 | |
| 
 | |
| # print
 | |
| 
 | |
| # 9. print costs using transaction prices
 | |
| $ hledger -f- print --value=cost
 | |
| 2000-01-01
 | |
|     (a)             6 B
 | |
| 
 | |
| 2000-02-01
 | |
|     (a)             7 B
 | |
| 
 | |
| 2000-03-01
 | |
|     (a)             8 B
 | |
| 
 | |
| >=0
 | |
| 
 | |
| # 10. print value using market prices on each transaction's (posting's) date
 | |
| $ hledger -f- print --value=then
 | |
| 2000-01-01
 | |
|     (a)             1 B
 | |
| 
 | |
| 2000-02-01
 | |
|     (a)             2 B
 | |
| 
 | |
| 2000-03-01
 | |
|     (a)             3 B
 | |
| 
 | |
| >=0
 | |
| 
 | |
| # 11. print value using prices on last day of report period (2000-02-29)
 | |
| $ hledger -f- print --value=end date:2000/01-2000/03
 | |
| 2000-01-01
 | |
|     (a)             2 B
 | |
| 
 | |
| 2000-02-01
 | |
|     (a)             2 B
 | |
| 
 | |
| >=0
 | |
| 
 | |
| # 12. print value using prices on last day of report period (no period specified)
 | |
| # specified - uses last day of journal (2000-03-01)
 | |
| $ hledger -f- print --value=end
 | |
| 2000-01-01
 | |
|     (a)             3 B
 | |
| 
 | |
| 2000-02-01
 | |
|     (a)             3 B
 | |
| 
 | |
| 2000-03-01
 | |
|     (a)             3 B
 | |
| 
 | |
| >=0
 | |
| 
 | |
| # 13. print value using prices on a specified date
 | |
| $ hledger -f- print --value=2000-01-15
 | |
| 2000-01-01
 | |
|     (a)             5 B
 | |
| 
 | |
| 2000-02-01
 | |
|     (a)             5 B
 | |
| 
 | |
| 2000-03-01
 | |
|     (a)             5 B
 | |
| 
 | |
| >=0
 | |
| 
 | |
| # 14. print value using prices today
 | |
| # (assuming today's date is >= 2000-04-01)
 | |
| $ hledger -f- print --value=now
 | |
| 2000-01-01
 | |
|     (a)             4 B
 | |
| 
 | |
| 2000-02-01
 | |
|     (a)             4 B
 | |
| 
 | |
| 2000-03-01
 | |
|     (a)             4 B
 | |
| 
 | |
| >=0
 | |
| 
 | |
| # register
 | |
| 
 | |
| # 15. register report valued at cost.
 | |
| $ hledger -f- reg --value=cost
 | |
| 2000-01-01                      (a)                            6 B           6 B
 | |
| 2000-02-01                      (a)                            7 B          13 B
 | |
| 2000-03-01                      (a)                            8 B          21 B
 | |
|  
 | |
| # 16. register report valued at posting dates
 | |
| $ hledger -f- reg --value=then
 | |
| 2000-01-01                      (a)                            1 B           1 B
 | |
| 2000-02-01                      (a)                            2 B           3 B
 | |
| 2000-03-01                      (a)                            3 B           6 B
 | |
| 
 | |
| # 17. register report valued at period end
 | |
| $ hledger -f- reg --value=end
 | |
| 2000-01-01                      (a)                            3 B           3 B
 | |
| 2000-02-01                      (a)                            3 B           6 B
 | |
| 2000-03-01                      (a)                            3 B           9 B
 | |
| 
 | |
| # 18. register report valued at specified date
 | |
| $ hledger -f- reg --value=2000-01-15
 | |
| 2000-01-01                      (a)                            5 B           5 B
 | |
| 2000-02-01                      (a)                            5 B          10 B
 | |
| 2000-03-01                      (a)                            5 B          15 B
 | |
| 
 | |
| # 19. register report valued today
 | |
| $ hledger -f- reg --value=now
 | |
| 2000-01-01                      (a)                            4 B           4 B
 | |
| 2000-02-01                      (a)                            4 B           8 B
 | |
| 2000-03-01                      (a)                            4 B          12 B
 | |
| 
 | |
| # 20. single-period register report valued at default date (same as --value=now)
 | |
| $ hledger -f- reg -V
 | |
| 2000-01-01                      (a)                            4 B           4 B
 | |
| 2000-02-01                      (a)                            4 B           8 B
 | |
| 2000-03-01                      (a)                            4 B          12 B
 | |
| 
 | |
| # register with -H (starting balance)
 | |
| 
 | |
| # 21. register with starting balance, valued at cost.
 | |
| $ hledger -f- reg --value=cost -b 200002 -H
 | |
| 2000-02-01                      (a)                            7 B          13 B
 | |
| 2000-03-01                      (a)                            8 B          21 B
 | |
|  
 | |
| # 22. register with starting balance, valued at period end.
 | |
| # That is unspecified so the last posting date is used, ie 2000/3/1, so the price is 3 B.
 | |
| # Starting balance is 5 B as above.
 | |
| $ hledger -f- reg --value=end -b 200002 -H
 | |
| 2000-02-01                      (a)                            3 B           8 B
 | |
| 2000-03-01                      (a)                            3 B          11 B
 | |
| 
 | |
| # 23. register with starting balance, valued at specified date (when the price is 5 B).
 | |
| # Starting balance is 5 B as above.
 | |
| $ hledger -f- reg --value=2000-01-15 -b 200002 -H
 | |
| 2000-02-01                      (a)                            5 B          10 B
 | |
| 2000-03-01                      (a)                            5 B          15 B
 | |
| 
 | |
| # register, periodic
 | |
| 
 | |
| # 24. periodic register report valued at cost.
 | |
| # The total for january is 6 B (1 A valued at 1/1, price 1 B, and 1 A
 | |
| # valued at 1/20, price 5 B).
 | |
| # Need an extra transaction for this test:
 | |
| <
 | |
| P 2000/01/01 A  1 B
 | |
| P 2000/01/15 A  5 B
 | |
| P 2000/02/01 A  2 B
 | |
| P 2000/03/01 A  3 B
 | |
| P 2000/04/01 A  4 B
 | |
| 
 | |
| 2000/01/01
 | |
|   (a)      1 A @ 6 B
 | |
| 
 | |
| 2000/01/20
 | |
|   (a)      1 A @ 7 B
 | |
| 
 | |
| 2000/02/01
 | |
|   (a)      1 A @ 8 B
 | |
| 
 | |
| 2000/03/01
 | |
|   (a)      1 A @ 9 B
 | |
| 
 | |
| $ hledger -f- reg --value=cost -M
 | |
| 2000-01                 a                                     13 B          13 B
 | |
| 2000-02                 a                                      8 B          21 B
 | |
| 2000-03                 a                                      9 B          30 B
 | |
|  
 | |
| # back to the original test journal:
 | |
| <
 | |
| P 2000/01/01 A  1 B
 | |
| P 2000/01/15 A  5 B
 | |
| P 2000/02/01 A  2 B
 | |
| P 2000/03/01 A  3 B
 | |
| P 2000/04/01 A  4 B
 | |
| 
 | |
| 2000/01/01
 | |
|   (a)      1 A @ 6 B
 | |
| 
 | |
| 2000/02/01
 | |
|   (a)      1 A @ 7 B
 | |
| 
 | |
| 2000/03/01
 | |
|   (a)      1 A @ 8 B
 | |
| 
 | |
| # 25. periodic register report valued at period end
 | |
| $ hledger -f- reg --value=end -M
 | |
| 2000-01                 a                                      5 B           5 B
 | |
| 2000-02                 a                                      2 B           7 B
 | |
| 2000-03                 a                                      3 B          10 B
 | |
| 
 | |
| # 26. periodic register report valued at specified date
 | |
| $ hledger -f- reg --value=2000-01-15 -M
 | |
| 2000-01                 a                                      5 B           5 B
 | |
| 2000-02                 a                                      5 B          10 B
 | |
| 2000-03                 a                                      5 B          15 B
 | |
| 
 | |
| # 27. periodic register report valued today
 | |
| $ hledger -f- reg --value=now -M
 | |
| 2000-01                 a                                      4 B           4 B
 | |
| 2000-02                 a                                      4 B           8 B
 | |
| 2000-03                 a                                      4 B          12 B
 | |
| 
 | |
| # 28. periodic register report valued at default date (same as --value=end)
 | |
| $ hledger -f- reg -V -M
 | |
| 2000-01                 a                                      5 B           5 B
 | |
| 2000-02                 a                                      2 B           7 B
 | |
| 2000-03                 a                                      3 B          10 B
 | |
| 
 | |
| # balance
 | |
| 
 | |
| # 29. single column balance report valued at cost
 | |
| $ hledger -f- bal -N --value=cost
 | |
|                 21 B  a
 | |
|  
 | |
| # 30. single column balance report valued at period end
 | |
| $ hledger -f- bal -N --value=end
 | |
|                  9 B  a
 | |
| 
 | |
| # 31. single column balance report valued at specified date
 | |
| $ hledger -f- bal -N --value=2000-01-15
 | |
|                 15 B  a
 | |
| 
 | |
| # 32. single column balance report valued today
 | |
| $ hledger -f- bal -N --value=now
 | |
|                 12 B  a
 | |
| 
 | |
| # 33. single column balance report valued at default date (same as --value=now)
 | |
| $ hledger -f- bal -N -V
 | |
|                 12 B  a
 | |
| 
 | |
| # balance, periodic
 | |
| 
 | |
| # 34. multicolumn balance report valued at cost
 | |
| $ hledger -f- bal -MTA --value=cost
 | |
| Balance changes in 2000Q1, valued at cost:
 | |
| 
 | |
|    || Jan  Feb  Mar    Total  Average 
 | |
| ===++=================================
 | |
|  a || 6 B  7 B  8 B     21 B      7 B 
 | |
| ---++---------------------------------
 | |
|    || 6 B  7 B  8 B     21 B      7 B 
 | |
|  
 | |
| # 35. multicolumn balance report valued at period end
 | |
| $ hledger -f- bal -M --value=end
 | |
| Balance changes in 2000Q1, valued at period ends:
 | |
| 
 | |
|    || Jan  Feb  Mar 
 | |
| ===++===============
 | |
|  a || 5 B  2 B  3 B 
 | |
| ---++---------------
 | |
|    || 5 B  2 B  3 B 
 | |
| 
 | |
| # 36. multicolumn balance report valued at period end with -T or -A
 | |
| $ hledger -f- bal -MTA --value=end
 | |
| Balance changes in 2000Q1, valued at period ends:
 | |
| 
 | |
|    || Jan  Feb  Mar    Total  Average 
 | |
| ===++=================================
 | |
|  a || 5 B  2 B  3 B     10 B      3 B 
 | |
| ---++---------------------------------
 | |
|    || 5 B  2 B  3 B     10 B      3 B 
 | |
| 
 | |
| # 37. multicolumn balance report valued at other date
 | |
| $ hledger -f- bal -MTA --value=2000-01-15
 | |
| Balance changes in 2000Q1, valued at 2000-01-15:
 | |
| 
 | |
|    || Jan  Feb  Mar    Total  Average 
 | |
| ===++=================================
 | |
|  a || 5 B  5 B  5 B     15 B      5 B 
 | |
| ---++---------------------------------
 | |
|    || 5 B  5 B  5 B     15 B      5 B 
 | |
| 
 | |
| # 38. multicolumn balance report valued today (with today >= 2000-04-01)
 | |
| $ hledger -f- bal -M --value=now
 | |
| Balance changes in 2000Q1, current value:
 | |
| 
 | |
|    || Jan  Feb  Mar 
 | |
| ===++===============
 | |
|  a || 4 B  4 B  4 B 
 | |
| ---++---------------
 | |
|    || 4 B  4 B  4 B 
 | |
| 
 | |
| # 39. multicolumn balance report valued at default date (same as --value=end)
 | |
| $ hledger -f- bal -M -V
 | |
| Balance changes in 2000Q1, valued at period ends:
 | |
| 
 | |
|    || Jan  Feb  Mar 
 | |
| ===++===============
 | |
|  a || 5 B  2 B  3 B 
 | |
| ---++---------------
 | |
|    || 5 B  2 B  3 B 
 | |
| 
 | |
| # balance, periodic, with -H (starting balance and accumulating across periods)
 | |
| 
 | |
| # 40. multicolumn balance report with -H, valued at cost.
 | |
| # The starting balance on 2000/01/01 is 6 B (cost of the first 2 A).
 | |
| # February adds 1 A costing 7 B, making 13 B.
 | |
| # March adds 1 A costing 8 B, making 21 B.
 | |
| $ hledger -f- bal -M -H -b 200002 --value=cost
 | |
| Ending balances (historical) in 2000-02-01..2000-03-31, valued at cost:
 | |
| 
 | |
|    || 2000-02-29  2000-03-31 
 | |
| ===++========================
 | |
|  a ||       13 B        21 B 
 | |
| ---++------------------------
 | |
|    ||       13 B        21 B 
 | |
|  
 | |
| # 41. multicolumn balance report with -H valued at period end.
 | |
| # The starting balance is 1 A.
 | |
| # February adds 1 A making 2 A, which is valued at 2000/02/29 as 4 B.
 | |
| # March adds 1 A making 3 A, which is valued at 2000/03/31 as 9 B.
 | |
| $ hledger -f- bal -MA -H -b 200002 --value=end
 | |
| Ending balances (historical) in 2000-02-01..2000-03-31, valued at period ends:
 | |
| 
 | |
|    || 2000-02-29  2000-03-31  Average 
 | |
| ===++=================================
 | |
|  a ||        4 B         9 B      6 B 
 | |
| ---++---------------------------------
 | |
|    ||        4 B         9 B      6 B 
 | |
| 
 | |
| # 42. multicolumn balance report with -H valued at other date.
 | |
| # The starting balance is 5 B (1 A valued at 2000/1/15).
 | |
| $ hledger -f- bal -M -H -b 200002 --value=2000-01-15
 | |
| Ending balances (historical) in 2000-02-01..2000-03-31, valued at 2000-01-15:
 | |
| 
 | |
|    || 2000-02-29  2000-03-31 
 | |
| ===++========================
 | |
|  a ||       10 B        15 B 
 | |
| ---++------------------------
 | |
|    ||       10 B        15 B 
 | |
| 
 | |
| # 43. multicolumn balance report with -H, valuing each period's carried-over balances at cost.
 | |
| <
 | |
| P 2000/01/01 A  1 B
 | |
| P 2000/01/15 A  5 B
 | |
| P 2000/02/01 A  2 B
 | |
| P 2000/03/01 A  3 B
 | |
| P 2000/04/01 A  4 B
 | |
| 
 | |
| 2000/01/01
 | |
|   (a)      1 A @ 6 B
 | |
| 
 | |
| $ hledger -f- bal -ME -H -p200001-200004 --value=c
 | |
| Ending balances (historical) in 2000Q1, valued at cost:
 | |
| 
 | |
|    || 2000-01-31  2000-02-29  2000-03-31 
 | |
| ===++====================================
 | |
|  a ||        6 B         6 B         6 B 
 | |
| ---++------------------------------------
 | |
|    ||        6 B         6 B         6 B 
 | |
| 
 | |
| # 44. multicolumn balance report with -H, valuing each period's carried-over balances at period end.
 | |
| # Unrelated, also -H always disables -T.
 | |
| $ hledger -f- bal -META -H -p200001-200004 --value=e
 | |
| Ending balances (historical) in 2000Q1, valued at period ends:
 | |
| 
 | |
|    || 2000-01-31  2000-02-29  2000-03-31  Average 
 | |
| ===++=============================================
 | |
|  a ||        5 B         2 B         3 B      3 B 
 | |
| ---++---------------------------------------------
 | |
|    ||        5 B         2 B         3 B      3 B 
 | |
| 
 | |
| # 45. multicolumn balance report with -H, valuing each period's carried-over balances at other date.
 | |
| $ hledger -f- bal -ME -H -p200001-200004 --value=2000-01-15
 | |
| Ending balances (historical) in 2000Q1, valued at 2000-01-15:
 | |
| 
 | |
|    || 2000-01-31  2000-02-29  2000-03-31 
 | |
| ===++====================================
 | |
|  a ||        5 B         5 B         5 B 
 | |
| ---++------------------------------------
 | |
|    ||        5 B         5 B         5 B 
 | |
| 
 | |
| # balance --budget. The periodic transactions setting budget amounts
 | |
| # are valued in the same way as ordinary transactions.
 | |
| 
 | |
| <
 | |
| P 2000/01/01 A  1 B
 | |
| P 2000/01/15 A  5 B
 | |
| P 2000/02/01 A  2 B
 | |
| P 2000/03/01 A  3 B
 | |
| P 2000/04/01 A  4 B
 | |
| 
 | |
| ~ monthly
 | |
|   (a)  2 A @ 1 B
 | |
| 
 | |
| 2000/01/01
 | |
|   (a)      1 A @ 6 B
 | |
| 
 | |
| 2000/02/01
 | |
|   (a)      1 A @ 7 B
 | |
| 
 | |
| 2000/03/01
 | |
|   (a)      1 A @ 8 B
 | |
| 
 | |
| # 46. budget report, unvalued (for reference).
 | |
| $ hledger -f- bal -M --budget
 | |
| Budget performance in 2000Q1:
 | |
| 
 | |
|    ||              Jan               Feb               Mar 
 | |
| ===++======================================================
 | |
|  a || 1 A [50% of 2 A]  1 A [50% of 2 A]  1 A [50% of 2 A] 
 | |
| ---++------------------------------------------------------
 | |
|    || 1 A [50% of 2 A]  1 A [50% of 2 A]  1 A [50% of 2 A] 
 | |
| 
 | |
| # 47. budget report, valued at cost. 
 | |
| $ hledger -f- bal -MTA --budget --value=c
 | |
| Budget performance in 2000Q1, valued at cost:
 | |
| 
 | |
|    ||               Jan                Feb                Mar               Total            Average 
 | |
| ===++================================================================================================
 | |
|  a || 6 B [300% of 2 B]  7 B [350% of 2 B]  8 B [400% of 2 B]  21 B [350% of 6 B]  7 B [350% of 2 B] 
 | |
| ---++------------------------------------------------------------------------------------------------
 | |
|    || 6 B [300% of 2 B]  7 B [350% of 2 B]  8 B [400% of 2 B]  21 B [350% of 6 B]  7 B [350% of 2 B] 
 | |
| 
 | |
| # 48. budget report, valued at period ends.
 | |
| $ hledger -f- bal -MTA --budget --value=e
 | |
| Budget performance in 2000Q1, valued at period ends:
 | |
| 
 | |
|    ||               Jan               Feb               Mar               Total           Average 
 | |
| ===++=============================================================================================
 | |
|  a || 5 B [50% of 10 B]  2 B [50% of 4 B]  3 B [50% of 6 B]  10 B [50% of 20 B]  3 B [50% of 7 B] 
 | |
| ---++---------------------------------------------------------------------------------------------
 | |
|    || 5 B [50% of 10 B]  2 B [50% of 4 B]  3 B [50% of 6 B]  10 B [50% of 20 B]  3 B [50% of 7 B] 
 | |
| 
 | |
| # 49. budget report, valued at other date.
 | |
| $ hledger -f- bal -MTA --budget --value=2000-01-15
 | |
| Budget performance in 2000Q1, valued at 2000-01-15:
 | |
| 
 | |
|    ||               Jan                Feb                Mar               Total            Average 
 | |
| ===++================================================================================================
 | |
|  a || 5 B [50% of 10 B]  5 B [50% of 10 B]  5 B [50% of 10 B]  15 B [50% of 30 B]  5 B [50% of 10 B] 
 | |
| ---++------------------------------------------------------------------------------------------------
 | |
|    || 5 B [50% of 10 B]  5 B [50% of 10 B]  5 B [50% of 10 B]  15 B [50% of 30 B]  5 B [50% of 10 B] 
 | |
| 
 | |
| # 50. --value=then with --historical. How is the starting total valued ?
 | |
| # Currently not supported.
 | |
| <
 | |
| P 2020-01-01 A 1 B
 | |
| P 2020-02-01 A 2 B
 | |
| P 2020-03-01 A 3 B
 | |
| P 2020-04-01 A 4 B
 | |
| 
 | |
| 2020-01-01
 | |
|    (a)  1 A
 | |
| 
 | |
| 2020-02-01
 | |
|    (a)  1 A
 | |
| 
 | |
| 2020-03-01
 | |
|    (a)  1 A
 | |
| 
 | |
| 2020-04-01
 | |
|    (a)  1 A
 | |
| 
 | |
| $ hledger -f- reg --value=then -b 2020-03 -H
 | |
| >2 /not yet supported/
 | |
| >=1
 | |
| 
 | |
| # 51. --value=then with a report interval. How are the summary amounts valued ?
 | |
| # Currently each interval's unvalued sum is valued on its first day.
 | |
| <
 | |
| P 2020-01-01 A 1 B
 | |
| P 2020-02-01 A 2 B
 | |
| P 2020-03-01 A 3 B
 | |
| P 2020-04-01 A 4 B
 | |
| 
 | |
| 2020-01-01
 | |
|    (a)  1 A
 | |
| 
 | |
| 2020-02-01
 | |
|    (a)  1 A
 | |
| 
 | |
| 2020-03-01
 | |
|    (a)  1 A
 | |
| 
 | |
| 2020-04-01
 | |
|    (a)  1 A
 | |
| 
 | |
| $ hledger -f- reg --value=then -Q
 | |
| 2020Q1                  a                                      3 B           3 B
 | |
| 2020Q2                  a                                      4 B           7 B
 | |
| >=0
 | |
| 
 | |
| # 52. print --value should affect all postings, including when there's an implicit transaction price
 | |
| <
 | |
| P 2020-01-01 A 1 C
 | |
| P 2020-01-01 B 1 C
 | |
| 
 | |
| 2020-01-01
 | |
|    a   1 A
 | |
|    b  -1 B
 | |
| 
 | |
| $ hledger -f- print -V
 | |
| 2020-01-01
 | |
|     a             1 C
 | |
|     b            -1 C
 | |
| 
 | |
| >=0
 |