bal, reg, print: -V prefers non-future valuation dates again (#999)
This commit is contained in:
		
							parent
							
								
									ef9c4a29c4
								
							
						
					
					
						commit
						9d3eb8c069
					
				| @ -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' | ||||||
|  | |||||||
| @ -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 | ||||||
|  | |||||||
| @ -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' | ||||||
|  | |||||||
| @ -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' | ||||||
|  | |||||||
| @ -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. | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user