parent
							
								
									173529efaf
								
							
						
					
					
						commit
						9e3cdef1e9
					
				| @ -239,9 +239,29 @@ instance Show Status where -- custom show.. bad idea.. don't do it.. | ||||
| 
 | ||||
| -- | The amount to compare an account's balance to, to verify that the history | ||||
| -- leading to a given point is correct or to set the account to a known value. | ||||
| -- | ||||
| -- Different kinds of balance assertion (from #290): | ||||
| -- | ||||
| -- * simple assertions: single-commodity, non-total, subaccount-exclusive | ||||
| --   assertions, as in Ledger (syntax: `=`). See definitions below. | ||||
| -- | ||||
| -- * subaccount-inclusive assertions: asserting the balance of an account | ||||
| --   including all its subaccounts' balances. Not implemented, proposed by #290. | ||||
| -- | ||||
| -- * multicommodity assertions: writing multiple amounts separated by + to | ||||
| --   assert a multicommodity balance, in a single assertion. Not implemented, | ||||
| --   proposed by #934.  In current hledger you can assert a multicommodity | ||||
| --   balance by using multiple postings/assertions.  But in either case, the | ||||
| --   balance might contain additional unasserted commodities. To disallow that | ||||
| --   you need... | ||||
| -- | ||||
| -- * total assertions: asserting that the balance is as written, with no extra | ||||
| --   commodities in the account. Added by #902, with syntax `==`. I sometimes | ||||
| --   wish this was the default behaviour, of `=`. | ||||
| -- | ||||
| data BalanceAssertion = BalanceAssertion { | ||||
|       baamount   :: Amount,             -- ^ the expected value of a particular commodity | ||||
|       baexact    :: Bool,               -- ^ whether the assertion is exclusive, and doesn't allow other commodities alongside 'baamount' | ||||
|       baamount   :: Amount,             -- ^ the expected balance of a single commodity | ||||
|       baexact    :: Bool,               -- ^ whether the assertion is total, ie disallowing amounts in other commodities | ||||
|       baposition :: GenericSourcePos | ||||
|     } deriving (Eq,Typeable,Data,Generic,Show) | ||||
| 
 | ||||
| @ -256,7 +276,8 @@ data Posting = Posting { | ||||
|       pcomment          :: Text,              -- ^ this posting's comment lines, as a single non-indented multi-line string | ||||
|       ptype             :: PostingType, | ||||
|       ptags             :: [Tag],                   -- ^ tag names and values, extracted from the comment | ||||
|       pbalanceassertion :: Maybe BalanceAssertion,  -- ^ optional: the expected balance in this commodity in the account after this posting | ||||
|       pbalanceassertion :: Maybe BalanceAssertion,  -- ^ an expected balance in the account after this posting, | ||||
|                                                     --   in a single commodity, excluding subaccounts. | ||||
|       ptransaction      :: Maybe Transaction,       -- ^ this posting's parent transaction (co-recursive types). | ||||
|                                                     --   Tying this knot gets tedious, Maybe makes it easier/optional. | ||||
|       porigin           :: Maybe Posting            -- ^ When this posting has been transformed in some way | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user