From f345fd0b78eed280e40da0b4fa0c16f5aae10386 Mon Sep 17 00:00:00 2001 From: Stephen Morgan Date: Thu, 23 Sep 2021 16:53:32 +1000 Subject: [PATCH] imp: balance: Allow --related flag for balance reports. (#1469) --- hledger/Hledger/Cli/Commands/Balance.hs | 1 + hledger/Hledger/Cli/Commands/Balance.md | 3 ++ hledger/test/register/related.test | 17 ------------ hledger/test/related.test | 37 +++++++++++++++++++++++++ 4 files changed, 41 insertions(+), 17 deletions(-) delete mode 100644 hledger/test/register/related.test create mode 100644 hledger/test/related.test diff --git a/hledger/Hledger/Cli/Commands/Balance.hs b/hledger/Hledger/Cli/Commands/Balance.hs index 351cc82cf..3f19d003c 100644 --- a/hledger/Hledger/Cli/Commands/Balance.hs +++ b/hledger/Hledger/Cli/Commands/Balance.hs @@ -306,6 +306,7 @@ balancemode = hledgerCommandMode ++ flattreeflags True ++ [flagReq ["drop"] (\s opts -> Right $ setopt "drop" s opts) "N" "omit N leading account name parts (in flat mode)" ,flagNone ["average","A"] (setboolopt "average") "show a row average column (in multicolumn reports)" + ,flagNone ["related","r"] (setboolopt "related") "show postings' siblings instead" ,flagNone ["row-total","T"] (setboolopt "row-total") "show a row total column (in multicolumn reports)" ,flagNone ["no-total","N"] (setboolopt "no-total") "omit the final total row" ,flagNone ["no-elide"] (setboolopt "no-elide") "don't squash boring parent accounts (in tree mode); don't show only 2 commodities per amount" diff --git a/hledger/Hledger/Cli/Commands/Balance.md b/hledger/Hledger/Cli/Commands/Balance.md index 60e15067d..e17e53db0 100644 --- a/hledger/Hledger/Cli/Commands/Balance.md +++ b/hledger/Hledger/Cli/Commands/Balance.md @@ -73,6 +73,9 @@ This command supports the with output formats `txt`, `csv`, `json`, and (multi-period reports only:) `html`. In `txt` output in a colour-supporting terminal, negative amounts are shown in red. +The `--related`/`-r` flag shows the balance of the *other* postings in the +transactions of the postings which would normally be shown. + ### Simple balance report With no arguments, `balance` shows a list of all accounts and their diff --git a/hledger/test/register/related.test b/hledger/test/register/related.test deleted file mode 100644 index 5c44babbf..000000000 --- a/hledger/test/register/related.test +++ /dev/null @@ -1,17 +0,0 @@ -# 1. related postings will only display each posting once -< -P 2021-01-01 A 10 B - -2021-01-01 - (a) 1 A - (a) 2 A - (b) 3 A - -$ hledger -f- register a --related -2021-01-01 (b) 3 A 3 A ->= - -# 2. related postings will display valued postings when requested -$ hledger -f- register a --related -V -2021-01-01 (b) 30 B 30 B ->= diff --git a/hledger/test/related.test b/hledger/test/related.test new file mode 100644 index 000000000..c06e612f5 --- /dev/null +++ b/hledger/test/related.test @@ -0,0 +1,37 @@ +# 1. With --related, balance will display related accounts +$ hledger -f sample.journal bal --related checking -N + $1 assets:bank:saving + $-1 income:gifts + $-1 income:salary + $1 liabilities:debts +>= + +# 2. Also works for multi-period reports +$ hledger -f sample.journal bal --related checking -NY +Balance changes in 2008: + + || 2008 +====================++====== + assets:bank:saving || $1 + income:gifts || $-1 + income:salary || $-1 + liabilities:debts || $1 +>= + +# 3. for register, related postings will only display each posting once +< +P 2021-01-01 A 10 B + +2021-01-01 + (a) 1 A + (a) 2 A + (b) 3 A + +$ hledger -f- register a --related +2021-01-01 (b) 3 A 3 A +>= + +# 4. related postings will display valued postings when requested +$ hledger -f- register a --related -V +2021-01-01 (b) 30 B 30 B +>=