# Creating Date Rows

Dates include month, day and year. As with other types, dates include labels and variables. The default value is either a defined date or, if not included, today's date and set automatically. In addition dates can have optional equations, keywords and they can chain calculate.## Date Basics

This is the basic structure of a date row:**"Label" "D" variable:equation ::**

**"Label"**

Text label displayed to the template's user. This is not used in an equation (variables are). This can be a single word (i.e. Periods) or multiple words (i.e., "Present Value"). If multiple words it must be in quotation marks. (details here)

**"D"**

This letter indicates that this row is a date type.

**Variable**

Reference name for the row. This variable must be unique for each row. (details here)

**Colon [:]**

Separates the variable from equation. If there is no equation then the colon should be eliminated as well.

**Equation**

Formula to calculate. The equation is optional and separated from the variable by the single colon (:) indicated above. Not all rows require equations nor do all rows have to have the same equation. While simple templates require both a left and right side of the equation, advanced templates do not require both sides (and thus don't require an = symbol). If only one side is provided, it is assumed that the left side is "variable =" (no quotes). If both sides are included then the variable to be calculated can be anywhere within the equation. (details here)

**Double-Colon [::]**

Indicates the end of the row. This is optional for the template's final row.

## Default Dates

All date rows receive a default value. As defined above, the default is not given so today's date is assumed. Alternatively a default date can be included:**"D[default]"**variable:equation ::

## Keywords

Keywords help define special characteristics of the row. Options include:**readonly noequals noclear noemail**variable:equation ::

You can include all four, no keywords or a combination of them.

readonly is used to keep the template user from entering data in a row. Read-only rows appear in beige (instead of gray). Selection in a read-only number row is ignored.

noequals hides the equals buttons. The equals button appears on a row where a formula is defined. Sometimes the equals button is not required as the calculation of a row is automatically triggered by the calculation of another row. For instance Difference in the Discount template is automatically calculated when any of the other variables are calculated. (noequals and hideequals do the same thing.)

noclear retains the last entered number when a new template is requested. It is a simple way of allowing the user to define a Setting within the template.

noemail is used to exclude the row from email messages. Usually this is used on rows that add no value to the email receiver. For instance all simple templates exclude decSetting row, added automatically, from any sent messages.

## Chain Calculations

Most templates are smart enough to auto calculate. When enough data is filled in, auto calculate will perform the remaining computations. Sometimes, however, the template needs a little help. This is where chain calculation comes in. Chain calculation is a statement to the template that says, when you are done calculating this row, calculate this other row next:**chain**:equation ::

Chain is an optional component. In place of the word "chain", enter the variable you wish to calculate next. See the Auto Calculate, Chaining & Defaults section for details.