;doc: journal: rewrite commodity directive doc
[ci skip]
This commit is contained in:
		
							parent
							
								
									359a118900
								
							
						
					
					
						commit
						a081404bd7
					
				| @ -840,9 +840,25 @@ Y2010  ; change default year to 2010 | ||||
| 
 | ||||
| ### Declaring commodities | ||||
| 
 | ||||
| The `commodity` directive declares commodities which may be used in the journal, | ||||
| and their display format. | ||||
| The `commodity` directive has several functions: | ||||
| 
 | ||||
| 1. It declares commodities which may be used in the journal. | ||||
|    This is currently not enforced, but can serve as documentation. | ||||
| 
 | ||||
| 2. It declares what decimal mark character to expect when parsing | ||||
|    input - useful to disambiguate international number formats in your | ||||
|    data. (Without this, hledger will parse both `1,000` and `1.000` | ||||
|    as 1). | ||||
| 
 | ||||
| 3. It declares the [amount display format](#amount-display-format) to | ||||
|    use in output - decimal and digit group marks, number of decimal | ||||
|    places, symbol placement etc. | ||||
| 
 | ||||
| You are likely to run into one of the problems solved by commodity | ||||
| directives, sooner or later, so it's a good idea to just always use | ||||
| them to declare your commodities. | ||||
| 
 | ||||
| A commodity directive is just the word `commodity` followed by an [amount](#amounts). | ||||
| It may be written on a single line, like this: | ||||
| 
 | ||||
| ```journal | ||||
| @ -854,8 +870,8 @@ It may be written on a single line, like this: | ||||
| commodity 1,000.0000 AAAA | ||||
| ``` | ||||
| 
 | ||||
| or on multiple lines, using the "format" subdirective. In this case | ||||
| the commodity symbol appears twice and should be the same in both places: | ||||
| or on multiple lines, using the "format" subdirective. (In this case | ||||
| the commodity symbol appears twice and should be the same in both places.): | ||||
| 
 | ||||
| ```journal | ||||
| ; commodity SYMBOL | ||||
| @ -865,20 +881,12 @@ the commodity symbol appears twice and should be the same in both places: | ||||
| ; thousands, lakhs and crores comma-separated, | ||||
| ; period as decimal point, and two decimal places. | ||||
| commodity INR | ||||
|   format INR 9,99,99,999.00 | ||||
|   format INR 1,00,00,000.00 | ||||
| ``` | ||||
| 
 | ||||
| Declaring commodites may be useful as documentation, | ||||
| but currently we do not enforce that only declared commodities may be used. | ||||
| This directive is mainly useful for customising the preferred display format for a commodity. | ||||
| 
 | ||||
| Normally the display format is inferred from journal entries, but this can be unpredictable;  | ||||
| declaring it with a commodity directive overrides this and removes ambiguity.  | ||||
| Towards this end, amounts in commodity directives must always be written with a decimal point  | ||||
| (a period or comma, followed by 0 or more decimal digits).  | ||||
| 
 | ||||
| Commodity directives do not affect how amounts are parsed; | ||||
| the parser will read multiple formats. | ||||
| The quantity of the amount does not matter; only the format is | ||||
| significant. The number must include a decimal mark: either a period | ||||
| or a comma, followed by 0 or more decimal digits. | ||||
| 
 | ||||
| ### Default commodity | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user