A parameter is a question put to the person composing the document, before anything is composed. The answer is available in the template and in the queries as `$P{<code>}`; see [[Parameter value]]. Parameters are what make one template serve many documents: the template says "the projects of this product group" and the parameter decides which product group. ## Properties - "Code": how the parameter is identified, and what `$P{...}` names. - "Description": the question as the user reads it. - "Default value": the answer offered to start with. - "Mandatory": whether an answer is required before the document can be composed. - "Display": whether the parameter is shown at all. A parameter which is not shown takes its default value, which is how a fixed choice is kept out of the user's way. - "Sorting order": the order in which the questions appear. ## A List of Allowed Answers A parameter may offer the answers instead of leaving them to be typed, which removes a whole class of mistakes. The list is itself a query on the connected platform: - "List source": the object the answers come from. - "List code field": the column holding the value which ends up in `$P{...}`. - "List value field": the column holding what the user reads. - "List where clause": which rows are offered. - "List sort expression": in which order they are offered. - "Minimum number of characters before fetching": how much the user must type before the list is fetched. On a list of a few dozen entries this is left at nothing; on a list of tens of thousands it keeps the product from fetching them all at every keystroke. The distinction between the code field and the value field is the usual one: the user chooses a name and the template receives the code belonging to it.