bs/is: don't let an empty subreport disable the grand totals (fixes #588)
This commit is contained in:
		
							parent
							
								
									083df72582
								
							
						
					
					
						commit
						c89bec0e17
					
				| @ -140,8 +140,14 @@ compoundBalanceCommand CompoundBalanceCommandSpec{..} CliOpts{command_=cmd, repo | ||||
|                 row "Total" overalltotals' | ||||
|               where | ||||
|                 overalltotals = case subreporttotals of | ||||
|                   a1:as -> foldl' (zipWith (+)) a1 as | ||||
|                   []    -> [] | ||||
|                   [] -> [] | ||||
|                   ts -> foldl' (zipWith (+)) zeros ts' | ||||
|                     where | ||||
|                       -- A subreport might be empty and have no subtotals, count those as zeroes (#588). | ||||
|                       -- Varying-length subtotals rows are handled similarly, though that is not expected to happen.   | ||||
|                       len = maximum $ map length ts | ||||
|                       ts' = [take len $ as ++ repeat nullmixedamt | as <- ts] | ||||
|                       zeros = replicate len nullmixedamt | ||||
|                 overalltotals' | ||||
|                   | null overalltotals = [] | ||||
|                   | otherwise =  overalltotals | ||||
|  | ||||
| @ -174,3 +174,29 @@ Total: | ||||
| >>>2 | ||||
| >>>=0 | ||||
| 
 | ||||
| # 8. An empty section is does not disrupt the overall totals, #588 | ||||
| hledger -f- balancesheet -YTA | ||||
| <<< | ||||
| 2017/1/1 | ||||
|   (assets)  $1 | ||||
| >>> | ||||
| Balance Sheet | ||||
| 
 | ||||
|              ||  2017/12/31    Total  Average  | ||||
| =============++=============================== | ||||
|  Assets      ||                                | ||||
| -------------++------------------------------- | ||||
|  assets      ||          $1       $1       $1  | ||||
| -------------++------------------------------- | ||||
|              ||          $1       $1       $1  | ||||
| =============++=============================== | ||||
|  Liabilities ||                                | ||||
| -------------++------------------------------- | ||||
| -------------++------------------------------- | ||||
|              ||                                | ||||
| =============++=============================== | ||||
|  Total       ||          $1       $1       $1  | ||||
| 
 | ||||
| 
 | ||||
| >>>2 | ||||
| >>>=0 | ||||
|  | ||||
| @ -20,7 +20,7 @@ Balance Sheet | ||||
| ─────────────╫───────────── | ||||
|              ║              | ||||
| ═════════════╬═════════════ | ||||
|  Total       ║              | ||||
|  Total       ║           1  | ||||
| 
 | ||||
| 
 | ||||
| >>>2 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user