On 7/30/14 8:03 PM, Martin Blais wrote:
> As I understand it, you are always matching postings, but the payee
> is propagated to each posting. I think of it as "postings with given
> account and payee," but you may be more comfortable if you say
> "postings with a given account and in a transaction with given
> payee." (Although this might also be less correct because you can
> override the payee per posting in a transaction.)
>
> That seems like an odd choice. If it was constrained to only select
> subsets of transactions, then you'd have a claim to balance the reports.
> Any subset of transactions will balance (because each of them
> individually does). So for instance, my view of what "account = X"
> should mean is "match all transactions that have at least one posting
> with account X". You should never be able to isolate postings from their
> transactions, it breaks the DE system.
>
> Then if you want to restrict what you end up printing out, that's fine,
> but that's an entirely different operation, one that only filters what
> gets rendered, and that would depend only on the report type, it would
> never affect any calculations.
As I see it, the print command prints whole transactions and filters by
transaction, but register prints individual postings and filters by
posting, so there's no expectation of it showing you balanced data.
I haven't needed or wanted more than one kind of filtering (eg --limit
and --display in ledger). Sometimes (not often) I'll do a multi-step
filter by using print to select the transactions I want and pipe the
result into register.