Formatted Strings
Text strings can be formatted to include additional elements by
using the @ symbol at the beginning of the string to be
formatted.
At the point where the formatting is to be inserted use the @
symbol again and enclose the formatting within brackets ().
Examples
Formatted String  Meaning 

@"Thank you for submitting your
order, number @(
DWVariableOrderNumber)"  Returns: "Thank you for submitting your order, number
12345" The value 12345 is calculated from the variable OrderNumber. 
@"The overall height will be @(HeightReturn +
2*DWVariableClearance)mm and the overall width will be
@(DWVariableUnitAWidth + DWVariableUnitBWidth)mm"  Returns: "The overall height will be 2187mm and the overall
width will be 1675mm" The value 2187 is calculated from the value of the Height
control added to 2 * the variable Clearance. The value 1675 is calculated from the sum of the variables
UnitAWidth and UnitBWidth 
VariableSumMultiplyVariableSumMultiply
Adds the product of the variables that match the given name
within the given category.
Syntax
VariableSumMultiply( [Category Path], [Variable
Filter 1], [Variable Filter 2] )
Category Path is the path to the category whose variables will
be processed, nested categories can be separated with the
backslash.
Variable Filter 1 is a string which will be used to match
variables.
Variable Filter 2 is a string which will be used to match
variables.
Examples
Rule  Meaning 

VariableSumMultiply("Quote\LineItem","*UnitPrice","*Qty")  Will multiply all variables, in the Quote\LineItem category,
ending in
UnitPrice with those ending in
Qty 
VariableSumVariableSum
Adds all variables within a category that match the given
name.
Syntax
VariableSum( [Category Path], [Variable Filter]
)
Category Path is the path to the category whose variables will
be processed, nested categories can be separated with the
backslash.
Variable Filter is a string which will be used to match
variables.
Examples
Rule  Meaning 

VariableSum("Quote\LineItem","*
TotalPrice")  Will add all variables, in the Quote\LineItem category, ending
in
TotalPrice 
VariableGetUniqueNumberVariableGetUniqueNumber
Gets a unique number for a variable which belongs to a sequence
of variables.
Syntax
VariableGetUniqueNumber( [Variable Prefix],
[Variable Suffix], [Variable Index] )
Variable Prefix is the name of the variable that appears before
its number.
Variable Suffix is the name of the variable that appears after
its number.
Variable Index is the number of the variable for which to
calculate the unique number.
The sequence of numbers used in the variable names must run
consecutively, without any numbers being skipped.
Variable Prefix and Suffix values are not case sensitive.
Variables that result in text strings are also not case
sensitive.
This function will search in all categories and
subcategories for variables that match the specified prefix and
suffix values.
Examples  Using Variable Prefix
Refer to Variable Names table below
Rule  Result  Why? 

VariableGetUniqueNumber("Var","",
1)  1  Because "Hello" is the
first unique value in the sequence of variables running from Var1
to Var
1 
VariableGetUniqueNumber("Var","",
2)  2  Because "World" is the
second unique value in the sequence of variables running from Var1
to Var
2 
VariableGetUniqueNumber("Var","",
3)  1  Because "Hello" was
already assigned the number 1 in the sequence of variables running
from Var1 to Var
3 
VariableGetUniqueNumber("Var","",
4)  3  Because "John" is the
third unique value in the sequence of variables running from Var1
to Var
4 
Example Variables
Variable Name  Value 

Var1  "Hello" 
Var2  "World" 
Var3  "Hello" 
Var4  "John" 
Examples  Using Variable Prefix and Suffix
Refer to Variable Names table below
Rule  Result  Why? 

VariableGetUniqueNumber("Item","Qty",
1)  1  Because 8 is the first
unique value in the sequence of variables running from Var1 to Var
1 
VariableGetUniqueNumber("Item","Qty",
3)  3  Because 18 is the third
unique value in the sequence of variables running from Var1 to Var
3 
VariableGetUniqueNumber("Item","Qty",
4)  2  Because 12 was already
assigned the number 2 in the sequence of variables running from
Var1 to Var
4 
VariableGetUniqueNumber("Item","Qty",
5)  4  Because 27 is the fourth
unique value in the sequence of variables running from Var1 to Var
5 
Example Variables
Variable Name  Value 

Item1Qty  8 
Item2Qty  12 
Item3Qty  18 
Item4Qty  12 
Item5Qty  27 
IndirectIndirect
Evaluates the result of a rule provided as a string
Syntax
INDIRECT( [String] )
String is the rule to evaluate.
Examples
Rule  Meaning 

INDIRECT("DWVariableQuoteItem" &
ItemReturn)  When ItemReturn results in
2 the result will be the value of the variable
DWVariableQuoteItem
2 
INDIRECT("IF(DWVariableQuoteItem" & ItemReturn
&"<2,""A"",""B"")")  Will evaluate the result of the variable DWVariableQuoteItem
3 (When ItemReturn results in
3) and return A if it is less than 2 otherwise
will return B. 
TableAverageTableAverage
Gets the average of the values in a column of the given
table.
Syntax
TableAverage( [Table], [
Column Index])
Table is the table that is to be filtered.
Column Index is the column number the Condition is to be applied
to.
Examples
Rule  Meaning 

TableAverage(DwLookup
Items,
4)  Gets the average of the values in column
4 of the
Items table (below), result will be 482.08 
Sample Data Table
Items Table
Item  Width  Position  Cost 

Single Drawer Unit  600  Rear Wall  330 
Double Drawer Unit  900  Rear Wall  495 
Single Cupboard Full  600  Rear Wall  280 
Double Cupboard Full  900  Rear Wall  440 
Single Cupboard with Drawer  600  Left Wall  300 
Double Cupboard with Drawer  1200  Left Wall  600 
Cupboard Left Drawer Right  1200  Left Wall  610 
Cupboard Right Drawer Left  1200  Left Wall  610 
Single Cupboard with Drawer  600  Right Wall  300 
Double Cupboard with Drawer  1200  Right Wall  600 
Cupboard Left Drawer Right  1200  Right Wall  610 
Cupboard Right Drawer Left  1200  Right Wall  610 
TableFilterTableFilter
Eliminates nonmatching values from the table that meet the
given condition.
Syntax
TableFilter( [Table], [
Column Index
], [Condition] )
Table is the table that is to be filtered.
Column Index is the column number the Condition is to be applied
to.
Condition is the search condition that when matched will filter
the table.
Examples
Rule  Meaning 

TableFilter(DwLookup
Items,
2,"
>900")  Filters the table to show only the values where column
2 (Width), of the
Items table (below), is
greater than 900. Will result in: {"Item","Width","Position","Cost";"Double Cupboard with
Drawer","1200","Left Wall","600";"Cupboard Left Drawer
Right","1200","Left Wall","610";"Cupboard Right Drawer
Left","1200","Left Wall","610";"Double Cupboard with
Drawer","1200","Right Wall","600";"Cupboard Left Drawer
Right","1200","Right Wall","610";"Cupboard Right Drawer
Left","1200","Right Wall","610"} 
Sample Data Table
Items Table
Item  Width  Position  Cost 

Single Drawer Unit  600  Rear Wall  330 
Double Drawer Unit  900  Rear Wall  495 
Single Cupboard Full  600  Rear Wall  280 
Double Cupboard Full  900  Rear Wall  440 
Single Cupboard with Drawer  600  Left Wall  300 
Double Cupboard with Drawer  1200  Left Wall  600 
Cupboard Left Drawer Right  1200  Left Wall  610 
Cupboard Right Drawer Left  1200  Left Wall  610 
Single Cupboard with Drawer  600  Right Wall  300 
Double Cupboard with Drawer  1200  Right Wall  600 
Cupboard Left Drawer Right  1200  Right Wall  610 
Cupboard Right Drawer Left  1200  Right Wall  610 
TableDistinctTableDistinct
Eliminates nondistinct values in the table.
Syntax
TableDistinct( [Table], [
Column Index
], )
Table is the table that is to be filtered.
Column Index is the column number the Condition is to be applied
to.
Examples
Rule  Meaning 

TableDistinct(DwLookup
Items,
2)  Filters the table to show only the distinct values from column
2 (Width), of the
Items table (below). Will result in: {"Item","Width","Position","Cost";"Single Drawer
Unit","600","Rear Wall","330";"Double Drawer Unit","900","Rear
Wall","495";"Double Cupboard with Drawer","1200","Left
Wall","600"} 
Sample Data Table
Items Table
Item  Width  Position  Cost 

Single Drawer Unit  600  Rear Wall  330 
Double Drawer Unit  900  Rear Wall  495 
Single Cupboard Full  600  Rear Wall  280 
Double Cupboard Full  900  Rear Wall  440 
Single Cupboard with Drawer  600  Left Wall  300 
Double Cupboard with Drawer  1200  Left Wall  600 
Cupboard Left Drawer Right  1200  Left Wall  610 
Cupboard Right Drawer Left  1200  Left Wall  610 
Single Cupboard with Drawer  600  Right Wall  300 
Double Cupboard with Drawer  1200  Right Wall  600 
Cupboard Left Drawer Right  1200  Right Wall  610 
Cupboard Right Drawer Left  1200  Right Wall  610 
TableMaxTableMax
Gets the row containing the maximum of the values in a column of
the given table.
Syntax
TableMax( [Table], [
Column Index
], )
Table is the table that is to be filtered.
Column Index is the column number the Condition is to be applied
to.
Examples
Rule  Meaning 

TableMax(DwLookup
Items,4)  Gets the first row to be found with the largest value in column
4 (Cost), of the
Items table (below). Will result in: {"Cupboard Left Drawer Right","1200","Left Wall","610"} 
Sample Data Table
Items Table
Item  Width  Position  Cost 

Single Drawer Unit  600  Rear Wall  330 
Double Drawer Unit  900  Rear Wall  495 
Single Cupboard Full  600  Rear Wall  280 
Double Cupboard Full  900  Rear Wall  440 
Single Cupboard with Drawer  600  Left Wall  300 
Double Cupboard with Drawer  1200  Left Wall  600 
Cupboard Left Drawer Right  1200  Left Wall  610 
Cupboard Right Drawer Left  1200  Left Wall  610 
Single Cupboard with Drawer  600  Right Wall  300 
Double Cupboard with Drawer  1200  Right Wall  600 
Cupboard Left Drawer Right  1200  Right Wall  610 
Cupboard Right Drawer Left  1200  Right Wall  610 
TableMaxValueTableMaxValue
Gets the maximum value from a column in a table.
Syntax
TableMaxValue( [Table], [
Column Index
], )
Table is the table that is to be filtered.
Column Index is the column number the Condition is to be applied
to.
Examples
Rule  Meaning 

TableMaxValue(DwLookup
Items,4)  Gets the maximum value in column 4 (Cost), of the
Items table (below). Will result in: 610 
Sample Data Table
Items Table
Item  Width  Position  Cost 

Single Drawer Unit  600  Rear Wall  330 
Double Drawer Unit  900  Rear Wall  495 
Single Cupboard Full  600  Rear Wall  280 
Double Cupboard Full  900  Rear Wall  440 
Single Cupboard with Drawer  600  Left Wall  300 
Double Cupboard with Drawer  1200  Left Wall  600 
Cupboard Left Drawer Right  1200  Left Wall  610 
Cupboard Right Drawer Left  1200  Left Wall  610 
Single Cupboard with Drawer  600  Right Wall  300 
Double Cupboard with Drawer  1200  Right Wall  600 
Cupboard Left Drawer Right  1200  Right Wall  610 
Cupboard Right Drawer Left  1200  Right Wall  610 
TableMinTableMin
Gets the row containing the minimum of the values in a column of
the given table.
Syntax
TableMin( [Table], [
Column Index
], )
Table is the table that is to be filtered.
Column Index is the column number the Condition is to be applied
to.
Examples
Rule  Meaning 

TableMin(DwLookup
Items,4)  Gets the first row to be found with the smallest value in column
4 (Cost), of the
Items table (below). Will result in: {"Single Cupboard Full","600","Rear Wall","280"} 
Sample Data Table
Items Table
Item  Width  Position  Cost 

Single Drawer Unit  600  Rear Wall  330 
Double Drawer Unit  900  Rear Wall  495 
Single Cupboard Full  600  Rear Wall  280 
Double Cupboard Full  900  Rear Wall  440 
Single Cupboard with Drawer  600  Left Wall  300 
Double Cupboard with Drawer  1200  Left Wall  600 
Cupboard Left Drawer Right  1200  Left Wall  610 
Cupboard Right Drawer Left  1200  Left Wall  610 
Single Cupboard with Drawer  600  Right Wall  300 
Double Cupboard with Drawer  1200  Right Wall  600 
Cupboard Left Drawer Right  1200  Right Wall  610 
Cupboard Right Drawer Left  1200  Right Wall  610 
TableMinValueTableMinValue
Gets the minimum value from a column in a table.
Syntax
TableMinValue( [Table], [
Column Index
], )
Table is the table that is to be filtered.
Column Index is the column number the Condition is to be applied
to.
Examples
Rule  Meaning 

TableMinValue(DwLookup
Items,4)  Gets the minimum value in column 4 (Cost), of the
Items table (below). Will result in: 280 
Sample Data Table
Items Table
Item  Width  Position  Cost 

Single Drawer Unit  600  Rear Wall  330 
Double Drawer Unit  900  Rear Wall  495 
Single Cupboard Full  600  Rear Wall  280 
Double Cupboard Full  900  Rear Wall  440 
Single Cupboard with Drawer  600  Left Wall  300 
Double Cupboard with Drawer  1200  Left Wall  600 
Cupboard Left Drawer Right  1200  Left Wall  610 
Cupboard Right Drawer Left  1200  Left Wall  610 
Single Cupboard with Drawer  600  Right Wall  300 
Double Cupboard with Drawer  1200  Right Wall  600 
Cupboard Left Drawer Right  1200  Right Wall  610 
Cupboard Right Drawer Left  1200  Right Wall  610 
TableSumTableSum
Gets the sum of the values in a column of the given table.
Syntax
TableSum( [Table], [
Column Index])
Table is the table that is to be filtered.
Column Index is the column number the Condition is to be applied
to.
Examples
Rule  Meaning 

TableSum(DwLookup
Items,
4)  Gets the average of the values in column
4 of the
Items table (below), result will be 5785 
Sample Data Table
Items Table
Item  Width  Position  Cost 

Single Drawer Unit  600  Rear Wall  330 
Double Drawer Unit  900  Rear Wall  495 
Single Cupboard Full  600  Rear Wall  280 
Double Cupboard Full  900  Rear Wall  440 
Single Cupboard with Drawer  600  Left Wall  300 
Double Cupboard with Drawer  1200  Left Wall  600 
Cupboard Left Drawer Right  1200  Left Wall  610 
Cupboard Right Drawer Left  1200  Left Wall  610 
Single Cupboard with Drawer  600  Right Wall  300 
Double Cupboard with Drawer  1200  Right Wall  600 
Cupboard Left Drawer Right  1200  Right Wall  610 
Cupboard Right Drawer Left  1200  Right Wall  610 
TableTransposeTableTranspose
Transposes (interchanges the columns and rows of) the given
table.
Syntax
TableTranspose( [Table]
)
Table is the table that is to be filtered.
Examples
Rule  Meaning 

TableTranspose(DwLookup
Items)  Inverts the example
Items table (shown below) so the data in column 1
becomes the data in row 1, and the data in row 1 become data in
column 1, resulting in: {"Item","Single Drawer Unit","Double Drawer Unit","Single
Cupboard Full","Double Cupboard Full","Single Cupboard with
Drawer","Double Cupboard with Drawer","Cupboard Left Drawer
Right","Cupboard Right Drawer Left","Single Cupboard with
Drawer","Double Cupboard with Drawer","Cupboard Left Drawer
Right","Cupboard Right Drawer
Left";"Width","600","900","600","900","600","1200","1200","1200","600","1200","1200","1200";"Position","Rear
Wall","Rear Wall","Rear Wall","Rear Wall","Left Wall","Left
Wall","Left Wall","Left Wall","Right Wall","Right Wall","Right
Wall","Right
Wall";"Cost","330","495","280","440","300","600","610","610","300","600","610","610"} 
Sample Data Table
Items Table
Item  Width  Position  Cost 

Single Drawer Unit  600  Rear Wall  330 
Double Drawer Unit  900  Rear Wall  495 
Single Cupboard Full  600  Rear Wall  280 
Double Cupboard Full  900  Rear Wall  440 
Single Cupboard with Drawer  600  Left Wall  300 
Double Cupboard with Drawer  1200  Left Wall  600 
Cupboard Left Drawer Right  1200  Left Wall  610 
Cupboard Right Drawer Left  1200  Left Wall  610 
Single Cupboard with Drawer  600  Right Wall  300 
Double Cupboard with Drawer  1200  Right Wall  600 
Cupboard Left Drawer Right  1200  Right Wall  610 
Cupboard Right Drawer Left  1200  Right Wall  610 
DWHLookupDWHLookup
Returns a value from a table corresponding to a match found in
the specified row.
Syntax
DWHLookup( [Value], [
Table Name], [
Lookup Row], [
Result Row Index], [
MatchType] )
Value is the value to be found.
Table Name is the table within which the value is to be
found.
Lookup Row is the number of the row containing the data to be
searched for.
Result Row Index is the number of the row containing the data to
be returned.
MatchType defines whether the match has to be exact (False) or
the nearest found (True).
Examples
Rule  Meaning 

DWHLookup(CarColourComboBoxReturn, Vehicles, 3, 2,
FALSE)  The function looks in the Vehicles table for a match, in the
third row of the table, to the value returned from the
CarColourComboBox. If a match is found, the function then looks up
to the second row and returns the value in the same column as the
match found. The user has also specified that the match needs to be
exact (denoted by the FALSE term). In this case, the Car Colour
selected in the combo box is "Blue", so the function returns
"Golf". 
Example Outcomes
Lookup  In  Lookup Row  Result Row Index  MatchType  Outcome 

"Blue"  Vehicles  3  2  False (Exact)  "Golf" 
"White"  Vehicles  3  1  False (Exact)  "Renault" 
26  People  3  2  True (Nearest)  "Dave Sharp" 
42  People  3  4  False (Exact)  "Female" 
Example Data
Vehicles Table
Make  Volkswagen  Ford  Renault  Mazda 

Model  Golf  Escort  Kangoo  2 

Colour  Blue  Red  White  Black 

People Table
Member ID  42  44  96  107  251 

Name  Dave Sharp  Joe Bloggs  Sandra Shield  Thomas Knight  Isabelle Jones 

Age  25  37  42  21  56 

Gender  Male  Male  Female  Male  Female 

HLookupHLookup
Returns a value from a table corresponding to a match found in
the first row.
Syntax
HLOOKUP( [
Value], [
TableName], [
RowIndex], [
MatchType] )
Value is the value to be found.
TableName is the table within which the Lookup value is to be
found.
RowIndex is the number of the row containing the data to be
returned.
MatchType defines whether the match has to be exact (False) or
the nearest found (True).
Examples
Rule  Meaning 

HLOOKUP(CarMakeComboBoxReturn, Vehicles, 2,
FALSE)  The function looks in the Vehicles table for a match, in the
first row of the table, to the value returned from the
CarMakeComboBox. If a match is found, the function then looks down
to the second column and returns the value in the same row as the
match found. The user has also specified that the match needs to be
exact (denoted by the FALSE term). In this case, the Car Make
selected in the combo box is "Volkswagen", so the function returns
"Golf". 
Example Outcomes
Value  TableName  RowIndex  MatchType  Outcome 

"Volkswagen"  Vehicles  2  False (Exact)  "Golf" 
"Mazda"  Vehicles  3  False (Exact)  "Black" 
43  People  2  True (Nearest)  "Dave Sharp" 
251  People  3  False (Exact)  56 
Example Data
Vehicles Table
Make  Volkswagen  Ford  Renault  Mazda 

Model  Golf  Escort  Kangoo  2 

Colour  Blue  Red  White  Black 

People Table
Member ID  42  44  96  107  251 

Name  Dave Sharp  Joe Bloggs  Sandra Shield  Thomas Knight  Isabelle Jones 

Age  25  37  42  21  56 

Gender  Male  Male  Female  Male  Female 

FsDirectoryExistsFsDirectoryExists
Returns TRUE if the specified directory location exists. FALSE
is returned if it does not.
An error string is returned if there are any problems checking
for existence.
Syntax
FsDirectoryExists( [Directory Location] )
Directory Location is the directory location to check. If a full
path is not specified the function will check for the location
relative to where the project is stored.
Examples
Rule  Meaning 

FsDirectoryExists("
E:\DriveWorks")  Will check to see if the location
E:\DriveWorks exists and return True if so. 
FsDirectoryExists("
\\DRIVEWORKSDATA\Specifications\" &
OrderNumberReturn)  Will check to see if the location
\\DRIVEWORKSDATA\Specifications, combined with
the result of the control
OrderNumberReturn, exists and return True if
so. 
FsFileExistsFsFileExists
Returns TRUE if the specified file location exists. FALSE is
returned if it does not.
An error string is returned if there are any problems checking
for existence.
Syntax
FsFileExists( [File Location] )
File Location is the file location to check. If a full path is
not specified the function will check for the location relative to
where the project is stored.
Examples
Rule  Meaning 

FsFileExists("
E:\DriveWorks\DataSheets\Product.pdf")  Will check to see if the file
E:\DriveWorks\DataSheets\Product.pdf exists and
return True if so. 
FsFileExists("
\\DRIVEWORKSDATA\Specifications\" & OrderNumberReturn
& "\Quote.doc")  Will check to see if the file
\\DRIVEWORKSDATA\Specifications, combined with
the result of the control
OrderNumberReturn and
\Quote.doc, exists and return True if so. 
MyNameMyName
Gets the name assigned to the owner of the rule.
Syntax
MyName()
Examples
Rule  Meaning 

Data and Form Controls  see How To: reference Control Properties. 

MyName()  When applied to a variable named TotalCost will result in DWVariableTotalCost 
MyName()  When applied to a dynamic form control property the result will be the name of the control followed by the property name, for example:  ControlNameEnabled
 ControlNameVisible
 ControlNameError
 ControlNameMin
 ControlNameMax
 ControlNameListData
 ControlName.Width

Model Rules  see Model Rules General. 

MyName()  When applied to a default parameter the result will be:
 ParentName\ChildName\Name (for File Name)
 ParentName\ChildName\Path (for Relative Path)
 ParentName\ChildName\Configuration (for Configuration)
For example: My Assembly\My Part\Path 
MyName()  When applied to a captured dimension the result will be:
ParentName\ChildName\CapturedDimensionName For example: My Assembly\My Part\Length 
MyName()  When applied to a captured feature the result will be:
ParentName\ChildName\CapturedFeatureName\SuppressionState For example: My Assembly\My Part\Boss\SuppressionState 
MyName()  When applied to a captured custom property the result will be:
ParentName\ChildName\CustomPropertyname For example: My Assembly\My Part\Date 
MyName()  When applied to a captured instance the result will be:
ParentName\ChildName\PartNameInstanceNumber For example: My Assembly\My Part\MyPart2 
Drawing Rules  see Drawing Rules General. 

MyName()  When applied to a default parameter the result will be:
 ParentName\ChildName\DrawingName\Name (for File Name)
 ParentName\ChildName\DrawingName\Path (for Relative Path)
For example: My Assembly\My Part\My Drawing\Path 
GetNumericSuffixGetNumericSuffix
Gets the numeric suffix from a piece of text.
Syntax
GetNumericSuffix( [Text] )
Text is the text from which to get the numeric suffix.
Examples
Rule  Meaning 

GetNumericSuffix(MyName())  When applied to a variable named LineItem1 will return the
number 1 as being the numeric suffix 
IsErrorStringIsErrorString
Returns TRUE if the specified value is an error string.
Otherwise FALSE will be returned.
Syntax
ISERRORSTRING( [Value] )
Value is the value to check
Examples
Rule  Meaning 

IsErrorString(DWVariableCustomerNames)  Will check the variable CustomerNames for an error string and
report True if the value is reporting an error. 
IsErrorString("#DBCONNECT! (""Could not connect to
server"")")  Returns True as #DBCONNECT! ("Could not connect to server") is
a valid error string. 
HashMD5HashMD5
Computes the MD5 hash of the specified value and returns it in
hexadecimal.
Syntax
HASHMD5( [Value] )
Where Value is the value to compute the MD5 hash from.
Examples
Rule  Meaning 

HashMD5("My text to hash")  Returns a hexadecimal value from the MD5 hash of the text My
text to hash. 
HashMD5(123456)  Returns a hexadecimal value from the MD5 hash of the number
123456 after first converting it to text. 
HashMD5(DWCurrentUserPassword)  Returns a hexadecimal value from the MD5 hash of the special
variable DWCurrentUserPassword. 
HashSHA1HashSHA1
Computes the SHA1 hash of the specified value and returns it in
hexadecimal.
Syntax
HASHSHA1( [Value] )
Where Value is the value to compute the SHA1 hash from.
Examples
Rule  Meaning 

HashSHA1("My text to hash")  Returns a hexadecimal value from the SHA1 hash of the text My
text to hash. 
HashSHA1(123456)  Returns a hexadecimal value from the SHA1 hash of the number
123456 after first converting it to text. 
HashSHA1(DWCurrentUserPassword)  Returns a hexadecimal value from the SHA1 hash of the special
variable DWCurrentUserPassword. 