lib: bal --value=end without --historical should not report on fluctuation in value of historical postings.
This commit is contained in:
		
							parent
							
								
									c005655311
								
							
						
					
					
						commit
						9cf5015958
					
				| @ -50,7 +50,7 @@ import Data.Semigroup ((<>)) | ||||
| #endif | ||||
| import Data.Semigroup (sconcat) | ||||
| import Data.Time.Calendar (Day, addDays, fromGregorian) | ||||
| import Safe (headMay, lastDef, lastMay, minimumMay) | ||||
| import Safe (headMay, lastDef, lastMay) | ||||
| 
 | ||||
| import Hledger.Data | ||||
| import Hledger.Query | ||||
| @ -317,14 +317,13 @@ calculateReportMatrix rspec@ReportSpec{rsOpts=ropts} j priceoracle startbals col | ||||
|         CumulativeChange  -> cumulative | ||||
|         HistoricalBalance -> historical | ||||
|       where | ||||
|         historical                           = cumulativeSum avalue startingBalance changes | ||||
|         cumulative | changingValuation ropts = fmap (`subtractAcct` valuedStart) historical | ||||
|                    | otherwise               = cumulativeSum avalue nullacct changes | ||||
|         changeamts | changingValuation ropts = periodChanges valuedStart historical | ||||
|                    | otherwise               = changes | ||||
|         historical = cumulativeSum avalue startingBalance changes | ||||
|         cumulative = cumulativeSum avalue nullacct changes | ||||
|         changeamts = if changingValuation ropts | ||||
|                         then periodChanges nullacct cumulative | ||||
|                         else changes | ||||
| 
 | ||||
|         startingBalance = HM.lookupDefault nullacct name startbals | ||||
|         valuedStart = avalue (DateSpan Nothing historicalDate) startingBalance | ||||
| 
 | ||||
|     -- Transpose to get each account's balance changes across all columns, then | ||||
|     -- pad with zeros | ||||
| @ -335,7 +334,6 @@ calculateReportMatrix rspec@ReportSpec{rsOpts=ropts} j priceoracle startbals col | ||||
| 
 | ||||
|     (pvalue, avalue) = postingAndAccountValuations rspec j priceoracle | ||||
|     addElided = if queryDepth (rsQuery rspec) == Just 0 then HM.insert "..." zeros else id | ||||
|     historicalDate = minimumMay $ mapMaybe spanStart colspans | ||||
|     zeros = M.fromList [(span, nullacct) | span <- colspans] | ||||
|     colspans = M.keys colps | ||||
| 
 | ||||
|  | ||||
| @ -219,7 +219,7 @@ $ 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 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user