;doc: lib: update BalanceAssertion doc
This commit is contained in:
parent
fc8c85931c
commit
4399076a0a
@ -353,38 +353,14 @@ instance Show Status where -- custom show.. bad idea.. don't do it..
|
|||||||
-- at a certain point (posting date and parse order). They provide additional
|
-- at a certain point (posting date and parse order). They provide additional
|
||||||
-- error checking and readability to a journal file.
|
-- error checking and readability to a journal file.
|
||||||
--
|
--
|
||||||
-- The 'BalanceAssertion' type is also used to represent balance assignments,
|
-- A balance assignments is an instruction to hledger to adjust an
|
||||||
-- which instruct hledger what an account's balance should become at a certain
|
-- account's balance to a certain amount at a certain point.
|
||||||
-- point.
|
|
||||||
--
|
--
|
||||||
-- Different kinds of balance assertions are discussed eg on #290.
|
-- The 'BalanceAssertion' type is used for representing both of these.
|
||||||
-- Variables include:
|
|
||||||
--
|
--
|
||||||
-- - which postings are to be summed (real/virtual; unmarked/pending/cleared; this account/this account including subs)
|
-- hledger supports multiple kinds of balance assertions/assignments,
|
||||||
--
|
-- which differ in whether they refer to a single commodity or all commodities,
|
||||||
-- - which commodities within the balance are to be checked
|
-- and the (subaccount-)inclusive or exclusive account balance.
|
||||||
--
|
|
||||||
-- - whether to do a partial or a total check (disallowing other commodities)
|
|
||||||
--
|
|
||||||
-- I suspect we want:
|
|
||||||
--
|
|
||||||
-- 1. partial, subaccount-exclusive, Ledger-compatible assertions. Because
|
|
||||||
-- they're what we've always had, and removing them would break some
|
|
||||||
-- journals unnecessarily. Implemented with = syntax.
|
|
||||||
--
|
|
||||||
-- 2. total assertions. Because otherwise assertions are a bit leaky.
|
|
||||||
-- Implemented with == syntax.
|
|
||||||
--
|
|
||||||
-- 3. subaccount-inclusive assertions. Because that's something folks need.
|
|
||||||
-- Not implemented.
|
|
||||||
--
|
|
||||||
-- 4. flexible assertions allowing custom criteria (perhaps arbitrary
|
|
||||||
-- queries). Because power users have diverse needs and want to try out
|
|
||||||
-- different schemes (assert cleared balances, assert balance from real or
|
|
||||||
-- virtual postings, etc.). Not implemented.
|
|
||||||
--
|
|
||||||
-- 5. multicommodity assertions, asserting the balance of multiple commodities
|
|
||||||
-- at once. Not implemented, requires #934.
|
|
||||||
--
|
--
|
||||||
data BalanceAssertion = BalanceAssertion {
|
data BalanceAssertion = BalanceAssertion {
|
||||||
baamount :: Amount, -- ^ the expected balance in a particular commodity
|
baamount :: Amount, -- ^ the expected balance in a particular commodity
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user