138 lines
3.0 KiB
Plaintext
138 lines
3.0 KiB
Plaintext
# * type: queries
|
|
# Similar to the tag:type tests in query-tags.test.
|
|
<
|
|
account a ; type:A
|
|
account l ; type:Liability
|
|
account r ; type:R
|
|
account o ; othertag:
|
|
account u
|
|
|
|
2022-01-01
|
|
(r) 1
|
|
|
|
2022-01-02
|
|
(a) 1
|
|
(l) 1
|
|
|
|
# ** 1. We can match declared accounts by type, using short type codes
|
|
# regardless of whether account's type was declared in short or long form.
|
|
$ hledger -f- accounts --declared type:AL
|
|
a
|
|
l
|
|
|
|
# ** 2. Order and case of type codes doesn't matter.
|
|
$ hledger -f- accounts --declared type:la
|
|
a
|
|
l
|
|
|
|
# ** 3. Matching used accounts works the same way.
|
|
$ hledger -f- accounts --used type:AL
|
|
a
|
|
l
|
|
|
|
# ** 4. We can match postings by their account's type.
|
|
$ hledger -f- register -w80 type:A
|
|
2022-01-02 (a) 1 1
|
|
|
|
# ** 5. We can match transactions by their accounts' types.
|
|
$ hledger -f- print type:A
|
|
2022-01-02
|
|
(a) 1
|
|
(l) 1
|
|
|
|
>=
|
|
|
|
# ** 6. And negatively match them.
|
|
$ hledger -f- print type:a not:type:l
|
|
|
|
# ** 7. We can filter balance reports by account type.
|
|
$ hledger -f- bal type:a
|
|
1 a
|
|
--------------------
|
|
1
|
|
|
|
# ** 8. Postingless declared accounts in balance reports are also filtered.
|
|
<
|
|
account a ; type:A
|
|
account l ; type:L
|
|
|
|
$ hledger -f- bal -N --declared -E type:A
|
|
0 a
|
|
|
|
# ** 9. type: is aware of account type inheritance.
|
|
<
|
|
account a ; type:A
|
|
account a:aa
|
|
|
|
$ hledger -f- accounts type:a
|
|
a
|
|
a:aa
|
|
|
|
# ** 10. type: is aware of inferred account types.
|
|
<
|
|
account assets
|
|
account assets:cash
|
|
account liabilities
|
|
|
|
$ hledger -f- accounts type:a
|
|
assets
|
|
assets:cash
|
|
|
|
# ** 11. type: can identify cash accounts in the default case
|
|
<
|
|
account assets
|
|
account assets:cash
|
|
account liabilities
|
|
|
|
$ hledger -f- accounts type:c
|
|
assets:cash
|
|
|
|
# ** 12. type: can identify conversion accounts in the default case
|
|
<
|
|
account equity
|
|
account equity:conversion
|
|
account equity:trading
|
|
account equity:trade
|
|
|
|
$ hledger -f- accounts type:v
|
|
equity:conversion
|
|
equity:trading
|
|
equity:trade
|
|
|
|
# ** 13. type: can be used in and can match auto postings
|
|
<
|
|
account assets ; type:a
|
|
|
|
= type:a
|
|
(assets:b) 1
|
|
|
|
2022-02-02 Test
|
|
(assets) 2
|
|
|
|
$ hledger -f- reg --auto type:a
|
|
2022-02-02 Test (assets) 2 2
|
|
(assets:b) 1 3
|
|
|
|
# ** 14. type: can be used in and can match auto postings with no known parents
|
|
<
|
|
= type:a
|
|
(expenses:b) 1
|
|
|
|
2022-02-02 Test
|
|
(assets) 2
|
|
|
|
$ hledger -f- reg --auto type:x
|
|
2022-02-02 Test (expenses:b) 1 1
|
|
|
|
# ** 15. type:a matches cash accounts and type:e matches conversion accounts
|
|
<
|
|
2022-02-02 Test
|
|
(assets:cash) 1
|
|
(equity:conversion) 2
|
|
(equity:conversion) -2
|
|
|
|
$ hledger -f- reg type:ae
|
|
2022-02-02 Test (assets:cash) 1 1
|
|
(equity:conversion) 2 3
|
|
(equity:conversion) -2 1
|