fix: balance: Balance reports should consider date: queries when calculating
report span with --date2. (#1745)
This commit is contained in:
parent
41bde20095
commit
7597e525a3
@ -479,7 +479,7 @@ queryTermDateSpan _ = Nothing
|
|||||||
queryDateSpan :: Bool -> Query -> DateSpan
|
queryDateSpan :: Bool -> Query -> DateSpan
|
||||||
queryDateSpan secondary (Or qs) = spansUnion $ map (queryDateSpan secondary) qs
|
queryDateSpan secondary (Or qs) = spansUnion $ map (queryDateSpan secondary) qs
|
||||||
queryDateSpan secondary (And qs) = spansIntersect $ map (queryDateSpan secondary) qs
|
queryDateSpan secondary (And qs) = spansIntersect $ map (queryDateSpan secondary) qs
|
||||||
queryDateSpan False (Date span) = span
|
queryDateSpan _ (Date span) = span
|
||||||
queryDateSpan True (Date2 span) = span
|
queryDateSpan True (Date2 span) = span
|
||||||
queryDateSpan _ _ = nulldatespan
|
queryDateSpan _ _ = nulldatespan
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
hledger -f - balance -p 'in 2009' --date2 -N
|
<
|
||||||
<<<
|
|
||||||
2009/1/1 x
|
2009/1/1 x
|
||||||
a 1
|
a 1
|
||||||
b
|
b
|
||||||
@ -7,7 +6,23 @@ hledger -f - balance -p 'in 2009' --date2 -N
|
|||||||
2009/1/1=2010/1/1 x
|
2009/1/1=2010/1/1 x
|
||||||
a 10
|
a 10
|
||||||
b
|
b
|
||||||
>>>
|
|
||||||
|
# 1. --date2 ignores postings with secondary dates outside the range
|
||||||
|
$ hledger -f - balance -p 'in 2009' --date2 -N
|
||||||
1 a
|
1 a
|
||||||
-1 b
|
-1 b
|
||||||
>>>=0
|
|
||||||
|
# 2. Above but with date: queries
|
||||||
|
$ hledger -f - balance date:2009 --date2 -N
|
||||||
|
1 a
|
||||||
|
-1 b
|
||||||
|
|
||||||
|
# 3. --date2 sees postings with secondary dates inside the range
|
||||||
|
$ hledger -f - balance -p 'in 2010' --date2 -N
|
||||||
|
10 a
|
||||||
|
-10 b
|
||||||
|
|
||||||
|
# 4. Above but with date: queries
|
||||||
|
$ hledger -f - balance date:2010 --date2 -N
|
||||||
|
10 a
|
||||||
|
-10 b
|
||||||
|
|||||||
@ -28,16 +28,20 @@ hledger -f- register -p 2014/1/2 --date2
|
|||||||
2014-01-02 (a) 1 1
|
2014-01-02 (a) 1 1
|
||||||
>>>=0
|
>>>=0
|
||||||
|
|
||||||
# 3. --date2 causes date: to match the secondary date
|
# 3. --date2 causes date: to match the secondary date (or the primary date, if there is no secondary)
|
||||||
hledger -f- register date:2014/1/2 --date2
|
hledger -f- register date:2014/1/2 --date2
|
||||||
<<<
|
<<<
|
||||||
2014/1/1=1/2
|
2014/1/1=1/2
|
||||||
(a) 1
|
(a) 1
|
||||||
|
|
||||||
2014/1/3
|
2014/1/2
|
||||||
(b) 1
|
(b) 1
|
||||||
|
|
||||||
|
2014/1/2=1/3
|
||||||
|
(C) 1
|
||||||
>>>
|
>>>
|
||||||
2014-01-02 (a) 1 1
|
2014-01-02 (a) 1 1
|
||||||
|
2014-01-02 (b) 1 2
|
||||||
>>>=0
|
>>>=0
|
||||||
|
|
||||||
# 4. date2: matches the secondary date (but does not necessarily display it)
|
# 4. date2: matches the secondary date (but does not necessarily display it)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user