summaryrefslogtreecommitdiff
path: root/src/report.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/report.h')
-rw-r--r--src/report.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/report.h b/src/report.h
index 6839de0e..1d867c68 100644
--- a/src/report.h
+++ b/src/report.h
@@ -245,7 +245,7 @@ public:
OPTION(report_t, base);
OPTION_(report_t, basis, DO() { // -B
- parent->HANDLER(revalued).off();
+ parent->HANDLER(revalued).on_only();
parent->HANDLER(amount_).set_expr("rounded(cost)");
});
@@ -401,15 +401,17 @@ public:
// Since we are displaying the amounts of revalued postings, they
// will end up being composite totals, and hence a pair of pairs.
parent->HANDLER(display_amount_)
- .set_expr("is_seq(get_at(amount_expr, 0)) ?"
- " get_at(get_at(amount_expr, 0), 0) :"
- " market(get_at(amount_expr, 0), date, exchange) -"
- " get_at(amount_expr, 1)");
+ .set_expr("use_direct_amount ? amount :"
+ " (is_seq(get_at(amount_expr, 0)) ?"
+ " get_at(get_at(amount_expr, 0), 0) :"
+ " market(get_at(amount_expr, 0), date, exchange)"
+ " - get_at(amount_expr, 1))");
parent->HANDLER(revalued_total_)
.set_expr("(market(get_at(total_expr, 0), date, exchange), "
"get_at(total_expr, 1))");
parent->HANDLER(display_total_)
- .set_expr("market(get_at(total_expr, 0), date, exchange)"
+ .set_expr("use_direct_amount ? total_expr :"
+ " market(get_at(total_expr, 0), date, exchange)"
" - get_at(total_expr, 1)");
});