Testcase+fix for commodity being reported more than once per account in balance
This commit is contained in:
parent
7ac9934b27
commit
7426e93ec6
@ -147,7 +147,11 @@ This implementation turned out to be a bit convoluted but implements the followi
|
|||||||
-- | Render one balance report line item as plain text.
|
-- | Render one balance report line item as plain text.
|
||||||
accountsReportItemAsText :: ReportOpts -> [FormatString] -> AccountsReportItem -> [String]
|
accountsReportItemAsText :: ReportOpts -> [FormatString] -> AccountsReportItem -> [String]
|
||||||
accountsReportItemAsText opts format (_, accountName, depth, Mixed amounts) =
|
accountsReportItemAsText opts format (_, accountName, depth, Mixed amounts) =
|
||||||
case amounts of
|
-- 'amounts' could contain several quantities of the same commodity with different price.
|
||||||
|
-- In order to combine them into single value (which is expected) we take the first price and
|
||||||
|
-- use it for the whole mixed amount. This could be suboptimal. XXX
|
||||||
|
let Mixed normAmounts = normaliseMixedAmount (Mixed amounts) in
|
||||||
|
case normAmounts of
|
||||||
[] -> []
|
[] -> []
|
||||||
[a] -> [formatAccountsReportItem opts (Just accountName) depth a format]
|
[a] -> [formatAccountsReportItem opts (Just accountName) depth a format]
|
||||||
(as) -> multiline as
|
(as) -> multiline as
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
# this should balance
|
# 1. this should balance
|
||||||
bin/hledger -f - print
|
bin/hledger -f - print
|
||||||
<<<
|
<<<
|
||||||
2011/1/1
|
2011/1/1
|
||||||
@ -7,3 +7,21 @@ bin/hledger -f - print
|
|||||||
c $-30
|
c $-30
|
||||||
>>>2 !/could not balance/
|
>>>2 !/could not balance/
|
||||||
>>>= 0
|
>>>= 0
|
||||||
|
# 2. When commodity price is specified for the whole transaction, it should still be reported
|
||||||
|
# in the balance as a single quantity even when prices change over time
|
||||||
|
bin/hledger -f - balance
|
||||||
|
<<<
|
||||||
|
2011/01/01 conv1
|
||||||
|
expenses 10£ @@ 16$
|
||||||
|
cash -16$
|
||||||
|
|
||||||
|
2011/01/02 conv2
|
||||||
|
expenses 10£ @@ 15$
|
||||||
|
cash -15$
|
||||||
|
>>>
|
||||||
|
-31$ cash
|
||||||
|
20£ expenses
|
||||||
|
--------------------
|
||||||
|
-31$
|
||||||
|
20£
|
||||||
|
>>>=0
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user