bal, reg, print: -V prefers non-future valuation dates again (#999)

This commit is contained in:
Simon Michael 2019-04-24 08:31:21 -07:00
parent ef9c4a29c4
commit 9d3eb8c069
5 changed files with 9 additions and 9 deletions

View File

@ -173,10 +173,10 @@ brNegate (is, tot) = (map brItemNegate is, -tot)
-- default valuation commodities. This means using the Journal's most -- default valuation commodities. This means using the Journal's most
-- recent applicable market prices before the valuation date. -- recent applicable market prices before the valuation date.
-- The valuation date is the specified report end date if any, -- The valuation date is the specified report end date if any,
-- otherwise the journal's end date. -- otherwise the current date, otherwise the journal's end date.
brValue :: ReportOpts -> Journal -> BalanceReport -> BalanceReport brValue :: ReportOpts -> Journal -> BalanceReport -> BalanceReport
brValue ropts j r = brValue ropts j r =
let mvaluationdate = periodEnd (period_ ropts) <|> journalEndDate False j let mvaluationdate = periodEnd (period_ ropts) <|> today_ ropts <|> journalEndDate False j
in case mvaluationdate of in case mvaluationdate of
Nothing -> r Nothing -> r
Just d -> r' Just d -> r'

View File

@ -43,10 +43,10 @@ entriesReport opts q j =
-- default valuation commodities. This means using the Journal's most -- default valuation commodities. This means using the Journal's most
-- recent applicable market prices before the valuation date. -- recent applicable market prices before the valuation date.
-- The valuation date is the specified report end date if any, -- The valuation date is the specified report end date if any,
-- otherwise the journal's end date. -- otherwise the current date, otherwise the journal's end date.
erValue :: ReportOpts -> Journal -> EntriesReport -> EntriesReport erValue :: ReportOpts -> Journal -> EntriesReport -> EntriesReport
erValue ropts j ts = erValue ropts j ts =
let mvaluationdate = periodEnd (period_ ropts) <|> journalEndDate False j let mvaluationdate = periodEnd (period_ ropts) <|> today_ ropts <|> journalEndDate False j
in case mvaluationdate of in case mvaluationdate of
Nothing -> ts Nothing -> ts
Just d -> map valuetxn ts Just d -> map valuetxn ts

View File

@ -277,10 +277,10 @@ multiBalanceReportSpan (MultiBalanceReport (colspans, _, _)) = DateSpan (spanSta
-- default valuation commodities. This means using the Journal's most -- default valuation commodities. This means using the Journal's most
-- recent applicable market prices before the valuation date. -- recent applicable market prices before the valuation date.
-- The valuation date is the specified report end date if any, -- The valuation date is the specified report end date if any,
-- otherwise the journal's end date. -- otherwise the current date, otherwise the journal's end date.
mbrValue :: ReportOpts -> Journal -> MultiBalanceReport -> MultiBalanceReport mbrValue :: ReportOpts -> Journal -> MultiBalanceReport -> MultiBalanceReport
mbrValue ropts j r = mbrValue ropts j r =
let mvaluationdate = periodEnd (period_ ropts) <|> journalEndDate False j let mvaluationdate = periodEnd (period_ ropts) <|> today_ ropts <|> journalEndDate False j
in case mvaluationdate of in case mvaluationdate of
Nothing -> r Nothing -> r
Just d -> r' Just d -> r'

View File

@ -229,10 +229,10 @@ negatePostingAmount p = p { pamount = negate $ pamount p }
-- default valuation commodities. This means using the Journal's most -- default valuation commodities. This means using the Journal's most
-- recent applicable market prices before the valuation date. -- recent applicable market prices before the valuation date.
-- The valuation date is the specified report end date if any, -- The valuation date is the specified report end date if any,
-- otherwise the journal's end date. -- otherwise the current date, otherwise the journal's end date.
prValue :: ReportOpts -> Journal -> PostingsReport -> PostingsReport prValue :: ReportOpts -> Journal -> PostingsReport -> PostingsReport
prValue ropts j r = prValue ropts j r =
let mvaluationdate = periodEnd (period_ ropts) <|> journalEndDate False j let mvaluationdate = periodEnd (period_ ropts) <|> today_ ropts <|> journalEndDate False j
in case mvaluationdate of in case mvaluationdate of
Nothing -> r Nothing -> r
Just d -> r' Just d -> r'

View File

@ -38,7 +38,7 @@ P 3000/1/1 $ €1.30
3000/01/01 3000/01/01
(a) $100 (a) $100
>>> >>>
€130.00 a €120.00 a
>>>=0 >>>=0
# 4. The market prices in effect at the report end date are used. # 4. The market prices in effect at the report end date are used.